01Block Headerとは何でしょうか?
Block Header は厳密なシリアライズ構造で、その二重 SHA-256 がブロックハッシュになる。取引一覧や全取引の完全な有効性証明は含まない。
02六フィールドの正確な順序
Version(4 バイト)、前ヘッダーハッシュ(32)、Merkle root(32)、time(4)、nBits(4)、nonce(4)で計 80。数値は little-endian、ハッシュは通常の識別子の十六進表示と異なる内部バイト順を使う。 [Bitcoin Core v29.0: header serialization]
03目標と時刻には文脈が必要
nBits は目標のコンパクト符号で、表示難易度ではない。ノードはハッシュが目標以下か、その高さの目標が正しいかを検査する。時刻は前十一ブロックの中央値を超え未来時刻検査を通る必要がある。信頼できる支払い時刻や正確な採掘時間ではない。 [Bitcoin Core v29.0: header validation]
04ヘッダーが証明する範囲
nonce の変更は直接ハッシュを変え、coinbase の変更は Merkle root とヘッダーを変える。ヘッダー列で連結と作業を検査できる。スクリプト、使用出力、報酬などの規則には取引データと状態文脈が必要だ。 [Bitcoin Core v29.0: header validation]
↗文脈とともに読む
理解を深めるには、この項目とあわせて次もお読みください ブロック, Proof of Work, Merkle tree, Nonce. 次の項目からも参照されています ブロック, 暗号学的ハッシュ, SHA-256, Merkle tree.