
一、区块链解决的是哪种信任问题
NIST《区块链技术概述》将区块链描述为分布式、具有篡改可察觉性和抗篡改能力的数字账本。其摘要强调,在网络正常运行的条件下,已经发布的交易记录不能被改变。这说明相关保证有运行前提,而不是脱离条件的绝对承诺。
因此,理解区块链信任模型,首先要区分两个问题:参与者是否认可同一份记录,以及记录描述的事情是否真实。共享账本主要解决前一个问题,不能仅凭数据被写入链上,就回答后一个问题。
二、共识的边界:一致不等于真实
共识使节点能够按照共同规则确认记录和状态变化。它能检查某项输入是否满足系统规定,却不能自动观察所有现实事件。如果错误信息符合提交规则,系统仍可能一致地保存它。
例如,一条关于货物交接的记录即使难以事后修改,也不等于货物实际完成交接。这是账本记录与现实事实的区别,并非某个具体应用已发生的问题。适用范围应限定为可由链上数据和规则验证的事项,或另有可靠事实核验机制的事项。
三、预言机的边界:接入数据不等于消除信任
Ethereum开发者文档说明,智能合约默认不能直接访问链外信息,预言机负责把外部数据提供给链上合约。相关文档同时指出,外部数据的正确性、可用性,以及提供者的激励与责任,都会影响系统可靠性。
这意味着,预言机扩展了合约能够处理的信息范围,也引入了新的依赖。数据确实来自指定来源、传输过程未被修改,并不必然意味着来源本身没有出错。多个提供者若依赖同一个上游来源,也不能仅凭数量判断信息具有独立性。
四、智能合约的边界:执行规则不等于规则合理
确定性执行要求相同初始状态和输入产生相同结果。其意义是让节点能够复核计算,而不是保证业务规则完整、输入准确,或者结果符合所有参与者的实际期待。
因此,使用智能合约前,需要明确哪些条件能够客观表达,哪些判断仍依赖链外解释。若关键条件含糊,或外部数据缺失时没有明确处理规则,自动执行本身不能补足这些缺口。
五、适用条件与常见问题
较适合的需求,是多个参与者需要共同维护、验证同一份记录,并能接受明确的确认规则;涉及链外信息时,还需要可说明的数据来源、更新要求和责任安排。若主要难题是辨别现实事实真假,仅增加账本环节不足以解决问题。
区块链是否意味着完全不需要信任?不是,它把部分信任转移到共同规则、网络运行和数据提供环节。上链后能否证明原始信息正确?不能,抗篡改与事实核验是不同能力。预言机是否让链外数据自动可信?也不能,其来源和服务仍须评估。
归根结底,应用边界应沿着三个问题划定:谁确认记录,谁证明事实,谁负责异常。只有这些依赖清楚,才能合理理解区块链提供了什么保证,以及没有提供什么保证。