
一、链上与链下:先区分信息在哪里
制造供应链中的实物、交接记录和企业系统数据,并不天然存在于区块链上。理解相关技术,首先要区分链上记录与链下事实:前者供合约读取和处理,后者需要经过采集、传递与核验,才能成为合约使用的输入。
例如,把“已收货”提交到链上,只是形成一条可供系统处理的记录,并不等于区块链亲自确认了货物数量或质量。实际应用必须明确谁提交信息、依据是什么,以及出现争议后如何处理。
二、预言机与智能合约:连接外部信息和执行规则
Ethereum预言机文档说明,智能合约默认不能直接访问链外信息。预言机负责获取、核验并传递外部数据,使合约能够依据这些输入执行规则。它通常包含链上合约与链下组件,也可以把链上信息传递给外部系统。
这里涉及确定性执行:相同状态和输入应产生相同结果。将外部数据作为确定的链上输入,可以避免各节点分别读取不断变化的外部接口而得到不同结果。预言机仍需面对数据正确性、可用性和提供者责任问题。
三、可验证凭证:核验声明的来源与完整性
W3C可验证凭证数据模型描述了签发者、持有者和验证者之间的凭证交换关系。数字签名等机制有助于发现凭证是否被篡改;验证方仍需按照自身业务规则判断是否接受其中的声明。“可以验证”不代表声明必然真实。
可验证凭证并不必须依赖区块链,相关登记系统也可以采用可信数据库等形式。隐私同样重要:便于机器核验的信息,也可能更容易被跨系统关联。
四、这些概念怎样用于制造供应链
以零部件交付为概念性例子,可以分别考虑三个问题:交付状态如何进入系统,哪些条件触发后续流程,供应商提交的资格声明如何核验。它们分别对应外部数据接入、合约规则和凭证验证,不宜混为一谈。
这是一种功能划分,并非某个具体项目的成效证明。即使凭证通过验证、合约顺利执行,也仍需确认凭证主体是否对应实际供应商,以及记录是否对应本次交付。
五、适用条件与常见问题
适用条件包括:参与方能够约定数据来源和业务规则,提交记录可以追责,外部数据能够及时更新,并且各方明确哪些信息允许共享。若这些条件尚未建立,单纯增加链上记录无法补齐业务信任。
多数据源是否一定更可靠?不一定。若它们都依赖同一个错误来源,数量增加也不能保证准确。凭证核验是否可以替代验收?不能,两者回答的问题不同。是否需要把全部资料上链?不应默认如此,应先评估核验需要和隐私风险。