Git が「ブロック チェーン」と見なされないのはなぜですか? 質問する

Git が「ブロック チェーン」と見なされないのはなぜですか? 質問する

Git の内部データ構造はデータ オブジェクトのツリーであり、各オブジェクトはその前のオブジェクトのみを指します。各データ ブロックはハッシュ化されます。中間ブロックの変更 (ビット エラーまたは攻撃) は、保存されたハッシュと実際のハッシュが異なる場合に検出されます。

この概念はブロック チェーンとどう違うのでしょうか。Git
はブロック チェーンの例として挙げられていませんが、少なくとも要約すると、両方のデータ構造の説明は似ています (データ ブロック、一方向逆リンク、ハッシュなど)。

では、Git がブロック チェーンと呼ばれないのはどこが違うのでしょうか?

ベストアンサー1

Gitとブロックチェーンが似ているように見えるのは、どちらもマークルの木を基礎データ構造として使用します。マークル ツリーは、各ノードにその内容の暗号ハッシュ値 (その子ノードのラベルを含む) でラベルが付けられているツリーです。

Git の有向非巡回グラフはまさにそれであり、各ノード (タグ、コミット、ツリー、または BLOB オブジェクト) にそのコンテンツのハッシュと「子」のラベルが付けられるマークル ツリーです。コミットの場合、「子」という用語は Git の親の理解と少し矛盾することに注意してください。親コミットはコミットの子であり、グラフはルートを変更することで成長し続けるツリーとして見るだけで済みます。

ブロックチェーンもこれに非常に似ています。ブロックチェーンも同様に成長を続け、データの整合性を確保するためにマークルツリーの特性も利用しています。しかし、通常、ブロックチェーンはマークルツリー以上のものとして理解されています。マークルツリーは、ブロックチェーンが他のブロックチェーンから分離しているものです。「愚かなコンテンツトラッカー」Gitたとえば、ブロックチェーンは通常、ブロック レベルで高度に分散化されたシステムを持つことも意味します (すべてのブロックが同じ場所にある必要はありません)。

ブロックチェーンを理解するのは少し難しいです (個人的には、まだすべてを理解するには程遠いですが) が、Git の内部を理解することは、マークル ツリーを理解するための良い方法であり、ブロックチェーンの基本的な部分を理解するのに間違いなく役立つと思います。

おすすめ記事