手工客

关注公众号 shougongke

关闭
手工客 > 区块链 > 正文

预言机的原理是什么?预言机基本原理介绍

说起预言机,它也是区块链领域中非常重要的一个功能,很多不太了解预言机的小伙伴可能会认为预言机就是能够预言的机器,其实预言机并不是常规的预言的意思,它代指的是数据的真实与权威。在区块链的世界中预言机就是一个能够为链上提供可信数据的工具,同时它也能够成为连接现实世界和区块链世界的桥梁。目前市面上共有三种预言机,分别是中心化预言机、去中心化预言机和联盟预言机。很多投资者想要知道预言机的原理是什么?下面就让小编为大家介绍一下这个预言机的基本原理。

预言机的原理是什么?

首先,预言机一般会作为区块链的一个独立模块或第三方服务与执行引擎进行交互。预言机只负责数据的可信获取,不直接参与交易的执行。首先,用户通过合约调用的形式(也可以通过特殊的API接口服务等其他方式发起预言机服务请求)发起预言机的服务请求,通过调用某个内置合约接口(图中“预言机服务”接口),告知区块链执行引擎,用户想要执行一笔含预言机服务的交易。

其次,执行引擎执行过程中检测到对预言机的服务请求,通过内部通信组件将它转发给预言机模块,这个请求里会封装请求外部数据源的一些信息,如一个Web数据请求,会包含常见的URL、HTTP Headers等信息。

再次,预言机在收到服务请求后,向外部数据源发起数据获取请求,拿到数据后利用交易生成器产生一笔新的内部回调交易,并对其进行签名(这一过程会使用TEE等硬件技术保障安全及不可篡改)。

最后,预言机将这笔回调交易发向执行引擎,执行对获取到的数据组织、管理、存储等一系列操作,至此一个完整的含预言机服务的区块链交易执行流程结束。

为什么会有预言机?

因为在分布式系统中,需要确保多个节点最终执行结果的一致性,从而保证系统稳定运行,对于随机数、实时数据等操作是极具风险的,所以区块链牺牲了会导致执行结果不一致的外部动态数据的获取需要,把自己变成了一个封闭的、确定性的沙箱环境。

在这个环境中,链上的数据都是被动得到的(通过交易的形式输入),且区块链在运行智能合约的过程中无法对外部请求获取新数据,只能基于已有数据以一种确定性的方式产生新数据,而区块链上的智能合约或者去中心化应用(DApp)对外界数据又有强烈的交互需求,这与智能合约的执行环境产生了矛盾。

预言机因解决此矛盾而诞生,并且一发而不可收,通过预言机中间件,智能合约可以主动获取外部的数据,触角可以延伸到传统业务系统、公开网站、物联设备、链下计算、链链互通等方面,做到了很多之前做不到的事情:获取传统业务数据、调用公开网站信息、物流快递追踪、保险自动赔付、获取其他链的信息...从此打开了想象力的大门。

如果从功能的角度来看的话,预言机的功能还是比较的纯粹的,它主要的目的就是解决区块链内外数据可信连通的问题,还能够通过中心化和去中心化这两种方式来提供服务。如果从应用的场景来看的话,链外的所有数据能够组成一个非常大的生态,预言机还能够在公开网站信息、物流追踪、保险自动赔付等很多场景进行应用,它的发展其实也依赖于区块链以及智能合约的发展。

以上就是预言机的原理是什么?预言机基本原理介绍的详细内容,更多关于预言机的原理介绍的资料请关注手工客其它相关文章!

阅读全文