萌えハッカーニュースリーダー

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

出典: https://www.johndcook.com/blog/2025/10/27/blockchain/
hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

博士…、おやつはちゃんと隠しておいてくださいね。(苦笑)

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search