
先确定存证要证明什么
区块链存证功能首先要明确证明目标:核对文件是否与记录一致、验证某项数据是否被纳入特定状态,还是证明数据在某个时间之前已经存在。这些目标需要不同的证据,不能仅凭“存证成功”四个字一并确认。
适用范围也要写清楚。完整性校验关注数据是否一致,不能单独证明原始内容真实、提交者身份可靠或权利归属明确。业务需要这些结论时,还须有相应的身份与来源证据。

哈希计算必须能够复现
存证对象需要落实到确定的字节内容,并记录哈希算法及必要的编码规则。文件经过重新保存,或结构化数据改变字段顺序、空格与编码,都可能影响计算结果。核验双方必须清楚计算的是原文件,还是按约定规则处理后的数据。

哈希安全依赖算法的抗碰撞等性质,不宜表述为数学上绝无碰撞。长期核验还需要保留原始材料;仅持有摘要,无法据此还原文件内容。
树证明需要可信的根作为依据
以太坊开发文档介绍的 Merkle Patricia Trie,通过节点之间的密码学关联,将数据与根值联系起来,并支持验证特定路径上的值。这说明树结构可以提供可验证的数据关联,但不能由此推断所有存证系统都采用同样实现。
核验时需要明确目标数据、路径、证明材料及对应的根值,并确认根值来自所认可的链上状态。若根值本身没有可靠依据,即使证明内部计算一致,也不足以完成业务所需的存证核验。
时间证据与内容证据分别检查
RFC 3161 描述的时间戳协议,以数据摘要、可信时间和时间戳机构签名,支持数据在特定时间前已存在的断言。其验证涉及摘要与算法是否匹配、签名及证书状态,以及响应与请求的对应关系。
存在时间不能直接当作创作时间。需要采用该协议提供时间依据时,应保留时间戳令牌及相关验证材料,并检查签发策略是否满足用途;不能仅凭平台显示的时间认定已经获得同等证明。
常见问题:凭证是否足够
只有存证编号或页面截图,通常不足以完成独立的密码学核验。功能设计应支持导出与证明目标对应的材料,让核验方能够重算摘要、检查树证明或验证时间戳,而非只能查看平台给出的结果。
验收时可以围绕具体问题检查:原文件能否取得,计算规则是否明确,证明对应哪个根值,时间依据能否验证。每一项展示结论都应能对应到可检查的证据。