
概念范围:记录、规则与证明
理解产品区块链溯源,可以从三个问题入手:产品信息由谁声明,流转规则如何执行,接收方怎样检查证明。智能合约负责程序化处理,可验证凭证表达机构或个人的声明,数字签名等技术帮助检查信息是否被改动。这些能力分别解决不同问题,不能单凭“上链”判断产品真伪。
智能合约:执行预先定义的规则
以太坊开发文档将智能合约解释为位于链上特定地址的代码和状态,用户通过交易调用其功能。在溯源设计中,可以据此理解权限检查与状态更新:例如将“满足交接条件才能更新记录”写成程序规则。这里描述的是可采用的设计方式,不代表具体系统已经实现这些功能。

适用条件是业务规则能够明确表达,输入与权限能够被检查。程序能执行已编码的条件,但无法自行判断现实中的货物是否与申报一致。

链外数据与预言机:连接现实信息
同一开发文档指出,智能合约自身不能直接获取链外事件,预言机可把外部信息提供给合约。产品溯源因此需要关注数据进入链上的环节:谁提交记录、提交内容对应什么对象,以及出现错误时如何处理。接入机制让数据可供程序使用,数据是否真实仍取决于外部来源及其核验过程。
可验证凭证:表达可检查的声明
W3C可验证凭证数据模型区分签发者、持有者与验证者,并允许声明的对象是物品。数字签名等机制可帮助发现篡改;验证通过并不意味着声明内容必然真实。
用于理解产品证明时,签发者可对应出具证明的机构,持有者负责保存或出示凭证,验证者根据业务规则决定是否接受。核验既要关注证明本身,也要判断签发者是否适合证明相关事项,以及声明是否对应待核验产品。
常见问题与适用边界
可验证凭证必须上链吗?不必须。W3C模型中的可验证数据注册表可以采用可信数据库、分布式账本等不同形式。因此,凭证验证与区块链存储是需要分别考虑的设计问题。
凭证有效就能证明实物真实吗?不能直接得出这一结论。数字证明与实物的对应关系仍需核验。评估溯源方案时,应分别考察程序规则、外部数据来源、签发主体与实物对应关系,明确每一层究竟能证明什么。