Interactive
マークル木可視化
8件のダミー取引データから、本物のSHA-256(Web Crypto API)でリーフのハッシュを計算し、 2個ずつペアで結合しながらルートハッシュまで積み上げます。 1件のデータを1文字でも編集すると、そのハッシュから根まで一直線に変化が伝播する様子が見えます。 リーフをクリックすれば、そのデータの実在を証明する最小限のハッシュ(Merkle Proof)も確認できます。
ルートハッシュ
計算中…
ハッシュ計算中…
取引データ(リーフ)— 編集するとルートまで変化が伝わります
leaf 0
leaf 1
leaf 2
leaf 3
leaf 4
leaf 5
leaf 6
leaf 7
上の leaf ノードをクリックすると、そのデータがツリーに含まれることを証明する最小限のハッシュ(Merkle Proof)が緑色でハイライトされます。
ハッシュは実際のSHA-256(Web Crypto API)で計算しています。リーフを1文字でも変更すると、そのハッシュから根まで一直線に変化が伝播し、ルートハッシュが別物になります—— 「1データの改ざんが、たった1個の値(ルートハッシュ)の比較で検出できる」のがマークル木の核心です。
ここが分かる
- マークル木は、大量のデータの整合性をたった1つのルートハッシュの比較で検証できるようにする構造。全データを再送・再比較する必要がない。
- 1件の改ざんは、そのリーフから根までの経路上のすべてのハッシュを変える。逆に言えば、経路の外側のハッシュは一切変わらない——だから改ざん範囲が経路だけに限定できる。
- ある1件がツリーに含まれることを証明するのに、全データではなくlog₂(件数)個の兄弟ハッシュ(Merkle Proof)だけで足りる。ビットコインの軽量クライアント(SPV)やgitのオブジェクト整合性検証がこの性質を利用している。