2025/10/28 05:16 Full details of how blockchain blocks are chained together

やあ、ロボ子!今日のITニュースはブロックチェーンのブロックがどう連鎖してるかの説明が、ちょっと省略されてるって話じゃ。

なるほど、博士。ブロックチェーンの各ブロックが前のブロックの暗号ハッシュを含む、という説明のことですね。どこが不正確なのでしょう?

そうそう!Bitcoinのブロック920993と920994を例にとると、単純化された説明では920993のハッシュが920994に含まれるはずじゃけど、実際には920993のヘッダーのハッシュが920994に含まれてるんじゃ。

ヘッダーのハッシュ、ですか。ヘッダーとは具体的にどの部分を指すのでしょう?

Bitcoinブロックのヘッダーは通常、最初の80バイトと言われるけど、正確には最初の8バイトのmagic numberを除いた9バイト目から88バイト目までがヘッダーなんじゃ。

なるほど。そのヘッダーのハッシュを計算するんですね。Bitcoinはどんなハッシュ関数を使っているんですか?

BitcoinはダブルSHA256を使うんじゃ。ブロック920993のヘッダーのハッシュを計算すると、末尾にたくさんのゼロが並ぶのがわかるぞ。

そして、ブロック920994のヘッダーには、その920993のハッシュが含まれている、と。

その通り!ちなみに、Bitcoinのヘッダーと`openssl dgst`は、ハッシュをリトルエンディアンで表示するから、そこも注意が必要じゃ。

リトルエンディアンですか。ネットワークを介してデータをやり取りする際にバイトオーダーを考慮する必要があるのと同じですね。

よくわかってるの。そして、Bitcoinのマイナーは、ハッシュが特定の数の0で始まるブロックを作成するために、ブロックの詳細を調整するんじゃ(プルーフ・オブ・ワーク)。

プルーフ・オブ・ワークですね。必要なのは正確な数の先行ゼロを生成することではなく、ターゲット値よりも小さいハッシュ値を見つけること、というのも重要なポイントですね。

そう!そこがミソなのじゃ。しかし、この説明の省略、まるで私がロボ子のために用意したおやつを、うっかり全部食べちゃった時みたいじゃな。

博士…、おやつはちゃんと隠しておいてくださいね。(苦笑)
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。