条件写进程序,执行不再逐笔等人批准
假设一个演示程序规定:甲向合约支付指定数量的代币,合约就在库存充足时向甲转出一张链上数字凭证。程序核验条件后执行,不需要工作人员每次手工点击确认。
这里的“收到代币”和“发出凭证”都能在链上判断。如果规则写错、权限设置不当,程序也可能很认真地执行错误;自动化不能把错误规则变成正确规则。
现实事件,需要一条信息通道
- 01航班真实状态
发生在链外
- 02数据服务/预言机
把经处理的数据送入系统
- 03合约规则被调用
依据收到的数据执行约定操作
展示输入关系,不表示链能自行验证现实事件。
天气、航班和货物,不会自己跑进区块链
若合约约定航班延误就付款,它必须获知真实航班状态。把链外信息送进系统的服务常叫预言机,名字听起来神秘,实际上是数据传递与验证的连接环节。
数据源若误报延误,合约可能按错误输入付款。因此既要理解程序规则,也要理解输入从哪里来。现实合同的权利义务、纠纷处理和法律效力,还需要另按法律与具体安排判断。