前两天跟发烧友讨论了区块链里经常提到的一个英文单词Oracle是什么意思。今天整理分享给大家。
Oracle是先知的意思,不特指某个公司,而是指能确定信息真伪的机构。为了能让区块链程序和世俗世界互动,或者根据真实世界发生的事件,执行相应的逻辑变化(比如转账),我们需要设计一种信息流入的机制,能让“世俗世界”的信息真实可靠地传递到这个世外桃源当中。
这类机制广泛的被目前的区块链开发者称为:Oracle(先知)
所有智能合约运行的必要条件,无论是以太坊、EOS,预言机都是智能合约与外部数据交互的唯一途径。
预言机有多重要?
所有智能合约的触发和运行都需要数据源,没有提供外部信息的预言机,智能合约只能发挥在极少数的地方,实用性大打折扣,一旦区块链拥有了预言机系统,它的智能合约就能应用在现实世界的每个领域。
Oracle的核心功能是提供数据上链服务。
“我们不生产数据,只是数据的搬运工”
智能合约是在区块链提供的沙盒环境中运行,沙盒是个封闭环境,使合约代码不能读取链外数据。
但很多时候智能合约又必须依赖外部触发条件。
比如这样一个智能合约:
某次航班将于10:00am到达目的地,如果航班延误将触发智能合约,投保人将获得500代币的补偿。
在这个例子中,航班的时间就是一个链外数据。对于这样的数据,智能合约是无法从外部网站获取的。所以就需要预言机来搬运,将外部数据写入到区块链中,使合约得以完成。
以上内容整理来自欧链和简书
————————
来自硅谷live晓杰
网友评论