
区块链能够保障什么
区块链工程应用的核心边界,在于共同维护记录的能力与判断现实事实的能力之间。NIST《区块链技术概述》将区块链描述为分布式实现、具有篡改可察觉性和抗篡改能力的数字账本;在网络正常运行的条件下,已发布的交易不能被改变。这为多方共享历史记录提供了基础,但不能直接证明记录所描述的事情确实发生。
哪些需求符合适用条件
当多个参与方需要共享交易记录、依据共同规则确认状态,并希望保留可核验的历史时,区块链具有技术上的适配性。工程判断应先明确参与方需要共同确认什么,以及哪些信息能够在链上验证。
例如,验证某条交易是否具有对应密钥的签名,与核实一批货物是否真实交付,所需证据不同。前者能够通过密码学规则检查,后者仍依赖现实中的采集、确认和责任机制。仅有保存数据的需求,并不足以说明必须使用区块链。
外部数据构成关键边界
以太坊的预言机文档说明,智能合约默认不能直接访问链外信息,需要通过预言机引入外部数据。预言机连接链上与链外,同时带来数据正确性、可用性以及提供者责任等问题。
因此,各节点对同一输入得出一致结果,并不意味着输入本身正确。例如,设备提交的测量值即使被完整记录,也仍可能来自故障设备。工程设计需要分别处理数据来源、传输完整性和事实准确性,不能用上链替代这些核验。
自动执行的适用范围
适合自动执行的规则,需要条件明确、输入可取得、结果可由程序确定。链上代码可以根据已接收的数据改变链上状态;涉及开锁、交付等外部动作时,还需要链外系统配合。
这意味着业务完成不能仅以合约执行成功为判断依据。设计时需要明确外部系统未响应、数据迟到或不同来源相互矛盾时如何处理,以及由谁确认最终结果。
常见问题
上链是否等于真实?上链能够帮助保留和核验提交后的记录,事实真实性仍取决于输入证据。错误信息也可能被完整保存。
引入预言机是否消除了信任?预言机提供了外部信息进入合约的通道,工程上仍需评估数据来源和服务是否可靠。
应用边界如何确定?可以沿着记录、输入和执行逐项判断:哪些由账本规则保障,哪些依赖数据提供者,哪些必须由现实中的组织或设备完成。每一项依赖都应有明确的验证方式与责任归属。