零点课堂 | 什么是区块链预言机?

1、预言机(Oracle)是什么?

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

听上去很难理解,我们举例来说。

大家会很形象的把公链比作操作系统,DAPP 类比的话就是 APP,那么预言机可以形象的比做 API 接口(API 是一组定义、程序及协议的集合,通过 API 接口实现计算机软件之间的相互通信)。这个类比虽然不准确,而预言机正是扮演这样的角色,预言机是区块链和现实世界之间的纽带,可以实现数据互通的工具。

2、大家对预言机或 Oracle 的误解

提起预言机,很多人的第一反应是预测市场,实则并不是,预言机实际上还可以为预测市场提供最终的结果。

而关于 Oracle,大家又会联想到甲骨文公司(Oracle)或 Oracle 数据库,在区块链世界中,预言机与 Oracle 公司和数据库也没有任何关系。

Oracle 这个词最初是来源于古希腊宗教,意为“神谕、先知、预言”。在互联网领域,预言机(Oracle Machine),又称谕示机,是一种抽象电脑,用来研究决定型问题。可以被视为一个多了个黑盒子(预言者)的图灵机,这个黑盒子的功能是可以在单一运算之内解答特定问题。这么看来区块链领域的预言机也是像一个黑盒子,用来解决区块链与现实世界中间的特定数据问题。

3、区块链为什么需要预言机?

区块链是一个确定性的、封闭的系统环境,目前区块链只能获取到链内的数据,而不能获取到链外真实世界的数据,区块链与现实世界是割裂的。

一般智能合约的执行需要触发条件,当智能合约的触发条件是外部信息时(链外),就必须需要预言机来提供数据服务,通过预言机将现实世界的数据输入到区块链上,因为智能合约不支持对外请求。

区块链是确定性的环境,它不允许不确定的事情或因素,智能合约不管何时何地运行都必须是一致的结果,所以虚拟机(VM)不能让智能合约有 network call(网络调用),不然结果就是不确定的。也就是说智能合约不能进行 I/O(Input/Output,即输入/输出),所以它是无法主动获取外部数据的,只能通过预言机将数据给到智能合约。

我们通过一个例子来说明一下。假设现在我被关进了一个小黑屋里,我对外面的世界发生了什么几乎一无所知,不知道外面是否有人,即使呼叫也没有人回应,只有外面的人在门口把他看到的听到的都告诉我,我才可以得知外面的世界。

而智能合约就像这个例子中的我一样,它无论何时何地,都无法主动向外寻求信息,只能外部把消息或数据给到里面。而预言机就是这个在外面输送消息和数据的人。好像这么看来,智能合约并不是很智能呀,智能合约其实是完成的不太智能的事情,即写好了条件和结果,当给它条件的时候,就可以触发,当然有些情况下还需要合约相关的人进行私钥签署才可以执行。

以上就是区块链为什么需要预言机,因为智能合约无法主动去获取链外的数据,只能被动接受数据。

4、预言机怎么解决这个问题

来源:Chainlink 白皮书

这就是理想中预言机的工作流程,即用户的智能合约把请求给链上 Oracle 合约,通过链下的 API 接口获得外部数据,更确切的说是外部把数据给链上的 Oracle 合约,然后 Oracle 合约再把数据给用户的智能合约。

或许很难理解,因为在互联网中,调用数据是非常容易的,只需要在程序中写调用的代码就可以了。但是区块链与外部世界的数据交互,确实不能进行这样的操作。

5、预言机的应用场景有哪些?

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

先说 DeFi 领域的项目为什么需要预言机。类似 DAI 这样的稳定币系统,需要获取 ETH 的实时价格,来判断所抵押的加密货币是否达到了平仓价格进而触发平仓。假设有 1000 个节点,那就需要向交易所(比如币安)或 CoinMarketCap 的 ETH / USDT 交易对进行 1000 次的 API 数据请求 ,但是,由于 ETH 的价格是实时变动的,加上网络延迟、计算速度等原因,每个节点获取到的价格可能都不相同,这部分数据被输入到智能合约后,节点间无法达成共识,那么整个系统就会崩溃。所以在 DeFi 领域稳定币、去中心化杠杆交易、金融衍生品交易等都需要预言机,只是短期内大多数项目选择使用自己搭建的预言机服务,但实际上这会有很多问题,比如单点故障、易受攻击等。

本文由旖旖撰写,零点财经收录,观点仅代表作者本人,绝不代表零点财经赞同其观点或证实其描述。 

本文由 零点财经 作者:旖旖 发表,其版权均为 零点财经 所有,文章内容系作者个人观点,不代表 零点财经 对观点赞同或支持。如需转载,请注明文章来源。
分享生成图片
3

发表评论

零点课堂 | 什么是区块链预言机?

2021-01-27 10:21:00

1、预言机(Oracle)是什么?

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

听上去很难理解,我们举例来说。

大家会很形象的把公链比作操作系统,DAPP 类比的话就是 APP,那么预言机可以形象的比做 API 接口(API 是一组定义、程序及协议的集合,通过 API 接口实现计算机软件之间的相互通信)。这个类比虽然不准确,而预言机正是扮演这样的角色,预言机是区块链和现实世界之间的纽带,可以实现数据互通的工具。

2、大家对预言机或 Oracle 的误解

提起预言机,很多人的第一反应是预测市场,实则并不是,预言机实际上还可以为预测市场提供最终的结果。

而关于 Oracle,大家又会联想到甲骨文公司(Oracle)或 Oracle 数据库,在区块链世界中,预言机与 Oracle 公司和数据库也没有任何关系。

Oracle 这个词最初是来源于古希腊宗教,意为“神谕、先知、预言”。在互联网领域,预言机(Oracle Machine),又称谕示机,是一种抽象电脑,用来研究决定型问题。可以被视为一个多了个黑盒子(预言者)的图灵机,这个黑盒子的功能是可以在单一运算之内解答特定问题。这么看来区块链领域的预言机也是像一个黑盒子,用来解决区块链与现实世界中间的特定数据问题。

3、区块链为什么需要预言机?

区块链是一个确定性的、封闭的系统环境,目前区块链只能获取到链内的数据,而不能获取到链外真实世界的数据,区块链与现实世界是割裂的。

一般智能合约的执行需要触发条件,当智能合约的触发条件是外部信息时(链外),就必须需要预言机来提供数据服务,通过预言机将现实世界的数据输入到区块链上,因为智能合约不支持对外请求。

区块链是确定性的环境,它不允许不确定的事情或因素,智能合约不管何时何地运行都必须是一致的结果,所以虚拟机(VM)不能让智能合约有 network call(网络调用),不然结果就是不确定的。也就是说智能合约不能进行 I/O(Input/Output,即输入/输出),所以它是无法主动获取外部数据的,只能通过预言机将数据给到智能合约。

我们通过一个例子来说明一下。假设现在我被关进了一个小黑屋里,我对外面的世界发生了什么几乎一无所知,不知道外面是否有人,即使呼叫也没有人回应,只有外面的人在门口把他看到的听到的都告诉我,我才可以得知外面的世界。

而智能合约就像这个例子中的我一样,它无论何时何地,都无法主动向外寻求信息,只能外部把消息或数据给到里面。而预言机就是这个在外面输送消息和数据的人。好像这么看来,智能合约并不是很智能呀,智能合约其实是完成的不太智能的事情,即写好了条件和结果,当给它条件的时候,就可以触发,当然有些情况下还需要合约相关的人进行私钥签署才可以执行。

以上就是区块链为什么需要预言机,因为智能合约无法主动去获取链外的数据,只能被动接受数据。

4、预言机怎么解决这个问题

来源:Chainlink 白皮书

这就是理想中预言机的工作流程,即用户的智能合约把请求给链上 Oracle 合约,通过链下的 API 接口获得外部数据,更确切的说是外部把数据给链上的 Oracle 合约,然后 Oracle 合约再把数据给用户的智能合约。

或许很难理解,因为在互联网中,调用数据是非常容易的,只需要在程序中写调用的代码就可以了。但是区块链与外部世界的数据交互,确实不能进行这样的操作。

5、预言机的应用场景有哪些?

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

先说 DeFi 领域的项目为什么需要预言机。类似 DAI 这样的稳定币系统,需要获取 ETH 的实时价格,来判断所抵押的加密货币是否达到了平仓价格进而触发平仓。假设有 1000 个节点,那就需要向交易所(比如币安)或 CoinMarketCap 的 ETH / USDT 交易对进行 1000 次的 API 数据请求 ,但是,由于 ETH 的价格是实时变动的,加上网络延迟、计算速度等原因,每个节点获取到的价格可能都不相同,这部分数据被输入到智能合约后,节点间无法达成共识,那么整个系统就会崩溃。所以在 DeFi 领域稳定币、去中心化杠杆交易、金融衍生品交易等都需要预言机,只是短期内大多数项目选择使用自己搭建的预言机服务,但实际上这会有很多问题,比如单点故障、易受攻击等。

本文由旖旖撰写,零点财经收录,观点仅代表作者本人,绝不代表零点财经赞同其观点或证实其描述。