
一、先区分三种不同能力
讨论区块链主流项目的应用边界是什么,需要分别看:系统能记录什么、能执行什么规则,以及能否确认现实事件。记录一致不等于事实真实,规则自动执行也不等于外部结果必然实现。以下以比特币账本与以太坊预言机机制为例,不将这些机制推及所有项目。
二、比特币:验证交易不等于验证商品
比特币开发者指南将区块链描述为有序、带时间信息的公共交易账本。节点依据共识规则验证区块和交易;交易使用尚未花费的输出,防止同一输出被重复使用。区块之间的哈希关联与工作量证明共同提高修改历史的成本。
因此,应把“付款符合链上规则”与“商品已经交付”分开理解。账本能够处理前者,但仅凭一笔交易,无法确认包裹内容或服务质量。涉及交付的应用,需要另行说明谁提供履约信息、发生分歧时如何处理。
三、以太坊:合约执行依赖明确输入
以太坊开发者文档说明,智能合约默认不能直接访问链外信息。预言机负责将外部数据提供给合约,使天气等信息能够参与条件判断。把输入纳入链上处理,有助于节点依据相同数据执行,而不是各自访问可能变化的外部接口。
应用边界由此从“代码能否执行”转向“输入是否可信”。例如,按天气条件触发的应用,需要明确观测地点、数据时间和判断标准;即使程序严格执行,输入含义不清也可能造成结果偏离预期。
四、预言机扩展能力,也引入依赖
以太坊文档将预言机的关键问题归纳为数据正确性、可用性和激励相容性。需要关注来源是否正确、传输是否被篡改、更新是否及时,以及提供者能否被追责。多个节点参与并不自动保证原始信息真实。
判断此类应用是否适用,可以检查数据来源是否相互独立、报告冲突如何处理,以及数据中断时是否停止执行。不能只看到“已经上链”,就忽略信息进入链上之前的采集与处理过程。
五、适用条件与常见问题
适用条件是什么?规则能够明确表达,关键输入可以验证,参与者理解系统的外部依赖。若结果需要设备、人员或机构配合,还应区分链上指令与链外实际完成情况。
上链是否等于真实?不等于。保存某项声明,与证明声明描述的事实,是两件不同的事。
自动执行是否意味着不再需要信任?不意味着。信任可能从人工执行环节,转移到数据提供者及外部系统。理解应用边界,就是明确协议验证到哪里、其他参与者的责任从哪里开始。