
一、先明确存证的核验对象
分析区块链数据存证案例,首先要问:保存的是原始文件,还是文件摘要?两者作用不同。以下以文件摘要写入链上记录的通用流程解释技术概念,不对应某个已核实的项目。此类流程主要回答“待核验文件是否与记录所对应的数据一致”,不能仅凭上链就确认文件内容真实。
二、哈希摘要与字节一致性
MDN对digest()的说明表明,密码学哈希将输入数据转换为固定长度摘要,抗碰撞性意味着难以找到摘要相同的不同输入。SHA-256属于该接口支持的算法;摘要不是加密后的原文,不能作为文件备份。

核验时,需要对待核验文件采用相同算法重新计算摘要,再与存证值比较。适用条件是明确原始字节、文本编码及处理规则:看起来相同的文字,可能因编码或换行不同而得到不同摘要。因此,摘要不一致首先说明输入数据或计算规则存在差异。

三、交易、区块与共识
Ethereum的区块说明展示了另一层机制:交易被组织进有序区块,区块通过父区块哈希建立关联,验证节点按协议检查交易执行及状态变化。摘要计算负责形成数据指纹,区块链机制负责维护记录历史,二者不能混为一谈。
阅读存证案例时,应区分“已经提交”“已经被区块收录”与“达到相应确认条件”。仅有提交界面或请求编号,不足以说明记录已进入可核验的链上历史。
四、区块时间与原始文件保管
区块时间是链上记录的时间信息,不应直接等同于文件创作时间、签署时间或现实事件发生时间。对记录顺序的核验,也不能替代对文件来源的调查。
若链上只保留摘要,原始文件仍需另行保存。文件遗失后,不能靠摘要恢复内容;只展示摘要而无法提供对应文件,也无法完成文件与记录之间的一致性比对。
五、常见问题与适用边界
摘要相同是否代表内容真实?不代表。在采用适当算法和一致处理规则的前提下,它支持数据一致性核验,而非内容真实性判断。上链是否等于确认作者或权利人?也不能直接推出,身份、授权与权属需要额外证据。
浏览器能否计算文件摘要?MDN介绍的digest()可以承担这一步,但要求安全上下文,且不支持流式输入,需要将全部输入读入内存。处理较大文件时必须考虑内存限制。完整评估存证案例,还应检查原件留存、链上记录定位和复核规则,而不是只看“不可篡改”的宣传表述。