[解決済み】なぜGitは「ブロックチェーン」と見なされないのですか?
質問
Gitの内部データ構造は、データ・オブジェクトのツリーであり、各オブジェクトはその前任者を指すだけである。各データ・ブロックはハッシュ化されています。中間ブロックを修正(ビット・エラーや攻撃)すると、保存されたハッシュと実際のハッシュが乖離したときに気づかれます。
ブロックチェーンとどう違うのですか?
Gitはブロックチェーンの例として挙げられていませんが、少なくとも要約では、どちらのデータ構造の記述も、データブロック、単一方向の逆リンク、ハッシュ、...)というように似ています。
では、Gitがブロック・チェーンと呼ばれないのは、どこが違うのでしょうか?
解決方法は?
質問の内容はこうです。 なぜGitは「ブロックチェーン」とみなされないのですか? つまりこれは、Gitはブロックチェーンではないという意見が広まっていると主張し(このページで私の回答に先行する回答によって、その主張が図示され裏付けられています)、この意見が広まっている理由を尋ねているのです。これは良い質問です。
質問を文字通りに解釈すると、ブロックチェーンという言葉や概念は、「ビットコイン」というデジタル通貨事業の一部として広まり、その結果、ビットコインのやり方と関連付けられるようになったという答えになるでしょう。それは、特定の任意の要件を満たすためにnonceを含む特定のハッシュを計算するために多くの計算能力を使うことであり、それは、中央の権威を持たないとされ、それは「独立」であり、おそらく「民主的」であり、その他諸々の補助食品であり、これらのことはGitでは見られないので、Gitはブロックチェーンではありえないのですね?ということで、この質問は文字通りの答えになります。
この一応の疑問の裏には、もう一つの疑問が隠されている。ブロックチェーンとは何なのか?今、あなたは 定義 があるため、ここではそれをコピーして使っています。 決心した 何年も前に、ブロックチェーンという新しい概念を説明しようとするビットコインに関するポッドキャストを聞いたとき、次のように思いました。 ブロックチェーンはGitのように機能する ネット上の妄言に惑わされることなく、自分の大切な理解を深めていきたいと思っています。
では、ブロックチェーンとは何でしょうか?この言葉には何が含まれているのでしょうか?
ブロックチェーン」という用語は、コンテンツにnonceを含めることで、先頭のゼロを何個も重ねたハッシュを生成することを前提にしていない。(この要件は、コンピューティングパワーによって、つまり最終的にはお金によってブロックチェーンをコントロールできるようにするためにのみ存在するのです)。
ブロックチェーンという言葉には、分散型はもとより、ネットワークの存在を前提としたものがない。
ブロックチェーン」という言葉は、「中央の権威」からの「独立性」を何ら前提としていない。
ブロックチェーン」という言葉は、(データの)ブロックが連鎖していることだけを前提にしています。さて、チェーンとは何でしょうか?単なるリンクでしょうか?いいえ、それは 強い 物事を力強く結びつけるために設計されたリンクです。
なぜなら、リスト内のデータの塊の内容が変更されても、リストは問題なくリンクし続けることができるからです。これはチェーンがどのように機能するかということではありません。
を作るには リンク のデータブロックを チェーン このチェックサム(ダイジェスト)はリンクの一部であり、コンテンツを保護し、改ざんを防止する強力なリンクとなります。これがブロックチェーンである。
そしてこれが、Gitが行っていることです。したがって、Gitはブロックチェーンであり、お望みであれば、ブロックチェーンとして機能します。
輪を閉じるために、もう一度問おう。 なぜGitは「ブロックチェーン」とみなされないのでしょうか? それは、多くの人が、おそらく大多数が、概念の本質に注目せず、点滅に注目しているからかもしれません 事故 .
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Git で、ステージされていない変更を破棄するにはどうしたらいいですか?
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 現在のブランチのトラッキング情報がありません。
-
[解決済み】ファイルのアンリンクに失敗しました。もう一度試してみるべきですか?
-
[解決済み】なぜ「git commit」は私の変更を保存しないのですか?
-
[解決済み】ローカルに変更があるにもかかわらず、git pushが「すべて最新」と言う
-
[解決済み] git rebase fatal: 必要なリビジョンは1つです。
-
[解決済み】ローカルGitブランチとそのリモートブランチを比較する方法
-
[解決済み】gitの「not something we can merge」エラーの解決方法
-
[解決済み] git: fatal: リモートリポジトリから読み取れませんでした。
-
[解決済み] 複数のコミットをチェリーピックする方法
-
[解決済み] .gitignore と "以下の追跡されていない作業ツリーファイルはチェックアウトによって上書きされるでしょう"