【ビットコイン原論文18】Proof-of-Work:プルーフ・オブ・ワーク2

peer-to-peer(P2P)による分散型タイムスタンプサーバーを実行するために、ブロックチェーン技術では『プルーフ・オブ・ワーク・システム』を使用します。

関連通貨:

【ビットコイン原論文18】Proof-of-Work:プルーフ・オブ・ワーク2

【ビットコイン原論文18】Proof-of-Work:プルーフ・オブ・ワーク2

peer-to-peer(P2P)による分散型タイムスタンプサーバーを実行するために、ブロックチェーン技術では『プルーフ・オブ・ワーク・システム』を使用します。

【ビットコイン原論文18】Proof-of-Work:プルーフ・オブ・ワーク2

プルーフ・オブ・ワークは、例えばSHA-256などのようなアルゴリズムを使って、複数の0(ゼロ・ビット)で始まる、ハッシュ化された値(ハッシュ値)を走査/精査(scanning)することが主作業となっています。

ハッシュ・SHA-256について
『ハッシュ(データを細切れにする)』とは、例えばあるデジタル情報/データに対して、『ハッシュ関数』を使って『ハッシュ値』を生成して暗号化する作業を言います。

『SHA-256(Secure Hash Algorithm-256bit)』とは、ハッシュ関数であるSHA-0から始まるSHAシリーズのひとつです。米国国家安全保障局(NSA)によって設計され、アメリカ国立標準技術研究所(NIST)によって標準化された暗号化アルゴリズムです。SHA-256の「256」は、最長で256ビット(32バイト)のハッシュ値を生成することができることを意味しており、SHA-256によるハッシュ値は、どのような文字数の情報/データであっても、16進数文字列の64文字で生成されます。(16進数の場合、1バイト=2文字となりますので、64文字で32バイト)
例:fa7f1aef 8f01c2ea 41a1e6de 5dae25e3 b0a3e1a3 96fc5a9c b41d0f6d f20be5af

全く同じ情報/データであれば、何度行っても全く同じ64文字のハッシュ値が生成されますが、情報/データが1文字でも異なれば、全く異なるハッシュ値が生成されます。また、一方向性関数(one-way function)であるため、生成されたハッシュ値から元の情報/データに戻すことはできません。

あるデータの内容をハッシュ化した場合、ハッシュ値からそのデータの内容を割り出すことは(ゼロに近い可能性で)できません。

しかし、例えば「123456」データから生成されるハッシュ値は全て同じになりますので、その関係を知られてハッシュ値から元のデータ割り出された場合、そのデータの内容が「123456」であることがわかってしまいます。これは、異なるデータから同じハッシュ値は生成されない(「衝突」と呼ばれる論理上の可能性はある)ことに起因しています。従って、データをハッシュ化したからといって必ずしも安全というわけではありません。


[ビットコインのホワイトペーパー原文は、bitcoin.org様より転載させていただきました。
Bitcoin: A Peer-to-Peer Electronic Cash System

関連記事

ページトップへ戻る