区块链为什么需要预言机

2018-12-07  本文已影响32人  011ac79d683d

这篇文章再继续聊聊预言机。

跟几个朋友说起预言机,但是好像很难解释清楚,所以我又搜集了一些资料,试着通过其他方式再阐述一下预言机的重要性。

智能合约最早是由尼克萨博在1996年提出,他对智能合约的定义是,一个智能合约是一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议。就是一个在满足某个条件的时候,会自动执行的合约。

但在区块链中,“智能合约”可能并不智能,合约需要满足相应的条件才会触发自动执行,而且还需要合约本人进行私钥签署,才能够执行。

当合约的触发条件是外部环境因素的时候,可能就不那么简单的可以执行合约了。

因为合约本身无法自己去获取链外的数据或变量。

为什么智能合约无法直接获取链外的数据呢?

因为区块链是基于共识的系统,所运行的智能合约也要求一定是确定性的程序,每笔交易和区块处理过后,每个节点必须要达到相同的状态。

因此,智能合约不能主动去获取链外的不确定的信息,这会导致区块链的共识机制崩溃。

解决办法就是我们先通过某种方式获得智能合约所需要的一个或一些数据,然后最终确定一个确定性的的数据,主动传送给到智能合约。这样智能合约拿到的就是一个确定的数据。

那预言机其实就是来完成这个任务的。它就像是一个黑匣子。可以通过某种方式,获得满足链上智能合约或者DApp需求的链外数据,帮助实现链上与链外现实世界的数据交互。

预言机的运作原理:当区块链上的某个智能合约对外界数据有需求时,向预言机提出数据请求,预言机帮助智能合约在链外收集外界数据后,再将接收数据反馈回链内的智能合约。

最近又更新了一篇详细介绍预言机的文章,请点击这里《什么是区块链预言机(BlockChain Oracle)

上一篇 下一篇

猜你喜欢

热点阅读