ブロックヘッダとは

カテゴリ glossary

ブロックヘッダとは、ブロックを構成する要素のひとつです。

仮想通貨の取引情報を記録した情報が集まっている単位をブロックといいますが、このブロックに含まれるものです。

 

各ブロックは、元帳に追加していくトランザクション(取引)の集まりとブロックヘッダとで構成されています。

ブロックヘッダに入っているのは、主にそのブロック自身の情報です。

 

ビットコインのブロックチェーンの場合、1つのブロックを生成するのにはおよそ10分程度かかります。

ブロックヘッダには、そのブロックが生成される直前の10分間に行われた世界中のビットコイン取引情報で計算されたハッシュ値がまとめられた数値が記録されています。

 

仮想通貨の代表的存在であるビットコインの場合、ブロックヘッダに含まれているのは3種類のメタデータです。

 

一つ目は自身の情報としてもっとも重要なブロックハッシュ値です。

ひとつ前のブロックとつなぐチェーンの要素と考えてもいいでしょう。

SHA-256というハッシュ関数のアルゴリズムを用いて2回ハッシュ化(一定のフォーマットへ置換する不可逆の作業)し、その結果得られる32バイトの値です。

そのブロックに入るトランザクションのハッシュ値をハッシュ化の繰り返しによってつないでいき、最後に1つのハッシュ値にまとめたものが書き込まれます。

この情報により、前のブロックの続きだという証明がされます。

 

ビットコインのブロックのブロックヘッダに記録されているハッシュ値は、そのブロックを識別する記号として使われています。

その記号は単にそのブロックに付された記号というだけではなく、ブロックヘッダが改変されていないことを保証する意味も併せ持っています。

つまりそのブロックは改ざんされていない正しいブロックとしてチェーンにつながっていることを示すことになります。

 

二つ目は、マイニング(採掘)関連のメタデータです。

ブロック生成時のマイニングの難易度やタイムスタンプ、マイニングで使用するカウンタなどをさします。

 

ビットコインは1つのブロック生成に約10分程度かかるように設定されていますが、高性能のコンピューターが出現し、演算を超高速で終了させてしまうようになるとシステムが成り立たなくなります。

そういった高性能なコンピューターが使われても影響が出ないよう調整するために、マイニングの演算にかかる難易度を設定するデータを含んでいます。

 

タイムスタンプとは、そのブロックがつくられたとみられる時刻を示すものです。

そのブロックがつくられる前のトランザクションがいつ行われたかを判断できます。

 

三つ目は、そのブロック内にあるすべてのトランザクションを要約した情報です。圧縮された形になっており、特定の取引情報を容易に取り出すことができます。

投稿者

Liquid編集部(基礎)