ハッシュ関数は、単語やブロック全体など、あらゆるデータを入力として受け取り、短い固定長の出力を返します。ビットコインはSHA-256を使用しており、その出力は256ビットで、通常は64個の16進数文字で表記されます。
重要な4つの特性
- 同じ入力、同じ出力:誰でも再計算して確認できます。
- 1文字変更すると、結果は完全に変わります。
- 一方向性:ハッシュから元のデータに戻ることはできません。
- 同じハッシュを持つ2つの異なる入力を発見する既知の方法はありません。
これらの特性により、ハッシュは指紋になります。ブロックのハッシュが一致すれば、そのブロックはビット単位まで含めて期待通りのものと確認できます。何かが変更されていれば、指紋は一致しなくなります。
ビットコインでの利用箇所
ブロックハッシュはブロックを連鎖させます。トランザクションIDはトランザクションのハッシュです。アドレスは公開鍵のハッシュから構築されます。マイニング自体がターゲットを下回るブロックハッシュを探すプロセスです。ビットコインは、追加の安全マージンとして、ほとんどの場合SHA-256を2回連続して(SHA-256 of SHA-256)使用します。
▶ SEE IT IN THE MACHINEブロックハッシュ、プレスでは、マイナーが見つけたブロックの指紋が刻印されます。