
共享账本的可信范围
区块链技术面临的风险的应用边界是什么?核心是分清它能保护哪些记录,以及哪些判断仍依赖链外系统。共享记录、防止事后修改与确认现实事实,是不同层面的问题。
NIST《Blockchain Technology Overview》将区块链概括为分布式、可发现篡改且具有抗篡改能力的数字账本,并将已发布交易不能更改的描述限定于网络正常运行的条件下。因此,防篡改能力具有运行前提,不能理解为任何情况下都绝对安全。

外部数据构成另一层风险
以太坊开发者文档指出,智能合约默认无法直接读取链外信息,预言机负责将外部数据传入链上。文档同时强调,数据是否来自正确来源、传输是否完整、能否持续更新,以及提供者能否被追责,都会影响合约执行。

由此可见,把信息写入共享账本,只能让参与者围绕该输入执行规则。若输入本身有误,各节点仍可能一致地执行出不符合现实情况的结果。记录一致与事实准确必须分别验证。
哪些条件下适合应用
当多个参与方需要共同记录业务事件、核对同一份历史,并重视记录被修改后能否发现时,共享账本具有适用基础。评估重点应包括参与方能否接受共同规则,以及网络运行条件能否支撑这些规则。
涉及天气、物流状态等外部事实时,应用还需要说明数据来自哪里、多久更新、不同报告如何汇总,以及数据缺失时如何处理。链上规则明确、链外输入可核验,才能形成较完整的执行依据。
自动执行到哪里应当停止
如果关键输入无法核验,或者数据更新中断后仍会触发重要操作,仅依赖链上自动执行就缺少充分依据。设计时需要明确异常输入的识别条件、是否暂停执行,以及由谁处理争议。
多来源输入可以用于交叉核对,但来源数量不能直接证明真实性。多个报告若依赖同一原始数据,仍可能共同出错;汇总规则也需要解释如何处理分歧。
常见问题
数据上链后就可信吗?应区分记录是否被改动与内容是否真实。账本的抗篡改特性主要保护记录,外部事实仍需要来源核验。
合约运行成功就代表业务正确吗?成功执行说明程序依照输入和规则完成了处理。输入错误、过期或规则未覆盖实际情况时,执行成功仍不足以证明业务结果正确。