
一、哈希与消息摘要:用于校验,不是加密
NIST的哈希函数说明将常见固定长度哈希描述为:把不同长度的消息映射为固定长度的摘要。理解时可以把摘要看成数据的校验标识,但不能理解为绝不会重复的编号。
例如,对一份文件计算摘要,之后重新计算并与可信的原摘要比较,可以检查内容是否改变。如果文件和用于比对的摘要同时被替换,仅比较两者就不足以证明文件可信。哈希也不是加密,计算摘要不会让公开保存的原文自动保密。

二、三种抗性:分别防范什么问题
NIST说明了三类安全性质:抗碰撞性,是难以找到摘要相同的两个不同输入;抗原像性,是难以从给定摘要找到匹配输入;抗第二原像性,是给定一个输入后,难以找到摘要相同的另一个不同输入。

三者描述的是计算上的困难,而非数学上绝无可能。通俗地说,抗原像关注“从摘要找内容”,抗第二原像关注“为指定内容找替身”,抗碰撞则关注“任找一对相同摘要的不同内容”。这些性质成立,需要采用安全性适当的算法。
三、区块与父区块哈希:把历史连接起来
以太坊开发文档中的区块概念,是将交易组织成批次,并引用父区块。父区块的哈希或根哈希承担链接作用,使记录之间形成可验证的先后关系。
修改历史区块会改变相应哈希,使后续引用不再匹配。因此,“防篡改”更准确地说是让修改能够被验证发现,并结合共识规则限制历史改写,而不是让存储设备上的数据完全无法编辑。
四、共识、验证者与状态根:不仅检查链接
该文档还介绍了权益证明下的区块提议与验证:验证者参与提议和确认,执行交易用于核对状态变化。状态根是相应状态数据结构的根哈希,可用于检查状态是否一致。
一个区块即使正确引用了父区块,也不代表其中交易符合规则。链接校验与交易执行验证解决的是不同问题。理解state_root等字段时还应留意它属于共识层还是执行层,不能把不同层面的状态对象混为一谈。
五、适用条件与常见误区
“已进入区块”是否等于“永远不会改变”?不能直接画等号,还需区分暂时接纳与协议意义上的最终性。“区块链能证明内容真实”也不准确:验证规则可以检查记录和状态转换,却不能仅凭哈希证明一份外部文件的陈述符合现实。
这些术语主要帮助理解数据完整性、历史顺序和节点一致性。评估实际系统时,还要确认使用的算法、验证规则与数据公开范围,不能把这些机制概括成对保密性、真实性和所有安全风险的统一保证。