用語集・ネットワーク

Merkle root

CloudMineCryptoチームより更新日

定義

マークルルートは、Bitcoinブロック内のすべての取引をまとめた1つのハッシュです。取引を2つずつハッシュ化し、そのハッシュ同士をさらにペアにして、最後に1つのハッシュにします。これはブロックヘッダーに保存されます。

ビットコインマイニング用語集の一部です。88個の用語を平易な言葉で解説しています。

マークルルートを作る

ヘッダー内のマークルルート

17b1344a79d1

ハッシュ 0+1

de80192c

ハッシュ 2+3

b87d4f25

取引 0

94e5fe9e

取引 1

c752a4cd

取引 2

934d1415

取引 3

3f172c5d

取引の「編集」をタップすると、そのハッシュ、ペアのハッシュ、マークルルートがすべて変わります。

実際のdouble SHA-256をブラウザで実行し、表示用に短縮しています。実際のブロックでは、文章ではなく取引データをハッシュ化します。

マークルルートはどう作られる?

まず、ブロック内のすべての取引IDを並べます。各IDは、それ自体がSHA-256を二重に適用したハッシュです。コインベース取引を先頭にして順番に並べ、隣り合うものをペアにしてハッシュ化します。ハッシュの数は半分になります。1つになるまで繰り返すと、マークルルートが完成します。

段に並ぶハッシュの数が奇数なら、最後のハッシュは自分自身とペアになります。取引内容をたった1 satoshi分変えただけでも、その取引から最上段までのハッシュはすべて変わり、マークルルートも変わります。上のデモで試してみてください。

なぜ大きなハッシュ1つではなく、ツリーにするの?

証明。取引がブロックに含まれていることを示すには、ブロック全体ではなく、その取引から枝分かれする経路上のハッシュだけで十分です。取引が約4,000件あるブロックでも、必要なのはそのうち12個だけで、データ量は数百バイトです。サトシのホワイトペーパーでは、この方法で支払いを検証し、ブロックヘッダーだけを保存する軽量ウォレットが説明されています。

マイニングでも重要です。マイナーがコインベース取引の追加ノンスを変えると、マークルルートも変わり、ブロックヘッダーには新たに試すノンスの組み合わせが用意されます。

出典

  1. Bitcoin: ピアツーピアの電子キャッシュシステム · Satoshi Nakamoto, 2008
  2. ブロックチェーンの参考情報:ヘッダー、マークルツリー、ターゲット · Bitcoin開発者ドキュメント
  3. マークルツリー · Bitcoin Wiki

このページのライブ数値はCloudMineCrypto APIと公開されているチェーンデータをもとにしており、定期的に更新されます。各数値の表示箇所にはその旨を記載しています。教育目的のみであり、金融アドバイスではありません。

マイニングの仕組みを見てみましょう。

Claim a free 8-hour mining plan in the CloudMineCrypto app and watch your estimated BTC tick up from live network data. Withdraw to your own wallet, Lightning included. Rewards are estimates.