在撰写智能合约这一段时间里, 经常被人问道的一个问题就是“智能合约是如何去感知来自链外的世界的”。区块链预言机这个东西, 其实就是专门做这种事情的, 它负责把真实世界的数据搬运到区块链上来, 让智能合约能够跟现实情况接上头。
如果没有这个预言机存在的话, 智能合约就好比是一座被包围起来的孤岛一样, 那么它就只能在内部自己计算一些事情了。
区块链预言机器怎么工作
说白了, 它就是个搬运工。这个搬运工会从交易所的接口程序拉取币价, 从气象的数据接口读取温度数据, 再从中央银行获取利率信息, 做完打包和签名操作之后, 就把这些信息扔到区块链上去。
我参与过去中心化金融借贷项目, 在这个项目中, 抵押品的估值必须依靠预言机每12秒刷一次价格, 只有合约获取到具体的数字之后, 才能判断是否需要执行清算流程。

实际运行的时候体验并不是特别丝滑, 其中有一次发生了以太坊拥堵的情况, 导致数据出现了四十多秒的延迟,使得清算逻辑差点误触发, 后来通过增加了时间戳校验和价格偏差兜底机制才稳住局面。
区块链预言机器靠谱吗
这事儿很有可能会搞砸。因为它本身的性质就是一个所谓的值得信赖的第三方实体, 所以无论是节点被黑客攻击、数据源遭到污染, 还是喂价被伪造, 以上任何一种情况都有可能发生。
在2022年那一波稳定币失去锚定效应的过程中, 根本原因就在于价格来源被植入了虚假的数据信息, 最终导致在几个小时之内就损失了数亿美金。
因此, 对于已经成熟的项目来讲, 通常会选用好几个相互独立的预言机来进行交叉验证的操作, 并且还要设定一个用来兜底的偏差阈值, 千万不要去指望说仅仅依靠一台机器就能做到绝对的靠谱这种事儿, 采用多源的冗余设计还有加上那些去中心化的节点, 才算是真正正确的路子。
预言机其实就是那个让区块链能够连接到外部世界的唯一通道, 虽然这扇门并不能挡住所有的风险或者问题, 但是大家还是需要清楚明白应该采用什么样的方式来给这一扇门上锁以确保安全。
