
先看需要解决哪种信任问题
区块链多种应用的适用条件有哪些,可以从记录、规则和数据三个方面判断:是否需要多方核验同一份记录,执行条件能否表达为明确规则,以及规则所需信息来自链上还是链外。不同应用对这些条件的要求并不相同。
比特币开发文档说明,节点按共识规则验证区块,交易记录通过哈希关联,并限制同一交易输出被重复花费。这类机制为共同核验账本提供了基础,但不能直接证明现实世界中的陈述真实。

共享账本:参与者需要一致的核验规则
共享账本适用于多个参与者需要检查记录顺序、授权和状态变化的场景。前提是各方能够采用一致的有效性规则,并明确出现竞争分支时如何确定认可的历史。

业务还应允许相应的确认等待,并处理记录暂时处于竞争分支的情况。如果所有记录都由单一机构管理,其他参与者也不需要独立核验,则应进一步评估引入共同验证机制的实际价值。
记录核验:明确证明对象和边界
哈希关联可以帮助识别记录变化,默克尔证明可以用于核验某笔交易是否被包含在特定区块中。这类用途的适用条件,是核验对象、对应数据和验证规则明确。
证明一条记录被收录,与证明记录描述的事件确实发生,是两个不同的问题。例如,业务申报被记录下来,并不能单凭这一点确认申报内容真实;真实性仍需要采集、审核或其他证据支持。
自动执行:条件必须清楚且输入一致
智能合约适用于触发条件与执行结果能够明确规定的流程。各节点使用相同状态和输入时,需要得到相同结果,因此含糊的判断标准、未约定的例外和依赖临时协商的事项,都需要先明确处理方式。
以太坊预言机文档说明,合约默认不能直接访问链外信息,预言机负责把外部数据引入链上。依赖天气等现实信息的条件触发型应用,因此还需要可靠的数据连接机制。
外部数据应用:核查来源、更新与责任
例如,依据天气条件触发的农业保险合约,需要事先约定观测来源、覆盖地点、统计时段和触发标准,还要处理数据延迟、缺失或报告不一致的情况。
预言机的适用条件包括数据来源可核查、传输完整、更新及时,以及提供者的责任能够追溯。多个报告者若都依赖同一个错误来源,也不能仅凭报告数量保证正确。
常见问题:上链能否替代全部信任
不能。共识帮助节点就有效记录达成一致,预言机连接外部信息,二者解决的问题不同。输入错误时,合约仍可能按规则执行出不符合业务事实的结果。
应用设计还需明确异常处理和争议解决方式。是否适用,应同时检查共同核验的必要性、规则的可执行性和输入的可靠性,不能只看数据能否写入区块链。