ビットコインのブロックには数千件の取引が含まれることがありますが、ブロックヘッダーはわずか80バイトです。これほど小さなデータだけでブロック内のすべての取引を「ロック」できるのは、マークルツリーのおかげです。

記事で紹介したコイン:$BTC 価格 77,358.01(24時間 -0.61%)。

【どんな木なのか】

マークルツリーとは、大量のデータを2つずつハッシュ化し、階層ごとに上へまとめていくツリー構造です。最下層には各取引のハッシュが並びます。隣り合う2つのハッシュをつなげて再びハッシュ化すると、その上の階層ができます。これを上へ向かって繰り返し、最後に残る1つのハッシュをマークルルートと呼びます。

この構造は、暗号学者ラルフ・マークル(Ralph Merkle)の名前にちなんで名付けられました。提唱されたのは1970年代後半で、ブロックチェーンよりずっと前のことです。

【なぜ改ざんできないのか】

ビットコインのブロックヘッダーには、マークルルートが記録されています。ブロック内の取引が1件でも変更されると、そのハッシュが変わります。その変化は上へと伝わってマークルルートが変わり、ブロックハッシュも変わるため、その後のブロックとの整合性が取れなくなります。

つまり、ブロックヘッダーにあるこの1つのハッシュを確認するだけで、ブロック内のすべての取引を確認できるのです。

【ライトウォレットはどうやって取引を検証するのか】

ある取引が特定のブロックに含まれていることを証明するのに、ブロック全体は必要ありません。その取引からマークルルートまでの経路にある、少数のハッシュだけで十分です。取引数が2倍になっても、必要なハッシュは1つ増えるだけです。数千件の取引を含むブロックでも、十数個のハッシュで足ります。

ビットコインのホワイトペーパー第8節で説明されている簡易支払い検証(SPV)は、この仕組みを利用しています。ライトクライアントはブロックヘッダーだけを保存し、ノードからマークルパスを1つ受け取ることで、取引がブロックに取り込まれたことを確認できます。

【準備金証明での活用】

取引所の準備金証明にもマークルツリーが使われています。プラットフォームは全ユーザーの残高からマークルツリーを作成し、ルートハッシュを公開します。各ユーザーは自分に対応するパスを受け取ることで、他の人の明細を公開せずに、自分の残高が計上されているかを検証できます。

【ひと言でまとめると】

マークルツリーの考え方はとてもシンプルです。短いルートハッシュで、大量のデータを代表させます。この仕組みがあるからこそ、スマートフォンのウォレットや準備金証明などが実現できます。相場には常に不確実性があります。判断を誤ったときにどうするか、あらかじめ考えておきましょう。

参考になったら保存して、あとで見返してください。