01什么是Hash?
Hash 是哈希函数的输出。同样的字节和算法产生同样的摘要;密码学设计旨在使寻找原像或相同结果的不同输入变得困难。它不是数据的加密副本。
02摘要不是签名
任何人都可无需秘密密钥对公开数据哈希。与可信渠道获得的摘要一致,有助于检查完整性,但摘要本身不能确定作者或内容真实。如果攻击者同时替换文件和摘要,简单比较无法确认来源。 [NIST FIPS 180-4: Secure Hash Standard]
03碰撞与原像不同
原像问题是给定摘要寻找输入;碰撞是找任意两个不同输入产生同一摘要。有限输出空间意味着碰撞存在,安全性在于难以找到,而非数学上不可能。短或可预测输入可通过字典尝试。 [NIST FIPS 180-4: Secure Hash Standard]
04比特币需要精确字节
区块头哈希、txid 和 witness commitment 不是可互换对象。它们有特定序列化和构造,其他部分还用 HASH160 或 tagged hash。十六进制文本只是表示法;哈希这些字符而非解码后的字节,通常会得到不同结果。 [Bitcoin Core v29.0: hash constructions]
↗结合上下文阅读
要获得更完整的理解,请将本词条与以下词条结合阅读: SHA-256, Proof of Work, 区块头, 交易, Merkle树, Bitcoin. 反向关联还来自: SHA-256, Hashcash, 熵混合, BIP39校验和.