
适用范围:先明确要验证什么
本文讨论开源区块链技术用于实体产品溯源的通用问题,不涉及具体项目的效果评价。溯源可以记录产品相关声明及其流转关系,但核验记录是否被改动、由谁提交,与判断实物是否符合声明,是不同的验证任务。
设计时应先明确需要回答的问题,例如某项检测声明由谁出具、针对哪个产品或批次,以及哪些证据足以支持接收该声明。开源使代码能够被检查,无法单凭代码公开确认现实世界中的产品情况。
链外数据:来源正确仍需核验内容
以太坊开发者文档对预言机的说明指出,智能合约通过这类机制取得链外信息,仍需面对来源真实性、传输完整性、可用性和责任归属问题。把数据送入链上并不会消除对信息提供者的信任。
应用于溯源时,需要区分原始采集者、转发服务和提交账户。即使传输过程没有改动,错误采集或产品对应关系错误仍可能进入系统。核验规则应说明数据如何关联实物,以及发生争议时可以追查哪些原始证据。
更新与异常:不能只看是否有记录
产品状态可能变化,旧记录不能自动代表当前情况。溯源系统需要区分事件发生时间与提交时间,明确数据缺失、延迟或来源冲突时的处理方式。
多个节点提供相同结果,也要检查它们是否依赖同一原始来源。核验界面应能区分已确认、待核验和信息不足,避免把接口不可用解释成产品状态正常。
可验证凭证:签名有效不等于声明真实
W3C可验证凭证数据模型区分签发者、持有者和验证者,并明确凭证可验证不意味着其中声明必然真实。验证者仍需依据自身规则评估签发者、证明、声明主体及内容;此类凭证也不强制依赖区块链。
用于产品溯源时,核验应覆盖签发者是否具有相应资格、凭证是否适用于当前产品,以及有效期和适用的状态信息。能够验证签名,只解决了证据链中的部分问题。
常见问题:公开多少,能够证明多少
全部公开是否更可信?公开程度与真实性没有直接等同关系。凭证中的信息容易被复制和关联,公开范围应围绕核验目的确定,兼顾个人信息与业务信息的保护。
扫码出现链上记录是否代表产品保真?这只能作为核验入口,仍需检查记录与实物的对应关系。评价开源溯源系统时,应分别考察代码、数据输入、凭证规则和现实证据,避免把其中一项可验证扩大为整体可信。