
共享记录的能力有明确前提
引进区块链先进技术的应用边界是什么,首先要从它解决的问题出发。NIST《区块链技术概述》将区块链描述为具有篡改可察觉性和抗篡改能力的分布式数字账本,并把已发布记录不被更改的描述限定在网络正常运行的条件下。
因此,多方需要共同记录业务、核对历史状态时,区块链具有讨论价值。如果需求只是单一机构保存和查询数据,仅凭“先进技术”这一名称,无法说明引入区块链的必要性。
账本可信不等于输入真实
记录进入账本后难以修改,与记录最初是否符合事实,是两个不同的问题。例如,把货物验收结果写入链上,可以用于核对所提交的记录,却不能仅凭上链证明货物确实合格。
这类应用成立的条件,是输入数据有可核验的来源,并能识别提交者及其责任。区块链可以承载核验结果,但现场检查、设备测量或人工判断的可靠性仍需另行保障。
连接外部数据会引入新的信任依赖
以太坊开发者文档指出,智能合约默认不能直接访问链外信息,预言机负责把外部数据提供给合约。其关键问题包括数据正确性、可用性以及提供者的可追责性。
当业务依赖天气、物流状态等外部信息时,适用条件就不只是链上程序能够运行,还包括数据来源可信、更新及时,以及不同来源出现分歧时有处理规则。多个节点使用同一错误信息,并不能使该信息变成事实。
自动执行限于明确的规则与输入
智能合约适合处理能够明确表达为条件和操作的流程。需要解释模糊条款、判断例外情况或处理争议的业务,不能仅靠自动执行覆盖全部环节。
例如,合约收到某个状态后可以执行预设的链上操作,但现实中的货物交付仍依赖外部系统和人员。设计应用时,需要明确自动处理到哪一步,以及数据缺失、输入错误或执行异常时由谁处理。
常见问题:上链是否就能消除信任
不能。共享账本让参与者按共同规则核对记录,信任要求仍然存在于数据采集、外部接口和业务责任等环节。判断适用范围,需要分别检查这些环节。
记录难以更改是否意味着错误无法处理?业务层可以设计追加更正记录等机制,但必须明确新旧记录的关系及后续处理规则。保存历史与修正业务状态需要同时考虑,不能把抗篡改能力理解为整个业务永远不会出错。