随着各式去中心化金融应用的蓬勃发展,背后不可忽视的议题是Oracle也逐渐被重视起来,近期许多相关项目代币价格更是涨得疯狂。 什么是 Oracle? (翻译)Oracle 为智能合约提供关键的服务:把外部事实带进合约中执行。 Oracle 概念示意图 在进入本文之前,想先问你一个问题:要如何设计一个让智能合约取得链外信息的方法? 为什么区块链需要 Oracle? 由于区块链是一个封闭的系统环境,目前区块链只能获取到链内的数据,而无法获取链外真实世界的数据。本质上来说,智能合约即写好了条件和结果的代码,当特定条件被给予或满足时即能够触发。而若智能合约执行需要的触发条件是区块链外部的信息时,就必须要依靠 Oracle 提供数据,透过 Oracle 将现实世界的数据输入到智能合约中。因为智能合约只能被动接收数据,无法主动去获取链外的数据,这就是区块链需要 Oracle 的原因。Oracle 示意图 (来源ChainLink白皮书) Oracle 的实际应用情境 Oracle 作为现实世界数据与区块链的桥梁,各式各样的区块链应用都需要 Oracle 提供外部数据。例如:稳定币、借贷平台、金融衍生品交易平台、预测市场、博弈游戏、保险等。
区块链上的智能合约保险也是,假设某间公司推出了透过智能合约执行的车祸保险,究竟有没有发生车祸、情节严重性及应理赔金额其实都必须要靠人来决定,并透过Oracle 从外部向智能合约供给信息才能触发理赔执行。
我们实际来看一些牵涉 Oracle 的大型项目案例: 去中心化美元稳定币DAI的 Oracle 实例 以旧版的 DAI: Single Collateral DAI -现名 SAI 来作说明。不可讳言,在 DeFi 世界中最重要的 Oracle 即 MakerDAO 的 ETHUSD 价格 Oracle,广大的去中心化金融应用生态系都围绕着 MakerDAO 与 DAI 开展。
让我们了解下牵动整个 DeFi 生态系的 MakerDAO Oracle 实作过程:
MakerDAO Oracle 架构示意图 币价的即时更新方式
这 14 个Price Feed究竟是何方神圣?为什么它们愿意发送交易为 MakerDAO 提供币价呢? MakerDAO 的 Oracle 生态系运行 MakerDAO 的独特之处在于它是一个去中心化自治组织(D.A.O. — Decentralized Autonomous Organization),从稳定币 DAI 的发行乃至 Oracle 都有设计去中心化的机制来运行。MakerDAO Oracle 生态系中不同的角色关系(来自MakerDAO Blog) Price Feeds
介绍完 MakerDAO 获取 ETHUSD 币价信息的 Oracle 实例后,可以发现 MakerDAO 需要 Oracle供给的是相对单纯的「ETHUSD」单一信息。然而,假设需要的是更多种类的信息,例如:在区块链上打造一个去中心化的预测市场,该如何将球赛胜负或是选举结果等信息提供给区块链呢?紧接着我们来介绍另一个有趣的 Oracle 实例项目。 为去中心化预测市场而生的 Oracle: Augur Augur 是一个架构上有些复杂的预测市场平台,每个人都可以在 Augur 上创建预测市场,而预测市场简单来说就是提出一个是非题或是选择题。我们实际通过一个范例来了解 Augur 的实现流程,假设有人在 Augur 上列出了一个预测市场题目,任何人都能够在 Augur 上针对选项进行下注,即投入以太坊。当结果出炉时,创建这个预测市场的人必须作为 Oracle 去将选举结果汇报给智能合约以进行清算。
系统会将获得最多票数的结果视为正确结果,所有投票给正确结果的 REP代币持有者将可以获得奖励,投给其他结果的人将不会获得。投票结果出炉后仍然会有一段提出异议的期间,如果无异议将清算结束;若是有人想提出异议需要抵押更多的 REP代币展开新一轮的投票。
Augur 预测市场实现流程示意图(来源Augur Medium) 至此,我们便详尽地介绍完了 Augur。总体来说,在 Augur 上创建预测市场的人将作为 Oracle。REP代币的持有者将作为裁判,检视提出异议的预测市场并确保 Oracle 回报的是真实的结果。Augur 透过这样的奖励机制将能让平台变得更加值得信赖与可靠。去中心化 Oracle 网络:Chainlink 有别于 Augur 透过挑战机制处理中心化 Oracle供给错误信息的问题。 Chainlink 试图解决 Oracle供给错误信息的方式是导入一个由去中心化 Oracle 网络组成的中介层——Chainlink Nodes。
Chainlink 的 Oracle 实例 Chainlink 架构示意图 Chainlink 的 Oracle 实例流程 Chainlink 实作流程图 1.用户的智能合约(DeFi DApp)发起一个链上的请求;2.Chainlink 的智能合约收到请求后在链上记录下这个请求的内容; 3.Chainlink 节点内的区块链接口(Core)抓取这个请求内容,并发送给对应外部接口(Adapter); 4.外部接口按请求内容至外部 API(CoinMarketCap)取得数据信息; 5.外部接口将数据格式整理完成后派送给区块链接口; 6.区块链接口将数据信息汇报给 Chainlink 智能合约; 7.Chainlink 智能合约将一至多个节点回传的数据信息进行一次共识整理,并发送结果给用户智能合约。 Chainlink 在Chainlink 节点与外部数据资讯来源两个层面都透过去中心化的架构来降低信息错误的风险。 Chainlink 的节点网络 Oracle 架构
各专业 Oracle 实例解析 去中心化借贷平台 Compound 的 Oracle 实例
Compound 的 Price Oracle 会从前十大交易所抓取币价信息并进行整合。根本来说仍然是由 Compound 团队以中心化的方式来实作。 去中心化合成资产平台 Synthetix 的 Oracle 实例
Synthetix 的 Oracle 是由 Synthetix 的官方团队来运作,透过演算法抓取多个数据来源整合(就是 Synthetix 团队中心化来处理)。然而,最后提到有规划在未来将把Oracle 给去中心化,未来将会透过Chainlink 来为Synthetix 上的各样合成资产即时报价。 结论 1. 中心化 Oracle 与信任 可以看到在上述案例中,Oracle 都是由平台方中心化地来处理,对于使用者而言其实仍然存在一定程度的风险。根本来说使用者必须相信平台为了平台名誉不会供给假的数据资料。然而,如此便又回到了中心化的问题,使用者信赖的对象仍然是平台营运方,而非架构本身,实在是有违去中心化的精神与真谛。
在了解什么是Oracle 之后,未来在参与去中心化金融与各式的区块链应用时,除了注意平台如何操作、界面好不好用、能如何赚钱套例外,当平台牵涉到区块链外部的信息时,我们更应该注意这个项目的Oracle运作方式,才不会让自己的宝贵资产陷于风险当中。
目前 Oracle 其实仍是个较新的话题,不过Oracle 要解决的不只是技术问题,也是经济学问题。许多的专家仍在着手研究提出更理想的 Oracle 架构。期侍未来能看到更多样化的 Oracle 解决方案。 原文链接:Oracle——A bridge between blockchain and the real world —- 编译者/作者:洁sir 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
【一文读懂】两则Oracle项目简介,以及Oracle在DeFi领域各项目中的架构和实际应
2020-08-11 洁sir 来源:区块链网络
LOADING...
相关阅读:
- 启蒙8.11比特币凌晨行情分析2020-08-11
- 火币COO朱嘉伟:DeFi和CeFi的目标一致,但实现路径不同2020-08-11
- 币海引路人:预言成真我的提醒你收到了没2020-08-10
- 老卢论币8/10夜间行情分析多单为主短线操作不可太贪2020-08-10
- 实战解析币圈:8.10晚间比特币行情分析空头仍然为主导地位跟上这波完2020-08-10