火星链 火星链
Ctrl+D收藏火星链

ART:科普 | 一文了解预言机的起源、定义、原理及发展

作者:

时间:1900/1/1 0:00:00

在保险、金融、随机预测、物联网等各个场景中,预言机在区块链中已经展现出其不可替代的价值:作为区块链延伸的触角,搭建了链内与链外之间的可信桥梁,构建相互融合的价值生态。

本文将从预言机的起源、定义、原理、发展等角度进行介绍。

——Part1从神谕、图灵机角度看预言机——

说起预言机Oracle功能,颇具历史和神话色彩,它与Oracle甲骨文公司无关,最早起源于古希腊神话中的角色“神谕者”,神谕者可以跟奥林匹斯山上的诸神进行沟通,对未来做出预言,并将神的旨意传达给祈求未来的人民,因此Oracle最早有着“先知”的含义;在计算复杂度理论与可计算性理论中,预言机是一种抽象电脑,用来研究确定性问题。可以被视为一个附加了黑盒子的图灵机,这个黑盒子的功能是可以在单一运算之内解答特定问题。根据给定,预言者可以给予“是否”或者确定的计算决策结果。

相信大家已经看出在不同的场景中,预言机都会做着相同的事:在未来的某个时间给予某个系统一个确定的输入。区块链中的预言机也不例外,甚至可以说是天作之合,其作用恰好解决了区块链中的一大痛点问题:外部数据源的输入确定性。

人大附中物理老师李永乐科普拜占庭将军问题和区块链:5月14日,人大附中物理老师、科普视频网红李永乐在其公众号发布视频《拜占庭将军问题是什么?区块链如何防范恶意节点?》。李永乐老师在视频中对拜占庭将军问题和区块链进行了讲解,他表示,拜占庭将军问题本质上指的是,在分布式计算机网络中,如果存在故障和恶意节点,是否能够保持正常节点的网络一致性问题。在近40年的时间里,人们提出了许多方案解决这一问题,称为拜占庭容错法。例如兰波特自己提出了口头协议、书面协议法,后来有人提出了实用拜占庭容错PBFT算法,在2008年,中本聪发明比特币后,人们又设想了通过区块链的方法解决这一问题。区块链通过算力证明来保持账本的一致性,也就是必须计算数学题,才能得到记账的权力,其他人对这个记账结果进行验证,如果是对的,就认可你的结果。与拜占庭问题比起来,就增加了叛徒的成本。[2020/5/14]

图1?预言机的多种含义

——Part2区块链预言机中间件解读——

区块链为什么这么在意外部输入的确定性?

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

动态 | 人民日报官方微博科普区块链 强调区块链不等于比特币:人民日报官方微博今早发表9图科普区块链。其中涉及区块链的特点有:1、安全;2、不可篡改;3、可访问;4、无第三方。区块链对未来的影响:1、不需繁琐个人证明;2、看病避免反复检查;3、旅行消费更加便捷;4、交易无需第三方。同时强调,区块链不等于比特币。比特币只是区块链技术的一种应用,区块链还有医疗卫生、食品安全、版权保护等诸多应用领域。[2019/10/28]

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

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

——Part3预言机功能架构解读——

听起来好像预言机也没什么了不起,只是一种中间件调用外部数据,然后把数据返回到区块链中,但理想很简单,现实很骨感,如果思考下去,你会发现在使用过程中有几个难点:

动态 | 央行官微旧文重发“再科普”:范一飞详解数字货币:据中国经济网消息,今日,央行官微公众号头条重新发布央行副行长范一飞在2018年1月25日题为《关于央行数字货币的几点考虑》的文章,对央行数字货币再次进行科普。同时,微信公众号第二条发布支付司副司长穆长春8月10日在第三届中国金融四十人伊春论坛上的演讲。近年来,各主要国家和地区央行及货币当局均在对发行央行数字货币开展研究,新加坡央行和瑞典央行等已经开始进行相关试验,人民银行也在组织进行积极探索和研究。[2019/8/21]

如何保证获取的外部数据源真实可信?如何保证数据在传输和处理过程中的安全?时效性、成本...?针对上述问题,我们根据趣链区块链平台预言机架构流程图进行阐述说明。

图2?预言机架构模型图

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

动态 | 浙江卫视节目科普支付宝区块链防伪溯源产品:昨日,在浙江卫视播出的科普综艺栏目《智造将来》现场,支付宝首次展示了支付宝区块链防伪溯源产品,以接地气的方式公开向大众展示区块链在生活中的应用。[2019/3/4]

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

再次,预言机在收到服务请求后,向外部数据源发起数据获取请求,拿到数据后利用交易生成器产生一笔新的内部回调交易,并对其进行签名。

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

根据上述的生命周期流程,我们对开头的问题进行一一探讨:

1)如何保证获取的外部数据源真实可信

这是预言机使用过程中最核心的问题,回答是没有绝对可信,只能做到相对可信。我们在设计过程中主要在数据源认证、数据获取标准流程、数据格式统一等方面进行约束:

a)数据源选取和可信认证。预言机需要谨慎选择外部数据源,必须保证对每个选取的外部数据源,都可以验证其是可信的,如对于Web的数据获取,选取的数据源需持有证书。

声音 | 火星人朋友圈科普RAM:火星人在朋友圈发文称,“什么是RAM?简单来说就是EOS这个国家的土地,所有的经济行为都离不开土地。只要EOS的BP们能投票形成一个稳定的供给预期,并且不改变目前的Bancor算法,那么RAM后续的价格有可能会像北上广深的房价走势。房价下跌不行,房价过快上涨也不行,EOS的生态越来越像某国了,真有意思。”[2018/7/6]

b)数据获取标准流程。开发者必须明确执行引擎、用户、外部数据源与预言机的数据交换流程,且对于不同的数据源类型要能够统一或明确区分数据的交互流程,确保交互方案可执行可落地。

c)数据交互格式的统一定义。不同的数据源类型有不同的数据交互格式,以传感器作为数据源和以Web作为数据源获取到的数据格式是不一样的,针对不同情况,明确统一的数据编解码层,以对不同数据源的数据进行请求和解释。

2)如何保证数据在传输和处理过程中的安全

预言机通过两个阶段对进行中的数据实现可靠保证。

a)数据从网上到本地,采用HTTPS协议去保障连接和数据的正确性、完整性。

b)数据从本地到链上,预言机采用可信执行环境(TEE)技术,TEE是CPU内一块安全区域,和操作系统独立运行,可以确保数据处理过程中的机密性、可靠性,趣链区块链平台研发了基于SGX的TEE实现以及基于国产芯片的TEE实现,进行预言机的安全保护。

3)时效性、成本等

链外的数据交互处理相对于链内来说,在数据源可信度、预言机可信度、处理复杂度等方面都会增加,而真实场景中可信度的不同,严重影响着预言机的实现效率以及实现成本。在公有链中,默认多方完全不可信,所以会通过多预言机模型实现聚合处理、共识规则、奖惩机制及声望系统,以达到提高作恶成本的作用,这无疑增加了功能实现的复杂度;在联盟链场景中,预言机使用场景相对可信封闭,且机构节点间可信度高,单预言机实现效率高、成本低,但存在单点作恶的问题,所以各位在使用过程中应该因地制宜,根据场景具体选择最适合的实现方式。

——Part4技术现状解读——

现在市面上预言机的分类主要为中心化预言机和去中心化预言机两种。

▲?中心化预言机

中心化预言机因其中心化的思想,需要引入第三方可信机构,如国家或能提供背书的大型企业,验证方式也是通过第三方独立验证。

以预言机项目Oraclize为例,作为一个中心化预言机,通过TLS协议实现Web数据的可靠传输,并结合IntelSGX确保数据在本地不可篡改,Oraclize给用户提供了API接口,用户只需要调用预先设计好的合约接口,就可以使用预言机服务获取外部数据。

由于Oraclize是中心化预言机,作为一个独立的单点模块,这样的实现具有高性能的优势,但同样也有单点故障、难以拓展的风险,且中心化的思想与区块链的去中心化理念有一些背道而驰,国内主流联盟链趣链区块链平台、蚂蚁链等大都采用中心化预言机的实现方式。

▲?去中心化预言机

去中心化预言机秉持着与区块链相同的去中心化原则,通常使用多重签名或分布式算法保证数据的正确性、一致性,不需要引入第三方机构,但在实现上会更困难,性能也会成为瓶颈。

以Chainlink为例,它建立了一个去中心化的数据网络,每个预言机都是网络中的一个节点,其架构分为链上组件和链下组件。链上组件负责和用户交互,收集、响应用户请求,而链下组件则是之前提到的数据网络,用于处理数据获取和传输。

在这个架构中,由于Chainlink是一个分布式的数据网络,所以可以避免单点故障的问题,但同样地,因为增加了分布式的数据一致性需求,其性能和实现难度成为了新的难题。

对比来看,中心化预言机由单机负责数据获取,需要引入第三方可信机构,而去中心化预言机则是多机并行,通过互相验证保证一致性。因此中心化预言机适用于对实时性要求高、可信度高的场景,用户体验较好;而去中心化预言机则相反。

——Part5总结——

从功能角度来看,预言机的功能比较纯粹,主要解决区块链内外数据可信连通问题。针对不同的信任场景,预言机也采取了中心化和非中心化的两种方式提供服务。

从应用场景来看,链外数据是一个很大的生态,预言机可以应用在公开网站信息、物流追踪、保险自动赔付、获取跨链信息等多场景...预言机的发展一方面依赖于区块链/智能合约技术的发展,一方面又助力区块链/智能合约的业务延伸,随着区块链在金融、保险、物联网等行业生态规模的扩大,预言机未来的生态价值也很值得期待。

从商业角度来看,预言机模式其实类似一个数据服务提供商,中心化预言机的商业模式本质上是一个数据服务平台,而去中心化预言机是一个多元的数据服务生态,两者发展方向各有千秋。

气氛烘托到这里,相信大家对于预言机的应用场景案例会比较感兴趣,我们会在姊妹篇《预言机应用场景介绍》进一步阐述,各位看官敬请期待,有更多想了解的也欢迎与我们交流探讨~

作者简介

李世敬

趣链科技基础平台部产品负责人

负责区块链底层产品相关业务

标签:区块链ORARACART区块链存证怎么操作nora币局draco币兑换wemix实时sparta币在那个交易所

芝麻开门交易所热门资讯
COIN:CoinShares以1700万美元完成对Invesco Elwood全球区块链股票ETF业务的收购

据雅虎财经7月6日消息,加密货币管理公司CoinShares今日宣布,以1700万美元完成了对InvescoElwood全球区块链股票ETF业务的收购.

1900/1/1 0:00:00
NASA:华东政法大学教授:以虚拟货币为名实施电信网络属于涉众型犯罪

据澎湃新闻7月12日消息,华东政法大学金融监管与刑事治理研究中心主任、博士生导师、教授毛玲玲今日在以“涉虚拟货币相关犯罪法律适用问题”为主题论坛上表示,对以虚拟财产或虚拟货币为对象的犯罪.

1900/1/1 0:00:00
TOK:去中心化计算平台DFINITY宣布开源项目编程语言 Motoko

去中心化计算平台DFINITY已经开源项目编程语言Motoko宣布项目编程语言Motoko的编译器、解释器、测试套件及文档已全面开源.

1900/1/1 0:00:00
Rarible:NFT再度火出圈!推特发布140件免费NFT作品,转售1ETH起

NFT又要火了。继NFT在艺术圈成功破圈后,推特助力NFT在互联网圈破圈:在北京时间6月30日晚上,推特官方账号将自己的推特简介更改为“droppingNFTsallday”,并发推表示“140.

1900/1/1 0:00:00
TAB:融资新闻 | NFT平台Mintable完成1300万美元A轮融资

要点:NFT平台Mintable在亿万富翁投资者MarkCuban的支持下,已在A轮融资中筹集了1300万美元。该轮融资有Ripple、AnimocaBrands、Metapurse等公司参与.

1900/1/1 0:00:00