
一、先区分来源表达与规则执行
理解区块链与农业溯源,需要分清两个问题:如何描述农产品的来源关系,以及如何按规则处理这些记录。前者属于数据建模,后者可以涉及智能合约。把记录写入区块链,并不等于已经建立完整的溯源关系,也不等于完成了实物真实性核验。
二、来源模型:实体、活动与主体
W3C的PROV-O通过实体、活动、主体及其关系表达来源信息,支持不同系统间的表示与交换,并允许针对具体领域扩展。它是来源建模工具,不是区块链协议。

在农业场景中,可以把农产品批次或检测报告建模为实体,把加工、检测建模为活动,把参与组织建模为主体。这是一种应用映射:重点是说明哪项活动使用了什么、产生了什么,以及由谁参与,而不只是罗列时间和名称。

三、智能合约:代码、状态与调用
以太坊开发文档将智能合约解释为运行于链上特定地址的代码和状态,用户通过交易调用其功能。合约不能自行获取链外事实,需要预言机等机制提供外部数据;多签机制则可要求多个有效签名共同授权。
用于农业溯源时,合约可以被设计为检查记录提交者的权限、限制流程状态变化,或要求关键操作经过多方确认。这里的自动执行,指程序按输入和规则运行,不是程序能够独立判断农产品是否合格。
四、链外数据与授权的边界
检测结果和现场操作属于现实世界的信息。将这些信息提供给合约,解决的是数据接入问题;判断检测是否可靠、记录是否对应正确批次,仍需要业务核验。输入错误时,规则执行正确也可能得到错误的业务结论。
多方授权可以分配操作责任,但签名数量不能替代证据质量。设计时需要明确签名是在确认提交权限、确认交接,还是确认检测结果,避免把不同含义混为一谈。
五、适用条件与常见问题
这些概念适用于需要表达来源关系、协调参与方并执行明确规则的场景。前提是批次与记录能够对应,各方对字段和流程含义有共同理解,并明确外部数据由谁提供、如何核验。
常见问题是“用了区块链是否就能保证真实”。答案是否定的:来源模型组织关系,合约执行规则,数据接入机制传递信息,各自作用不同。PROV-O也不是农业溯源必须采用的唯一模型;其价值在于提供可复用的来源表达方式,而非替代现场管理和质量检验。