读书笔记N237:Defi之预言机(Oracle)

192 字

读书笔记N237:DeFi之预言机(orcle)

本笔记资料来源于区块链微信公众号关于预言机的网址和摘录的文字内容、百度搜索和微软搜索的有关内容。

预言机Oracle是一个链外数据的提供平台,作为智能合约的参数输入来源,它能够将链外的数据真实准确的输入到链内,从而保障链上数据的真实性,实现智能合约可信的与外部世界进行交互。
以太坊是一个去中心化的具有图灵完备智能合约的区块链平台,能够提供场所允许人们去搭建去中心化应用DAPP,许多DAPP要与现实中的数据进行交互,因此也就需要一个技术来提供支持,这就是虚拟机Oracle。

预言机解决的恰恰就是智能合约在执行过程中所面临的如何将现实中数据真实上链的困难。智能合约的触发和运行不能没有数据源。没有这种提供外部信息的平台,智能合约只能应用在少数地方,实用性也会大打折扣。

Aave、Augur、bZx、Compound 等 11 个 DeFi 协议中,有 5 个正在或计划使用去中心化预言机 Chainlink 。Aave使用 Chainlink 提供 16 种加密货币的价格信息。bZx 将结合 Chainlink 的功能,在基本 bZx 协议之上构建一个单独的预言机解决方案。

预测市场是为了研究人员、投机者和希望押注未来事件的交易员而建立的。一般来说,它们被设立的主要目的是让市场参与者利用事件的结果。预测的范围从交易所平均数据到特定公司的季度销售报告,再到选举甚至大宗商品价格。
从政治、金融、体育和世界范围内的事件来看,预测市场可以正确地预测实时事件的发生,同时确保分散网络上的信任交流和投注结算。

在预测市场中,另一家站在金融分散化前沿的公司是Gnosis。使用Gnosis,任何人都可以使用条件令牌创建定制的预测应用程序,从而使交易事件的结果成为可能。

人们生活在一个链下的世界,很多经验规律和结论都是总结链下的数据所得,而将数据从链下写到链上则需要人来进行。因此,就不可避免的要面临信息去信任化的传递从链下到链上这一环节出现断层。

一旦有了这些预言机系统,智能合约几乎可以应用在现实世界的每个领域。一旦数据被传入区块链,便可以作为执行合约所需的输入或者提供使用案例,其带来的改变对大多数行业来说都是颠覆性的。

在链外访问的信息并不是如此,他们可以是不连续的,因此这些信息在区块链里无法被信任或使用。区块链的这一特性赋予了它不变性,但是减少了灵活性和可扩展性。
链外的信息从某种程度上来说是非确定性的,这意味着事件没有发生的特定顺序,会造成透明度方面的问题。因为在这个过程中,如何去保证数据传送者不会在过程中修改数据,如何认证接收外部数据的节点是单节点还是所有节点同步接收,外部数据如何在区块链中达成共识这些都是数据透明度所面临的问题。

预言机作为一个提供外部信息的平台,提供了智能合约在合约满足运行时的必要条件。通过在区块链与互联网之间建立一道可信的数据网关,打破智能合约获取数据的束缚,在保证可信的情况下,使其具有访问互联网数据的能力。区块链访问互联网中的数据可以通过预言机接入API进行

预言机(oracle)提供了多种数据源服务器,包括Url访问、数据搜索引擎、区块链内容数据、IPFS文件访问等等,其中Url访问和区块链内容数据提供了基于TLSNotary的可信证明技术,也是常见的数据访问需求。

通常,一个成熟的架构了预言机的生态需要由以下几部分构成(并不需要全部包含在内):状态通道:此概念源自于闪电网络,节点之间通过搭建状态通道来进行L-BTC的交易。之后被应用在一些预言机类的公链中,比如AE。区别于以太坊将智能合约全部放在主链的节点中,AE等一些公链将智能合约搭载在状态通道中,从而缓解主链的压力。
分片:分片技术即通过改变网络验证的方式来增加吞吐量,其独特于其他解决扩容的链上技术的关键特性,就是它可以进行水平扩容,也就是说,网络的吞吐量随着挖矿网络的扩展而增加。
轻节点:以以太坊为例,区别于需要同步全部的账本信息数据的全节点,轻节点SPV可以让设备作为轻量化的RaspberryPi来加入网络,下载区块头部作为显示
交易市场:交易场所包括On-chain和Off-chain两种形式,其中Bitshares,zen协议,Stox,Bodhi和Aeternity这些项目将交易市场放在链上,其弊端是无法通过状态通道来实施扩展;而Gnosis和Augur则是采用Off-chain的形式。
预言机:为了使预言机在这些条件下有效运行,用户需要向预言机提交更多的抵押来确保其更加安全,这要求通过升级使得权益更有价值来实现。而另一些采用外部数据源的预言机,没有抵押品可能会面临来自于外部的攻击。
基础链平台:像Augur、Stox等预测类项目,借助的是以太坊公链;Bodhi借助的则是量子链。而另一些预言机类项目自身就是基础链,比如Bitshares、Aeternity、Zen Protocol等。
用户基础:区块链生态中社区很重要,与传统互联网项目不同,现在的区块链项目应用门槛过高,大多都是通过社区的形式进行推广。

预言机对智能合约的增益:1、提供可信的共识,预言机提供的解决方案是通过第三方发送一笔区块链交易,在交易中附加需要的数据,交易会将数据嵌入区块,并同步到每个节点,从而保证数据的完全一致,因此可以用于智能合约的计算中;总结就是由第三方将数据推送进区块链,而不是由智能合约将数据拉取进去。2、 提供第三方受信,预言机是一种可信任的实体,它通过签名引入关于外部世界状态的信息,从而允许确定的智能合约对不确定的外部世界作出反应;预言机具有不可篡改、服务稳定、可审计等特点,并具有经济激励机制以保证运行的动力;目前来说,预言机有两种模型,一个是单一模型,另一个是多重模型,有时候多重模型又称为预言机网络。

目前,预言机主要分一下三种类型:软件预言机:它主要是指通过API从第三方网站或服务商获取数据,来作为智能合约的输入数据。
硬件预言机:该预言机更广泛的被应用在物联网领域,体现在物联网上的数据采集器。比如高速公路路口的检测仪器,可以快速获取车辆数据并上传到网络。
共识预言机:上述两种预言机都是中心化的预言机,区别于此共识预言机也称去中心化预言机,是目前很多区块链项目都采用的技术(下一章会予以分析)。该预言机传入区块链的数据并非来自于直接的摘取,而是来自分布式参与者的投票。

Dpos共识机制尽管被诟病中心化严重,但就其运行效果来说没有出现什么大问题,暂且认为其真实可信。而且去中心化本质上来说是一个程度问题,且是实现目的的手段而不是目的本身,因此通过类似于Dpos节点的模型来搭建预言机是可行的。即便在极端情况下,多数节点联合诈骗,也可以通过搭建节点需要抵押一定数量的代币以及撤掉节点资格等方式来预防。

Aeternity(简称AE)是由德裔计算机科学家,有“以太坊教父”之称的Yanislav等人于2016年发起的一个基础公链项目,号称“欧洲以太坊”。AE的创新在于使用了账户命名、图灵完备的状态通道以及去中心化预言机,可以用于小额支付,保险、众筹、贸易金融等领域,主要是对现有的以太坊底层系统做了创新和改进。
状态通道:Aeternity的智能合约是纯粹的功能选项,仅仅存在于状态通道中,用户仅在侧链上进行互动。通过提供无法篡改的公共数据,并可根据预言机的设定执行合约,选举结果,资产价格,天气情况这些大量商业应用的核心内容都会适用于aeternity的预言机。更重要的是,相比于其他项目,AE的预言机是去中心化的。混合共识:Aeternity区块链通过结合工作量证明法POW和权益证明法POS的双重算法这一富有创造力的方式实现共识。基于布谷鸟算法,即使是智能手机也足以挖到新币,这会是去中心化的极致。技术治理:AE将采用矿工投票与持币人共同决策的方式治理社区。

任何一个AE代币的持有人都可以通过提交一个[是/否]问题的答案来启动一个预言机。此时,他们还需要明确这个问题可以得到解答的时间表,这个问题既可以是马上被回答,或是未来的某个时刻可以回答。启动预言机的用户需要按照时间表的长度存入等比例的AE代币,只要用户此后提供一个被接受为真相的答案,这些代币将会退换,否则将会被毁。区块链会为这个预言机产生一个独一无二的标识符,一旦答案准备就绪,这个标识符就可以用来寻回答案。

Augur缩写REP,即reputation的缩写,是Augur系统中的流通货币。Augur的定位是建立在以太坊平台上的去中心化预测市场平台,于2015年6月正式发布,是以太坊上的第一款应用。REP的代币性质是ERC20,它可以被看做是一个与个人公、私相关的积分,可被分割与交易。其代币总量为1100万枚,现已全部流通

Augur采用了一个叫“群体智慧”的概念,它的意思是,一群人的智慧会高于这群人中最聪明的人。所以,Augur的预测结果往往比较接近事情的真实走向。依靠群体智慧来预判事件的发展结果,可以有效地消除对手方风险和服务器的中心化风险。同时,利用区块链全球流通的属性,Augur创建了一个全球性的市场。如何保证每个人都作出理性的预测呢?用户用Augur代币进行预测和下注,如果预测正确,你将获得对手方的筹码,如果预测错误,你将损失下注的成本。
Augur预言机技术实现的方式是将REP代币作为抵押品,抵押品的数额即REP的价值。 Augur预言机保证所有市场下注量受到REP市值的限制,其中包括那些链外的交易。

以太坊协议上的去中心化预测市场,Gnosis也是一款应用了预言机技术的项目。它为人们对任何事件的结果预测提供了一个开放平台,大大简化了定制预测市场应用的创建过程。同时,Gnosis利用了区块链信任机器以及智能合约自动执行的特点使玩家可以更加灵活自由的进入预测市场,给预测市场的带来了更加巨大的想象空间。

BitShares作为一种“可预测市场”经济理论的实验,加上与其相关的金融、博彩类应用,自然少不了预言机技术的应用与开发。除了上述主流项目,还有这些项目也运用了预言机相关的技术,其中包括基于EOS的预言机OracleChain欧链、Amoveo、预测类项目Bodhi菩提、Stox拳王币、Delphy天算等。

关于预言机,可以从以下四个角度予以定位:信息公正处:在一个智能合约中,当你制定一个预言机,你是正在选择一个决定你的数据如何解释、它在你的合约环境下意义何在的“法庭”。决策制定板:当一个智能合约被写在以太坊“白板”上的时候,它对于所有参与方来说都是完全可见的,因此,对于合约将如何执行也就不会有模棱两可的地方。连接数字与现实世界的锁:要获得一个“结果”,原始数据往往需要根据某个描述世界的模型进行汇总、过滤、组合以及保持一致。直接承担风险的机构:直接承担风险意味着做对和做错时要承担的收益或损失是对等的。预言机的构建通常需要其声明抵押保证金、随时间推移建立声誉、为数据签名,以及恶劣情形下的第三方众筹等工具组合来进行。

预言机使得智能合约变得灵活、复杂、强大。它拓展了智能合约的应用场景,包括不限于以下几种形式:博彩:这是目前使用预言机比较普遍的应用,也是目前落地情况比较好的区块链应用之一。合同执行:智能合约不需要预言机也能够建立起来,通过预先设定的某种条件自动执行。金融衍生品:监控数字或非数字资产的合同也能够应用于期货合约、远期合约、互换合约、期权合约。债务与权益:其它基于根据事先制定的规则实现支付和权益变动也能够写成智能合约。投票选举:未来智能合同可以用来执行民主、官僚和其它类型的对资产或者组织的控制结构; 财产所有权转移:通常情况下财产所有权转移中,货币类资产只需要转账行为、非货币交付行为、不动产则需要变更登记作为生效要件。

https://www.8btc.com/article/324111 预言机研究报告:虚拟与现实的纽带,数据真实上链之锚

预言机是一个对区块链技术非常重要的概念,它连接着区块链世界与真实世界。
对于智能合约来说,预言机就是每个智能合约的输入参数。所有智能合约都绕不开预言机的输入数据,输入数据决定了智能合约的运行结果。
几乎绝大多数的区块链项目都需要预言机,只有预言机的内容确定了,不同节点在运行相同输入数据的智能合约后,才会产生相同的结果。

比如在数字资产上链项目上,线下的中心化资产评估机构就是预言机;在航空延误险中,航班实际起飞时间就是预言机;在棋牌彩票类游戏中,发牌的随机数就是预言机;在国际贸易中,开航时间以及到港时间就是预言机;期货期权市场中,价格就是预言机;溯源确权时,各个生产环节的原始数据的就是预言机。

目前,预言机主要有以下三种类型:
一、软件预言机(Software Oracle)
即通过API从第三方服务商或者网站获取数据,来作为智能合约的输入数据。
最常用的如天气数据、航班数据、证券市场数据等等。
二、硬件预言机(Hardware Oracle),绝大多数物联网上的数据采集器就是硬件预言机,比如溯源系统中,安装在各个设备上的传感器;交通卡刷卡设备;银行卡POS机;采集各种医疗数据的医疗设备等等,都属于硬件预言机。区块链技术在物联网领域的广泛应用将催生出大量的“硬件预言机”,“硬件预言机”的核心技术与区块链无关,而是传感器和数据采集器。
三、共识预言机(Consensus Oracle); 这种预言机通过分布式的参与者进行投票,来决定输入到区块链的数据。这方面的案例有:Augur、Gnosis和国内的天算Delphy项目。

由于预言机的存在,其实对区块链的更精准的定义应该是:“维持信任的机器”。区块链本身并不产生信任,信任的输入来自于“预言机”。

Oracle 这个词大家都翻译成预言机,但是 Oracle 这个词如果你去查英文字典,有神谕、传达神谕的人、能提供可靠意见的人的意思,这和圣经中的先知 Prophet 很类似。

Chainlink 是一个去中心化的预言机(Oracle)解决方案。在互联网的世界里,如果需要实时获取外部数据,就需要找对应数据的接口,比如想获取天气预报,就找提供天气预报的权威机构的接口,想获取一场比赛的结果,就可以获取权威体育网站的接口,或者如果比赛结果很重要,可能需要人工配合确认最终的结果

预言机又分为中心化预言机和去中心化预言机,中心化的预言机容易引发单点故障从而导致整个系统无法运作,相对来讲,去中心化预言机所提供的数据更安全可靠。而 Chainlink 是首个提出去中心化预言机的项目。

预言机是一个提供可靠外部数据的平台,那么凡是与数据相关的行业,皆可成为 Chainlink 的应用场景。比如今年 DeFi (去中心化金融)的兴起,也带动了预言机的概念,目前预言机最主要的场景就是 DeFi,像抵押借贷就需要预言机在贷款生成时提供价格,也需要在保证金率不足的情况下及时触发警告。像去中心化的稳定币,也需要预言机自动获取稳定币和锚定资产的兑换率。

据 Chainlink 官方介绍:Chainlink 已经被包括谷歌云、甲骨文、SWIFT、Web3/Polkadot、Hedera Hashgraph 在内的数十个区块链项目以及互联网巨头所采用。
今年6月 Coindesk 报道,谷歌云的博客文章显示,它们会使用“ Chainlink Oracle 智能合约”将 BigQuery 数据放置在区块链上,其中 BigQuery 是谷歌的数据仓库和商业智能管理方案。
web 3.0 是一个万物互联的时代,也会是一个 DAPP 爆发的时代,那么Chainlink 将可能成为其中的重要组成部分,因为预言机解决了区块链与互联网、现实世界的数据交互,预言机能提供大量的可靠的链下数据反馈、多种APIs 以及传统的支付信息。

web 3.0 是一个无服务器、去中心化的互联网,主张我们可以从互联网中获益,但无需将控制权交给少数公司,每个人都能掌握自己的身份、资产和数据。

数据来源有两种,一种本身就在区块链上,比如一个帐户中 ETH 的数量;一种本身没在区块链上,比如 ETH 的价格。区块链系统如何获得自身之外的数据?可以通过预言机(Oracle):当合约需要某个链外的数据时,它去找预言机要,预言机就去链下获得这个数据,然后把数据告诉给该合约。

传统互联网是中心化结构的,在这种系统中,用户选择该中心化机构,就得相信这个机构提供的数据,对数据的信任问题转移为对中心的信任问题,数据的「上网」是由中心化的服务器自己来完成的。当然,用户也可以选择不信任。

在预言机问题上的体现就是:用预言机上链数据并不难,简单的读写操作就能把一个链下的数据「喂」给链上的合约;但生产信任却很难,预言机要通过技术和机制的设计,使得自己提供的数据能够满足用户对信任的需求。所以,从功能上看,预言机解决的是数据问题,但从本质上看,预言机需要解决的是信任问题。这正是互联网没有「数据上网」问题,而区块链却有「数据上链」问题的原因。

根据信任的不同来源,可以把如今的主流预言机分为如下三类:
1. 由可信的中心提供数据,比如 Provable (原 Oraclize)。
2. 由分布式的节点提供数据,比如 Chainlink。
3. 由可信的联盟提供数据,比如 Maker 的预言机。

预言机的作用不是提供「真实的数据」,而是提供「可信的数据」。不同的应用场景对信任的需求是不一样的。并不是所有的数据都要在最高程度的可信保障下上链,这涉及到信任的成本问题,也与数据可信的重要性、数据造假的动机等等维度相关。
不同的应用场景,信任的来源 / 支撑是不一样的。也就是说,并不能认为某种信任生产机制实现的信任就是最优的,而某些机制实现的信任就是不好的。

预言机的设计还涉及到另一个重要问题就是数据源的问题,即预言机中的数据提供者从哪儿获取数据。可以分为两种类型,一种是从单一数据源获取数据,一种是从多个数据源获取数据。

预言机要解决的是信任问题,由可信中心提供数据的预言机通过技术证明 / 保障自己的可信,而由分布式节点提供数据的预言机则是通过机制的设计,来保障自己的可信。后者也常常被称为去中心化预言机、去中心化预言机网络。

预言机服务提供商从分散的数据源获取数据,并将数据提交给 Chainlink 的链上聚合合约(中长期战略中将改为链下聚合以节约 gas 费成本),该合约经由算法计算出数据结果,并将结果发送给提出数据需求的区块链应用。

由可信的联盟提供数据」是「由分布式的节点提供数据」的一种特殊形态,其特别之处在于,组成预言机网络的节点是指定的。Maker 的 V2 版预言机或许可以划归为这一类型,其节点除了匿名的个人喂价方,还可能包括 0x、dYdX、Set Protocol、Gnosis 等指定的喂价机构。
相比之前的两类预言机,这类预言机的信任组成是相对复杂的,包括对系统的机制设计的信任;对节点的信任,这很大程度上源于节点本身的利益相关者身份以及节点本身的机构声誉;对选择节点的 Maker 和 Maker 本身机制的信任。

Chainlink的旗舰产品oracle为开发人员提供了方便的数据访问服务,这些数据得到了越来越多的安全分散网络的验证。Chainlink专注于去中心化应用程序的最大用例之一——dapp。 Chainlink为所有这些数据源提供了一个安全的桥梁,它使用了一个由经济激励机制支持的独立节点池,而不是由一个单一的中央政党控制。允许智能合约访问BTC、ETH、LINK、BAT等数据的数据网络的数量正在迅速增长,现在有近30个,Chainlink计划很快公布完整的名单。

DeFi项目通常是通过创建自己的oracle开始的,离线聚合利率和汇率等数据。纳扎罗夫认为,许多人得出的结论是,把这个项目委托给Chainlink是既省时又省钱的,更不用提比它安全20倍了。

Chainlink最近与去中心化的衍生品平台Synthetix整合,创建了代表法定货币、加密货币、大宗商品、指数等的合成资产(synths)。Synths让交易员/投资者能够在不实际持有资产的情况下,了解相关资产的动向。

区块链上的数据都是通过共识机制达成的全局共识,而现实世界的数据并非都是共识的结果。两个世界的连通需要可靠的预言机。通过预言机提供可信的数据,转换成为区块链可读可用的数据。
加密世界需要哪些现实世界的数据?从目前发展看,迄今为止,需求最大的是DeFi领域,DeFi中MakerDAO、Compound、Synthetix、dYdX等都需要预言机提供的价格数据流服务。

随着智能合约的发展,会有更多的场景需要链外的数据。例如合成资产智能合约,可能需要来自于纳斯达克、纽交所的价格数据流;房产智能合约,可能需要来房地产市场的数据流;保险智能合约,例如航班延误险需要航班活动的数据流;贸易金融智能合约,可能需要获取GPS相关数据等。此外,随着人工智能和物联网的发展,智能合约对现实世界数据的需求只会越来越大。

ChainLink预言机的工作流程大致有如下几步:
用户智能合约(USER-SC)从链上发出请求;
ChainLink智能合约(CHAINLINK-SC)为预言机记录一个事件;
ChainLink Core接到事件,并路由任务,给到适配器;
ChainLink适配器向外部API发出请求;
ChainLink适配器处理响应,并将其返回给Core;
ChainLink Core将数据报告给ChainLink智能合约(CHAINLINK-SC);
ChainLink智能合约汇总响应,加权得出一个最终反馈,并将其发送给用户智能合约

ChainLink智能合约响应用户智能合约的数据请求或查询。它包括三个组成合约:声誉合约、订单匹配合约以及汇总合约。其中声誉合约记录的是预言机服务提供者的历史表现;订单匹配合约通过SLA(Service Level Agreement,服务水平协议)为预言机需求者提供选择,例如价格水平、预言机数量、声誉等,并根据需求确定预言机服务提供者;汇总合约汇总不同预言机的响应,并加权计算出最终结果。
总的来说,ChainLink链上的工作流有三步:一是,选择预言机;二是,报告数据;三是,汇总得出结果。

ChainLink Core 节点软件负责与区块链交互,CHainLink节点的工作是完成各种任务。每个任务有一组小的子任务。每个子任务执行特定任务,然后将其结果传递到下一个子任务,由此得到最终结果。ChainLink节点软件内置了一些子任务,包括HTTP请求、JSON解析、转换为各种区块链格式等。

LINK代币是其预言机数据交易市场的支付媒介,同时也是工作权利代币。ChainLink网络使用LINK代币向节点运行者支付费用,以获得节点提供的链下数据流中检索数据的服务、将数据格式化为区块链可读格式、链外计算、以及保证正常运行。用户智能合约为了使用ChainLink预言机节点,它们也需要向其所选的ChainLink节点支付运营费用。由此可见,LINK的价值来源于ChainLink预言机服务市场的规模。

而对预言机来说,最核心的是安全问题。只有解决了安全问题,它才有立身之本。在解决安全问题的方法中,去中心化是达成安全的重要方式。ChainLink提出了一系列的解决方案,包括数据来源的去中心化、预言机的去中心化、可信硬件、对数据的签名,以及安全服务措施(验证、声誉、认证、合约升级)等。它为人们在去中心化预言机领域的探索开启了一条道路。

https://mp.weixin.qq.com/s/33VveRlO2f7Nm-7Mi3RcfQ ChainLink、预言机与两个世界的连接