01Hashとは何でしょうか?
Hash はハッシュ関数の出力。同じバイトとアルゴリズムなら同じ値となり、暗号学的設計は原像や同じ結果の異なる入力を探しにくくする。暗号化コピーではない。
02ダイジェストは署名ではない
秘密鍵なしで誰でも公開データをハッシュできる。信頼できる経路で得た値との一致は完全性確認を助けるが、作者や真実性は証明しない。攻撃者がファイルと値を両方替えれば単純比較で由来は確定しない。 [NIST FIPS 180-4: Secure Hash Standard]
03衝突と原像は別
原像は指定ダイジェストの入力探し、衝突は同じ値となる任意の異なる二入力探し。出力空間が有限なので衝突は存在する。安全性は発見の困難さで、数学的不可能性ではない。短く予測可能な入力は辞書で試せる。 [NIST FIPS 180-4: Secure Hash Standard]
04Bitcoin は正確なバイトを使う
ヘッダーハッシュ、txid、witness commitment は交換可能ではない。特定のシリアライズや構成を使い、他部分では HASH160 や tagged hash も使う。十六進文字列は表示であり、復号したバイトでなくその文字をハッシュすると通常は別の値になる。 [Bitcoin Core v29.0: hash constructions]
↗文脈とともに読む
理解を深めるには、この項目とあわせて次もお読みください SHA-256, Proof of Work, ブロックヘッダー, トランザクション, Merkle tree, Bitcoin. 次の項目からも参照されています SHA-256, Nonce, HTLC, Hashcash.