
一、先明确:区块链不是单一算法
区块链 算法的应用边界是什么,首先要区分不同技术的职责。哈希用于建立数据关联并辅助检验完整性,数字签名用于验证签署,共识机制用于协调共享账本状态。这些能力相互配合,但不能合并理解为对所有信息真实性的担保。
NIST《Blockchain Technology Overview》将区块链概括为分布式实现、具有篡改可察觉性和抗篡改性的数字账本,并将已发布交易不被改变的描述限定在网络正常运行的条件下。因此,“不可篡改”不宜被解释为脱离运行条件的绝对承诺。
二、适用条件:确实需要多方共享记录
判断适用性,可以先问:是否存在多个需要共享记录的参与方?是否需要共同核验记录及其先后关系?各方能否接受统一的验证规则?这些需求越明确,区块链的共享账本能力越有讨论价值。
反过来,如果需求只是保存某个组织内部的数据,不能仅凭“需要可靠记录”就推断必须采用区块链。共享账本解决的是特定协作问题,并不意味着它天然适合所有信息系统。
三、核心边界:一致记录不等于事实正确
可以用一条设备交接记录理解这一区别:账本可以保存提交内容,供参与方按规则核验,但不能仅凭这条记录确定设备确实完成了交接。现实事件与数字记录之间,仍需要可信的信息采集和确认环节。
所以,判断系统是否可靠,应分别检查记录进入系统前是否准确,以及进入系统后是否按规则保存和处理。后者做得好,不能自动弥补前者的缺陷。
四、预言机连接外部信息,也引入依赖
以太坊开发者文档介绍,智能合约默认不能直接访问链外信息,需要预言机将外部数据提供给链上程序使用。节点基于同一份已上链输入执行规则,有助于保持确定性的计算结果。
该文档同时强调预言机的正确性、可用性和激励相容性问题。这意味着接入外部信息并没有消除信任需求:数据来源是否可靠、更新是否及时、提供方如何承担责任,仍然需要评估。
五、常见问题:自动执行能代替判断吗
智能合约执行一致,是否意味着结果合理?不一定。程序可以按规则处理输入,但规则是否符合业务目的、输入是否代表真实情况,是另外两个问题。执行一致性不能替代规则审查。
多个节点认可数据,是否就证明现实事实成立?也不能这样推断。按协议接受某项输入,与独立验证现实事件,是不同层次的工作。应用边界可以概括为:用算法协调记录与执行,用可信数据和明确责任连接现实。