【ビットコイン】1ブロックに含まれる情報について調べてみた【マークル木】
ビットコインなどの仮想通貨では、トランザクション(取引)の束を「ブロック」という単位で扱い、「ブロック」をつなげたものを「ブロックチェーン」と呼び、1つの公開台帳として管理しています。
今回は、ビットコインにおいて、1つの「ブロック」の中にどのような情報が入っていて、また、どのように「ブロック」が管理されているかを調べてみました。
ビットコインのブロックチェーンにおいて、各ブロックには、以下の3つの情報が含まれています。
- 1つ前のブロックヘッダーのハッシュ値(Hash Value)
- トランザクションデータ(マークル木)
- ナンス(Nonce)
Contents
1つ前のブロックヘッダーのハッシュ値
サトシ・ナカモトの論文によると、ビットコインの1ブロックは以下のような構造になっています。
ブロック(Block)の中にブロックヘッダー(Block Header)という部分があると思います。このブロックヘッダー部分には、
- Prev Hash(1つ前のブロックヘッダーのハッシュ値)
- Nonce(ナンス)
- Root Hash(マークル木のルート)
の3つの値が入っています。
注意する点は、ブロックヘッダーにはマークル木(複数のトランザクションの束)のルートのハッシュ値のみが含まれていることです(マークル木全体は含まれていない)。
そして、Prev Hash(1つ前のブロックヘッダーのハッシュ値)は、ブロック全体ではなく、ブロックヘッダーのハッシュ値になります。
トランザクションデータ(マークル木)
次は、トランザクションデータを管理しているマークル木について説明します。
マークル木(Merkle tree)とは、ハッシュ木とも呼ばれ、「ハッシュ値を用いて、大きなデータの要約結果を格納する木構造」のことです。
英語版ウィキペディアのDavidgothbergさん – en.wikipedia からコモンズに AzertyFab が CommonsHelper を用いて移動されました。, パブリック・ドメイン, リンクによる
各データ(Data block)を、ハッシュ値(Hash)の変換し、それぞれのペアでハッシュ値を足し合わせて新たなハッシュ値(Hash0, Hash1)に置き換えることによって要約していきます。
繰り返し要約を行っていくことにより、最終的に1つのハッシュ値(Top hash)を得ることができます。
ビットコインの場合、各データ(Data block)が1つのトランザクション(取引)となり、最終的に得られるハッシュ値(Top hash)がブロックヘッダーに含まれる Root Hash(マークル木のルート)に相当します。
ナンス(Nonce)
ビットコインでは、トランザクション(取引)の承認は各ブロック単位で行われます。
承認の仕組みとして「プルーフ・オブ・ワーク(Proof of Work)」という、労働(CPUの計算)により発言権を与えられることになっています。
ナンスとは、PoW(労働) の成果の結果を証明するための値となります。
関連記事
-
【イーサリアム】 チューリング完全性について調べてみた。
仮想通貨の1つであるイーサリアムについて調べていると、チューリング完全性(Turing co
-
【MetaMask】イーサリアムのウォレットを使ってみた【テスト環境】
今回、イーサリアムのウォレットの1つである MetaMask(メタマスク)を使って、テストブ
-
【仮想通貨】新しいトランザクション(取引)の追加方法【ブロックチェーン】
仮想通貨で用いられているブロックチェーン技術において、新しいトランザクション(取引)をどのよ
-
【仮想通貨】デジタル署名と公開鍵暗号の違いは!?
ビットコインなどの仮想通貨のブロックチェーン技術で用いられている「デジタル署名」「公開鍵暗号
-
【イーサリアム】 ホリエモンが2014年当時にイーサリアムの可能性に気付いていた!?
ホリエモンこと堀江氏が、2014年の自身のブログで「イーサリアムやべぇ。。。」というタイトル
-
【仮想通貨】トランザクションについて調べてみた【ブロックチェーン】
ビットコインなどの仮想通貨では、取引をトランザクションで記述されます。 そのトランザク
-
【ビットコイン】 アドレス生成方法について調べてみた。
仮想通貨の1つであるビットコインを送金するときは、送付側と受け手側のそれぞれのアドレスが必要
-
【仮想通貨】デジタル署名について調べてみた【ブロックチェーン】
ビットコインなどの仮想通貨のブロックチェーンで用いられているデジタル署名(Digital s
-
【イーサリアム】日本円のチャートで比較する方法【イーサリアム・クラシック】
イーサリアム(Ethereum)は、2020年時点で、時価総額がビットコインに次ぐ第2位の仮
-
【ビットコイン】承認されたブロックを見てみる【ブロックチェーン】
ビットコイン(BitCoin)の公開台帳であるブロックチェーンについて、新たに承認されたブロ