
底层能力覆盖哪些问题
区块链底层应用的应用边界是什么,首先要从它能够保障的对象说起:共享账本中的记录及其状态变化。NIST《区块链技术概述》将区块链描述为分布式实现、具有篡改可察觉性和抗篡改能力的数字账本,并将已发布交易不能被更改的描述限定在网络正常运行的条件下。
因此,其适用范围主要围绕多方记录、共同核验与按规则更新状态展开。若业务需要参与者对同一组记录形成一致认识,区块链可以提供技术基础;业务事实如何产生、由谁确认,则需要另行设计。
记录可信不等于事实真实
账本能够保留一条信息及其后续变化,但信息被写入之前是否准确,不能仅凭上链得到证明。例如,某项业务把设备读数作为输入,记录可追溯并不能单独证明设备没有故障。这里需要区分记录完整性与事实真实性。
适用条件是明确数据来源、采集过程和责任主体。如果输入本身缺少可靠验证,共享账本也可能让参与方一致保存错误信息。
智能合约如何接触链外世界
以太坊的预言机文档指出,智能合约默认无法访问链外信息,预言机负责把外部数据提供给合约。这种连接还会引入数据正确性、可用性及提供者责任等问题。
链上执行需要节点依据一致的输入得到一致的结果。若每个节点执行时各自读取不断变化的外部接口,就可能得到不同答案。将外部信息通过约定机制提交到链上,可以提供共同输入,但这一过程仍依赖信息来源及传递机制。
适用条件与系统分工
判断应用是否适合区块链,可以围绕三个问题展开:是否确实需要多方共享并核验记录,状态变化能否写成明确规则,链外输入是否有可检查的来源。条件越清楚,越容易界定账本、合约与外部服务各自承担的职责。
涉及现实动作时,还需要外部系统配合。例如,链上条件满足后向设备发送指令,指令被记录与设备实际完成动作属于不同环节,后者仍需执行反馈。
常见问题:上链后是否无需信任
并非如此。信任要求会分布到网络运行、合约规则、数据提供者和外部执行环节。预言机连接了链内外信息,却不会自动消除错误或中断。
智能合约是否会自动纠正错误输入?如果规则中没有相应校验与异常处理,合约可能忠实执行基于错误输入的逻辑。应用设计需要明确数据争议、服务不可用和执行失败时的处理方式,避免把程序按规则运行等同于业务结果必然正确。