
先理解存证的技术范围
视频区块链存证可以从两个问题理解:怎样识别一份确定的视频文件,以及怎样留下可核验的记录。文件摘要用于核对数据是否一致,区块链用于记录相关交易。两者结合,可以为文件核验提供线索,但不能仅凭摘要和链上记录判断拍摄内容是否真实、拍摄者是谁或版权属于谁。
摘要怎样对应视频文件
MDN对digest()的说明指出,摘要算法把输入数据转换成固定长度的值,密码学摘要应具备抗碰撞能力。SHA-256是其支持的算法之一;SHA-1不适合继续用于密码学用途。

用于视频核验时,需要明确摘要针对哪些数据计算。对完整文件计算摘要,核对的是文件字节;即使画面看起来相同,重新编码或修改文件内的元数据也可能改变摘要。因此,原始文件与处理后的版本应分别保留对应关系,不能只凭文件名判断是否一致。

区块链记录提供什么依据
以太坊的区块说明介绍了交易如何被组织进区块,区块如何引用前一区块,以及验证者如何检查状态变化。这样的结构与共识机制共同支持交易历史的核验;区块生成也可能出现空槽,不能把提交请求直接等同于记录已经确定。
在存证场景中,应能明确指出摘要记录对应的网络、交易以及实际记录内容。交易标识只是定位线索,还需核对交易是否成功、记录的摘要是否匹配,以及记录达到何种确认状态。区块时间关联的是链上记录,不能直接充当视频拍摄时间。
适用条件:保存文件并能复核
摘要适合用于检查手头文件与已记录摘要是否对应。复核时,对待核验文件采用相同算法和相同数据范围重新计算,再比较结果。摘要本身不能还原视频,因此链上保存了摘要,也仍需妥善保存原文件。
浏览器处理大视频还有资源限制:MDN说明SubtleCrypto.digest()需要安全上下文,且不支持流式输入,计算前须将全部输入读入内存。文件较大时,需要评估内存承载能力,不能假定所有设备都能顺利完成。
常见问题与判断边界
摘要一致意味着什么?使用合适的密码学摘要算法时,它为文件字节一致性提供有力依据,但不能证明文件在计算摘要之前没有经过剪辑。摘要不同也不必然意味着恶意篡改,格式转换等处理同样可能造成差异。
存证是否必须上传整段视频?采用摘要上链的设计时,链上记录可以与原文件分开保存。理解一种具体服务时,应先弄清它记录的是文件摘要、文件地址还是其他信息,再判断其核验能力;不能把通用区块链原理直接当作该服务已经实现的保证。