ビットコインブロックの構造
ビットコインのブロックの構造のまとめ
ブロック構造
サイズ | フィールド名 | 説明 |
---|---|---|
4バイト | Block Size | この次のフィールドからブロックの最後までのデータサイズ(バイト単位) |
80バイト | Block Header | nonceなどいくつかのフィールドがこのヘッダフィールドに含まれる |
1-9バイト | Transaction Counter | ブロックに含まれるトランザクション数 |
可変 | Transactions | ブロックに記録されるトランザクションのリスト |
ブロックヘッダ(Block Header)
サイズ | フィールド名 | 説明 |
---|---|---|
4バイト | Version | ソフトウェア・プロトコルバージョン情報 |
32バイト | Previous Block Hash | 親ブロックのハッシュ値 |
32バイト | Merkle Root | ブロックの全トランザクションに対するマークルツリーのルートハッシュ |
4バイト | TimeStamp | ブロックの生成時刻 |
4バイト | Difficulty Target | ブロック生成時のproof of workのdifficulty |
4バイト | Nonce | proof of workで用いるカウンタ |
ブロックに関してメモ
ブロック識別子となるブロックハッシュは、「ブロック"ヘッダ"」に対しSHA256アルゴリズムを用いて2回ハッシュ化した値
ブロックには、自分自身のブロックハッシュをもっていない
もう一つの識別としては、一番最初に作られたブロックを0として順番にふられた「ブロック高」