ビットコインのブロックは数千のトランザクションを含み、約2メガバイトに達します。マイナーが実際に解こうとしているものは80バイトで、紙に手書きで書けるほどのものです。それ以外のすべては、この行に表現として含まれます。
この80バイトはヘッダーであり、6つのフィールドがあります。4バイトのバージョンは、ブロックがどのルールに従うかを示します。前のヘッダーのハッシュを含む32バイトは、チェーンをチェーンたらしめるものです。トランザクションを要約するマークルルートを含む32バイト。日付と時刻の4バイト。その時点での難易度ターゲットを示す4バイト。そして、マイナーが変える数値であるノンスを示す4バイトです。
マークルルートは注目に値します。なぜなら、数千のトランザクションを32バイトに収めることができるからです。この方法は1979年に特許を取得したラルフ・マークルによるもので、ペアリングによって機能します。各トランザクションのハッシュを計算し、ハッシュを2つずつ組み合わせて各ペアのハッシュを計算し、1つだけ残るまで繰り返します。この最後のものがルートです。どのトランザクションでも1サトシを変更すると、そのハッシュが変わり、ペアのハッシュが変わり、ルートまで全てが変わります。

この構造から大きなボーナスが生まれます。トランザクションがブロック内にあることを証明するために、ブロック全体を持つ必要はありません。その葉からルートまでのハッシュの経路だけで十分です。4,000のトランザクションを含むブロックでは、12のハッシュです。これが、携帯電話のウォレットがブロックチェーン全体をダウンロードせずに支払いを確認できる理由です。
さて、マイナーが行うことです。彼はブロックを組み立て、ルートを計算し、ヘッダーを埋めて80バイトのハッシュを計算します。結果がターゲットより小さければ、勝ちです。そうでなければ、ノンスを変更して再試行します。各試行は独立した賭けであり、近道はありません。これは、ハッシュ関数の一方向性が今度は抽選として使用されるのと同じです。
しかし、4バイトのノンスは40億以上の可能性を提供し、現代のマシンはそれを一瞬で使い果たします。終わったら、マイナーは新しい抽選を得るためにヘッダーの他の何かを変更する必要があります。彼は数秒間日付を調整し、特にブロックの最初のトランザクションを変更します。これは彼自身に報酬を支払うものです。そこに何かを変更すると、そのハッシュが変わり、マークルルートが変わり、新たに40億の試行が得られます。

この最初のトランザクションは他の面でも特別です。入力がなく、発行ルールに従って何もないところからコインを生成し、ブロックのすべての手数料も集めます。そして、マイナーが好きなことを書ける自由なフィールドがあります。サトシがジェネシスブロックに新聞の見出しを残したのはここであり、大手マイナーが今日まで生成したブロックに署名するのもここです。
マイナーが変更できないのは前のブロックのハッシュです。それは与えられたものであり、準備が整っており、新しいブロックをチェーンの正確な先端に固定します。古いブロックのトランザクションを変更すると、そのブロックのルートが変わり、そのヘッダーのハッシュが変わり、次のブロックが存在しない場所を指すようになります。これにより、その後に続くすべてのブロックも同様になります。

バランスに注目してください。ノンスを見つけるには膨大なエネルギーが必要ですが、結果を確認するには一度の計算で済みます。どのノードも、普通のコンピュータでその80バイトのハッシュをマイクロ秒で再計算し、作業が行われたかどうかを知ることができます。この非対称性—作成が高価で、検証が安価—がネットワーク全体を支えています。
説明が必要なのは、ハッシュがどれだけ小さくなる必要があるかを決定する4バイトのターゲットです。これは2,016ブロックごとに自動的に変わり、接続されているマシンの数に関係なく、ネットワークの時計が10分ごとに動くようにします。次のレッスンでは、難易度について説明します。