区块链预言机(Oracle)是什么?|金色百科

此前,据Medium消息,去中心化借贷平台Compound发布了名为“开放预言机系统”的社区项目,以此设定价格预言机的开放标准,让开发者可以从分布式的价格信息流中贡献价格数据。该项目的原型机目前已经在以太坊Rinkeby测试网上运行,发布来自Coinbase Pro、Kraken和币安这三个来源的价格信息。

为什么智能合约不直接调用Coinbase Pro、Kraken和币安的价格信息,而是要通过“开放预言机系统”呢?

要弄懂这个问题,首先,我们必须什么是预言机(oracle )。预言机(oracle)既不是预测价格的机器,也不是甲骨文(oracle),而是打通区块链的链上和链下的机制,即将区块链外信息写入区块链内的机制。

区块链是一个确定性的、封闭的系统环境,目前区块链只能获取到链内的数据,而不能获取到链外真实世界的数据,区块链与现实世界是割裂的。区块链不允许不确定的事情或因素,智能合约不管何时何地运行都必须是一致的结果,所以虚拟机(VM)不能让智能合约有 network call(网络调用),不然结果就是不确定的。智能合约不能进行输入/输出,无法主动获取外部数据的,所以只能通过预言机将数据给到智能合约。

而预言机可以将外界信息写入到区块链内,完成区块链与现实世界的数据互通。它允许确定的智能合约对不确定的外部世界作出反应,是智能合约与外部进行数据交互的唯一途径,也是区块链与现实世界进行数据交互的接口。

下图就是理想中预言机的工作流程,即外部把数据给链上的 Oracle 合约,然后 Oracle 合约再把数据给用户的智能合约。

NpxnXuvnoshZxUzKGjZHzSR2TUoUFRKdVmHtEW71.png

预言机作为区块链与现实世界进行数据交互的桥梁,应用场景非常多。或者说,一切需要与链下进行数据交互的 DApp 都需要预言机,比如金融衍生品交易平台、借贷平台、快递追踪 /IoT、稳定币、博彩游戏、保险、预测市场等。

以目前最热门的 DeFi 概念为例,如果是一个通过加密资产抵押或者借贷的项目,那就需要预言机在贷款生成时提供价格数据, 同时能监控加密抵押物的保证金比率,在保证金不足的时候发出警告,并触发清算程序。 甚至,借贷平台能用预言机来导入借款人的社交、信用和身份信息,以确定不同的贷款利率。

举个例子, 稳定币DAI需要获取 ETH 的实时价格,来判断所抵押的加密货币是否达到了平仓价格进而触发平仓。假设有 1000 个节点,那就需要向交易所(比如币安)或 CoinMarketCap 的 ETH / USDT 交易对进行 1000 次的 API 数据请求 ,但是,由于 ETH 的价格是实时变动的,加上网络延迟、计算速度等原因,每个节点获取到的价格可能都不相同,这部分数据被输入到智能合约后,节点间无法达成共识,那么整个系统就会崩溃。

在保险应用方面,类似 Etherisc 这样的平台正在建立去中心化的保险应用, 包括航空延误险、 农作物保险等等。用户以 ether 支付保费,购买保险,并根据保险协议得到自动赔付。预言机能为这类应用引入外部数据源和事件, 帮助去中心化的保险产品做出赔付的决定,并能安排未来的自动赔付。所以在 DeFi 领域稳定币、去中心化杠杆交易、金融衍生品交易等都需要预言机。

参考知乎孙孝虎文章《什么是区块链预言机(BlockChain Oracle)》

责任编辑:李萍萍我要纠错
声明:本文系金色财经原创稿件,版权属金色财经所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:金色财经",违者将依法追究责任。
提示:投资有风险,入市须谨慎。本资讯不作为投资理财建议。

金色财经 > 区块链 > 区块链预言机(Oracle)是什么?|金色百科