
先明确展示效率的含义
讨论区块链食品展示效率涉及哪些技术概念,可以把“效率”拆成信息多久更新、来源是否容易查明、用户是否容易理解三个方面。这里讨论的是食品信息展示的通用技术关系,不代表某个食品项目已经取得性能提升。页面加载速度、数据新鲜程度和信息可信程度,需要分别判断。
预言机:连接链外信息与合约
以太坊开发者文档说明,智能合约默认不能直接访问链外信息。预言机承担获取、验证和传递外部数据的工作,使合约能够使用这些输入;其关键问题包括正确性、可用性,以及数据提供者能否被追责。

放在食品场景中,如果合约需要使用外部检测或运输记录,就涉及这种链外数据接入机制。若页面只是展示外部数据库中的信息,则不能仅因网站涉及区块链,就认定展示过程必须使用预言机。

确定性与数据更新
区块链节点执行同一交易时,需要基于一致的输入得到一致的结果。外部接口的数据可能变化,因此合约不能让不同节点随意读取各自当时看到的数值。预言机将外部信息提交上链,为合约提供共同输入。
这意味着食品记录的采集、提交和页面展示是不同环节。评价更新效率时,应区分记录产生时间与展示更新时间;页面能够打开,并不表示其中的信息已经更新到最新状态。
PROV:表达食品记录从何而来
W3C的PROV概览以实体、活动和参与者描述来源信息,并通过共同模型及相关表示形式支持异构系统交换这些信息。来源描述可以帮助评估质量与可信度,也能表达处理过程和派生关系。
例如,可以把检测报告视为实体,把检测过程视为活动,把相关机构视为参与者。这是一种模型应用示意。用于食品展示时,其意义在于让读者理解记录由谁产生、经历什么处理,以及与其他记录有什么关系。
适用条件与常见问题
这些概念适用于需要关联外部记录、链上处理和来源说明的展示系统。预言机主要解决信息如何进入合约,来源模型主要解决记录之间的关系如何表达;要形成清晰的展示,还需明确每条记录对应的对象和时间。
上链能否证明食品安全?不能仅凭上链作出判断,错误输入仍可能被记录。统一来源模型能否自动加快页面?它有助于统一表达和交换,但本身不构成加载速度保证。判断展示效果,应分别检查数据是否可获得、更新是否及时、来源关系是否清楚。