区块链常被描述为“难以篡改”,其中一个重要基础就是密码学哈希函数。它能把不同长度的数据映射成固定长度结果,让节点快速判断数据是否发生变化。

理想的密码学哈希函数具有确定性:同一输入总会得到同一输出;同时具有明显的雪崩效应,输入只改变一个比特,结果也会大幅变化。
它还应具备抗原像、抗第二原像和抗碰撞能力,也就是从结果反推输入非常困难,寻找具有相同结果的另一份数据在计算上不可行。这些特性共同构成数据指纹的可靠性。
每个区块通常在区块头中记录前一区块的哈希。若历史区块中的交易被修改,该区块哈希会改变,后续区块保存的引用随即失效。攻击者若想掩盖修改,必须重新构造后续链并满足共识条件。
哈希链负责暴露篡改,共识机制和分布式节点负责决定哪一条链有效。两者配合,才形成区块链难以单方面改写的特性。
大量交易可以通过两两哈希逐层汇总,最终形成一个默克尔根。只需提供从目标交易到根节点的一小组兄弟哈希,就能证明交易包含在某个区块中。
这种结构让轻量客户端无需下载全部交易,也能验证包含关系。数据规模越大,证明长度相对增长越慢,是区块链提高验证效率的重要工具。
哈希可以证明数据是否变化,却不能证明原始数据真实。如果错误信息一开始就被写入链上,哈希只会忠实保护这份错误记录。
此外,弱密码直接哈希后仍可能被字典攻击;重要凭证需要使用专门的密码派生函数、随机盐和安全参数。不能因为系统出现哈希值,就默认整个安全设计已经完善。
哈希函数为区块链接、交易汇总和完整性校验提供基础,但它不是独立的真实性保证。正确理解哈希、数字签名与共识机制的分工,才能准确判断区块链安全性。