为什么谷歌与甲骨文都选择与这家预言机合作?深度剖析 Chainlink 的方案
7 月底,老牌商业媒体福布斯?报道?了?Chainlink?与甲骨文公司合作的新闻,让更多非加密货币领域的科技圈和商圈人士认识了 Chainlink 这个项目,而其实早在 6 月 Google Cloud 博客的介绍就已经让 Chainlink 火了一把。在文章中,Google 介绍了其即将接入 Chainlink 预言机,并演示如何使用预言机将 BigQuery API 接入智能合约。
此外,Chainlink 还将为全球支付骨干 SWIFT 提供企业级的智能合约获取链下数据服务。除了传统巨头,Chainlink 也被许多新兴项目选为他们智能合约的预言机方案,比如当下热门的 Polkadot、Hedera 等四十多个项目,为它们提供实时的智能合约数据读取服务。让人惊讶的是,Chainlink 本身并不是一条区块链,而是属于预言机(Oracle)范畴。到底什么是预言机?为什么传统巨头和当下领先的区块链项目都选择与 Chainlink 的预言机合作?
作者:赵伟,潘致雄
区块链技术发展至今,除去扩展性、吞吐量、安全等方面的瓶颈之外,限制其大规模落地应用的另一个关键问题就是:如何与现实世界的数据进行连通。说白了,区块链其实只是一个确定性的、封闭的系统环境。目前的区块链项目,大多只能获取到链内的数据,而不能获取到链外真实世界的数据,区块链与现实世界之间是割裂的。不解决这个问题,智能合约还是只能局限在发币、竞猜等应用场景,无法实现全面的落地。
如果想要从真实的应用场景切入区块链或者智能合约,那预言机将是一个绕不开的重要环节,这也是大家越来越关注预言机的原因。
区块链与智能合约无法实现链上链下数据映射
试想如果没有大量的债券、证券、票据等价格信息,区块链的 DeFi 梦想怎么照进金融业的现实?如果没有物联网设备采集的海量信息,区块链和物联网怎么可能打通呢?现有的许多区块链项目,虽然能够在一定程度上保证链上信息的透明、不可篡改,再利用智能合约的帮助,也能够在理论上实现许多商业逻辑。但是在数据方面,链上数据与链下数据的映射,始终是一个较难解决的问题。
即便解决了数据的问题,也还有准确性的问题。如果想要在链上获取真实的外部数据,就需要用一个极度可靠的预言机方案,毕竟已经发生过因为预言机或者数据源出错而导致的巨大损失。
所以怎样的预言机才是安全可靠的?为什么 Google 和甲骨文只选择与 Chainlink 合作?
预言机作为区块链与现实世界进行数据交互的桥梁,应用场景非常多。或者说,一切需要与链下进行数据交互的 DApp 都需要预言机,比如金融衍生品交易平台、借贷平台、快递追踪 /IoT、稳定币、博彩游戏、保险、预测市场等。
以目前最热门的 DeFi 概念为例,如果是一个通过加密资产抵押或者借贷的项目,那就需要预言机在贷款生成时提供价格数据, 同时能监控加密抵押物的保证金比率,在保证金不足的时候发出警告,并触发清算程序。 甚至,借贷平台能用预言机来导入借款人的社交、信用和身份信息,以确定不同的贷款利率。
在保险应用方面,类似 Etherisc 这样的平台正在建立去中心化的保险应用, 包括航空延误险、 农作物保险等等。用户以 ether 支付保费,购买保险,并根据保险协议得到自动赔付。预言机能为这类应用引入外部数据源和事件, 帮助去中心化的保险产品做出赔付的决定,并能安排未来的自动赔付。
稳定币也是一个很大的应用场景。比如 tether 或者 digix,是由一个中心化机构发行的货币。而另一类去中心化的稳定币则由算法自动控制,包括 bitUSD, Dai 等,它们以加密资产抵押物为基础,还有 Basecoin, kUSD 等以算法银行为基础的稳定币。所有的稳定货币都需要预言机的帮助,来获取稳定币和锚定资产的兑换率等数据。
此外,物联网领域也是预言机可以发挥作用的领域。物联网设备通常需要采集大量的现实世界数据,这些数据都处于链下。一旦预言机解决数据上链的问题,供应链领域中存在的大量问题都有可能被解决。比如各个环节都能够保证透明、不可篡改,参与供应链的各方也都能够快速同步信息,极大地降低交易成本。
总之,一旦解决如何可靠地将链下数据传导到链上的问题,就等于为区块链应用开发者们搭建了结实的底层基础。结合着区块链性能的突破以及网络传输速度的提升,开发者们便能够在此基础上创造出真正服务于用户的商品或服务,帮助区块链应用真正的落地。
而 Chainlink 率先意识到要发挥出智能合约 区块链的真正能力,就必须要先解决数据上链问题的预言机项目。Chainlink 致力于提供一种可信并且规模化的去中心化预言机解决方案,帮助提升智能合约的可信程度与确定性。
前面提到,在 DeFi 涉及的借贷、保险、稳定币、去中心化杠杆交易、金融衍生品交易等应用场景中,都需要预言机。而目前市场上现存的预言机实际上都多多少少存在一些问题,比如单点故障、易受攻击等。
知名的衍生品交易平台 Synthetix 在 19 年 6 月份就曾遭遇了预言机攻击,损失超过 3700 万枚 sETH。在事发当时,KRW 的价格仅由两个 API 提供,其中一个 API 间歇性地汇报错误的 KRW 价格(为正常价格的 1000 倍)。而预言机是从两个 API 获得价格数据之后取均值,这样就将得到的错误价格上报给平台的汇率合约。一个去中心化的合成资产发行平台,竟然采用的是自架的中心化预言机,这不免让人觉得非常讽刺。
事件发生后,Synthetix CTO 立即停止了预言机向平台合约汇报汇率的服务,导致系统中所有交易中止。平台后来联系到了交易机器人的所有者,达成了扭转交易换取奖励的共识,恢复了所有的交易,并声称会携手 Chainlink 一起构建更可靠的去中心化预言机。
显然,中心化预言机存在不少弊端与潜在危害。比如可靠性差,有单点故障和单点攻击的问题:一个预言机受到攻击导致上报给合约的数据和信息出错,令整个系统无法正常运作;例如无法保证用户的隐私:因为单平台和第三方机构掌握所有用户 Query 数据的信息。
使用去中心化的预言机服务是避免这类事件发生的最佳解决方案,有意思的是,现在市场上「去中心化」的预言机项目有且只有 Chainlink。
Chainlink 在预言机的设计过程中加入了诸多特性。
根据 Chainlink 的设计,一个完整的数据上链过程如下图所示。用户在链上向 Chainlink 的智能合约 (即所谓的 Oracle 合约) 发起数据获取请求;在收到请求之后,Chainlink 节点组成的网络通过订阅 Oracle 合约的日志获取相关信息;随后由 Chainlink 网络中的节点负责从外部各种 API 接口获取数据;完成之后,经由 Chainlink 在链上处理整合后返回(未来会考虑将处理整合数据在链下实现);最终数据传送至需求用户处,完成完整的数据上链。
Chainlink 预言机完成数据上链的过程
具体来说:
用户通过智能合约向 Chainlink oracle 合约发起数据请求,并且附带相应的数据需求参数(链上),其实也是一笔 LINK 的代币转账,在转账事务的 payload 中携带有数据请求的参数;
Chainlink 节点组成的网络通过订阅 Oracle 合约的日志获取相关信息;
Chainlink Core 拆解用户需求(链下);
拆解后的任务由不同的节点通过外部的 API 数据源完成,获取数据返回;
返回的数据发送至 Chainlink Core;
Chainlink Core 将数据再次返回至链上的 Chainlink 智能合约上;
Chainlink 链上合约整合数据(利用不同节点提供的数据的概率分配、去除异常值(Outliers)等操作),同时根据最终结果纪录每一个提供数据的节点声誉,最终将结果发送给用户的智能合约,完成整个流程。
在具体的机制设计上,Chainlink 主要具有三个特点:开源的去中心化数据获取机制、预言机节点的声誉系统以及可信硬件加持。下面分别看看这些特点各自有着怎样的机制设计。
为了保证数据源的真实性,以及预言机系统的「可获得性」,Chainlink 采用了去中心化的数据获取机制。在 Chainlink 链下网络中,任何人都可以参与网络成为 Chainlink 的一个节点,数据索取方可以根据声誉值选择合适的节点,从外部获取数据,提供服务。
Chainlink 的链下网络具有两层结构,一层是多个预言机节点同时向区块链提供数据;第二层是多个数据源同时向预言机节点提供数据。
Chainlink 预言机的双层结构
多个外部数据源保证了数据获取的去中心化性,同时在大多数节点会为了自身利益正常工作的前提下,保证了数据源的完整性与真实性。而多个预言机节点的使用,则保证了当任意一个预言机出现问题(被攻击、掉线或其他问题)时,其他预言机节点依然能够提供数据服务,以此解决单点失败(Single Point of Failure)的问题。
通过这样的方式,Chainlink 能够实现预言机的去中心化,保证数据上链服务的可靠性。在多个预言机收集到各自的数据结果后,便可以将这多个结果上传至区块链上。随后这些结果将在 Chainlink 在区块链上的智能合约中得到处理,再一次聚合最终将唯一的结果返回给数据需求方。
另外,对于数据索取方而言,可以对智能合约进行定制化,比如说需要多少节点参与外部数据获取,需要节点的声誉值情况等等,因为 Chainlink 为智能合约开发者提供了对智能合约的完全控制能力。
目前市场上诸多类似的预言机项目大多数采用链下聚合的方式,但 Chainlink 采用将数据上链后聚合再发送给数据索取方。这两种做法各有优劣。
Chainlink 的优势在于,第一,链上聚合的方式能够将不同预言机节点提供的数据与其身份联系起来,通过不可篡改的方式记录下来,用于服务 Chainlink 的节点声誉系统;其次,二次筛选过滤进一步增强了数据可靠程度。
比特币的成功之处,不仅在于技术方面的设计,更是精妙地引入了经济激励制度,使那些维护系统安全的人可以获得经济奖励,从而让系统以预设的正确方式运行下去。同样的 ,Chainlink 所构建的去中心化预言机系统,也引入了经济激励和惩罚的制度,提供了一个更完善且合理的经济模型。Chainlink 预言机的主要参与者是数据需求方和数据提供方(节点),所以经济模型也是围绕这两方利益展开的:
数据提供方也就是节点,作为劳动者,会要求数据需求方支付 LINK 代币作为奖励,从而获取到正确的数据,返回给需求方。
数据需求方为了能相信数据的准确性,需要节点有能力提供惩罚机制的保障,作为未完成请求的罚金。
在假设系统内所有参与方都是理性的前提下,经济激励可以使所有参与方都获得他们想要的东西,从而维持系统的正常运转。
在 Chainlink 的节点网络中,还存在声誉系统。链下节点在提供数据的服务过程中能够获得一定数量的 LINK 作为奖励,同时生态也会根据其提供的数据质量对其进行评判,进而影响节点的声誉。而声誉越好的节点,理论上通过提供数据服务能够获得更多的奖励,促进整个预言机系统的良性循环。声誉系统的加入,本质上是在随机性的基础上加入了部分确定性。
为了让数据可以更加安全和私密地传送到智能合约中,Chainlink 在 2018 年的时候还收购了来自于康奈尔大学和IC3 联盟(The Initiative for Cryptocurrencies and Contracts) 的 Town Crier 项目,其中的 IC3 联盟来头不小,是一家由顶尖的研究人员组成的学术机构,位于纽约的康奈尔技术园,学者来自于康奈尔大学、加州大学伯克利分校、洛桑联邦理工学院和以色列理工学院等。Town Crier 是一个基于可信执行环境的预言机方案。那究竟什么是可信执行环境呢?
可信硬件指提供可信执行环境(Trusted Execution Environment, TEE)的硬件设施。TEE 的特点是从硬件的角度,将部分代码以及数据与外界环境隔离,只有通过特定的方式才能够读取 TEE 执行后的结果。TEE 利用实际执行计算任务的芯片,开辟一块无法被随意操纵的运算区域,搭配一套特定的计算指令,用于执行可信计算。多数情况下,TEE 应用于对数据隐私保护较高的领域。TEE 的重要特点之一是其并不存储任何状态,仅负责计算的执行。TEE 负责计算,区块链负责记录计算结果,两者的结合完美地解决敏感数据的计算以及记录问题。
现阶段,对于任意公有链而言,所有的链上信息完全公开透明。这一点虽然是区块链的优势,但同时也限制了部分需要读取用户隐私数据应用的发展。Chainlink 未来计划通过可信硬件的加持,解决部分应用需要保护用户数据隐私的问题。简单来说,就是将外部敏感的信息在 Chainlink 节点网络中(链下)进行加密处理,随后将加密的结果上传至链上。
此类的应用场景在金融领域尤其常见。例如当某一个链上应用对用户进行风险评估时,便需要获取诸多关于用户的金融、社交等方面的个人信息,综合处理后得出一个最终判断。若没有隐私保护机制,用户的所有信息都将会被记录到链上,全网公开。而利用 TEE 的加持,Chainlink 便能够解决这个问题。
Chainlink 与 TEE 结合的应用示例
由于具有开源以及易用的特质,Chainlink 目前已经实际落地,并且正在帮助众多应用开发者开发各类应用程序。现阶段 Chainlink 已经和全球支付网络 SWIFT、互联网巨头 Google 以及全球第三大软件公司甲骨文(Oracle)建立了合作关系。
Chainlink 是 Google Cloud Platform 向其用户发布的首个也是唯一一个区块链云端混合型应用预言机解决方案。Google Cloud Platform 将?使用?Chainlink 的预言机解决方案,将 BigQuery (Google 推出的一个无服务器、扩容能力极强的云端数据仓库)的数据与以太坊区块链连接起来。这使得以太坊应用的开发者可以利用 Chainlink 网络,随时访问 BigQuery 中的海量数据。
Google BigQuery 利用 Chainlink 与以太坊区块链连接
Google Cloud Platform 通过 Chainlink 与以太坊的结合,将帮助区块链智能合约迅速落地,在诸如预测市场、金融衍生品合约交易以及交易的隐私保护方面为用户带来实际的价值。
甲骨文作为世界上第三大的软件公司,在全球范围内为接近 200 个国家的客户提供服务。甲骨文公司利用超级账本(HyperLedger)搭建了自己的区块链平台。而借助 Chainlink 的预言机系统,甲骨文公司为众多拥有数据的中小型企业搭建了一个出售自己数据的平台。甲骨文公司?将在自己的区块链平台上支持超过 50 个 Chainlink 的节点,帮助这些节点通过 Chainlink 预言机解决方案,将数据出售给甲骨文的数十万个客户手中。
除了上述两家公司之外,Chainlink 还将为 SWIFT 提供企业级的智能合约获取链下数据服务。而在区块链领域,Chainlink 的预言机解决方案将作为 Web 3.0 生态系统中的重要组成部分,为链上合约提供数据支持。目前 Chainlink 正在与 Polkadot 合作当中。此外,Chainlink 还将为 Hedera 合作,为后者提供实时的智能合约数据读取服务。
在未来,区块链应用一定不会仅局限在自己的系统内部,区块链与现实世界,区块链之间,都需要进行数据的沟通,而所有的这些数据的交流,都需要有预言机的参与。Chainlink 目前是完成度最高的预言机项目,而且在未来依然大有可为。在高呼了「区块链革命」这么多年之后,我们急切地期盼数字货币以外的「杀手级」应用出现。所以 Chainlink 很可能就会是这个杀手级应用,或者会为那个杀手级应用提供基础设施。
Chainlink 团队的专业背景可谓相当耀眼,核心人物是 CEO Sergey Nazarov 和 CTO Steve Ellis 。
Sergey 是智能合约的先驱之一,他自 2014 年以来构建分布式应用程序,最初创建了第一个基于区块链的消息传递服务 Cryptomail ,然后又创建了 Secure Asset Exchange,后者成为第一个广泛使用的分布式交易接口。在以太坊问世之前,人们就注意到他与 Vitalik Buterin 在一个区块链小组一起讨论问题,并且在大多数人知晓智能合约之前数年便拥有了?www.smartcontract.com这个网站的所有权。Sergey 通过他的公司 SmartContract 和 Chainlink,以给?SWIFT、Google、甲骨文?等大型金融企业以及?Hedera Hashgraph、IOST、Ocean Protocol、Bytom、Web3/Polkadot、ZeppelinOS、Reserve、Amberdata、Synthetix、Brave New Coin、Celer、Wanchain、Matic?等领先的智能合约开发团队开发预言机系统而闻名。
图片来源图片来源于 Twitter 账户 @TheLinkMarine1
而 Steve Ellis 曾经是 Pivotal Labs 的软件工程师和团队负责人,负责保护敏感的 HIPAA 兼容数据并构建可扩展的支付自动化软件。他非常热衷于去中心化的未来建设,并且对以太坊,比特币也十分狂热。
Chainlink 团队还有不少顶级的顾问,其中两位是 Ari Juels 和 Evan Cheng,他们在很早之前就是该项目的顾问。 Ari Juels 是白皮书的共同撰稿人,他是康奈尔大学的博士教授,前 RSA (著名非对称加密算法 RSA 标准制定机构)的首席科学家,以及领先的区块链研究发展联盟 IC3 的联合主任。 有趣的是,Ari Juels 曾在同步会议上与 Nick Szabo 同台,他们当时的话题是「智能合约的力量与希望」,在维基百科上可以查询到,Ari Juels 甚至是 Proof of Work(POW) 这一单词的发明人。另一位顾问,Evan Cheng,是 Facebook 最资深的工程师之一,现在是 Facebook 的区块链主任。
美国电子签名公司 DocuSign 的创始人 Tom Gonser 也是 Chainlink 的顾问之一。DocuSign 由于其具有法律效用、高安全性和易用的特点逐渐取代了物理签名。DocuSign 在文件授权方面取得了巨大成就,成功地将低效物理签名过程转变为通过高效的 Web 界面和移动应用程序来实现。现在,全世界数以百万计的人和数十万家各种规模的企业都使用 DocuSign 作为领先的电子签名解决方案。
电子签名看起来似乎是一个简单明了的想法,但其真正发展起来,实际应用到企业当中,为企业提升销量也经历了较长的时间。发展到今天,DocuSign 已经是全球领先的标志性公司,市值超过 77 亿美元,并且成功登陆在纳斯达克,其产品是许多行业的标准。
Chainlink 与 DocuSign 的早期阶段处于类似的位置,都致力于为企业提供更高效的工作流服务以及降低企业运行的成本。本质上两者都是在为企业提供底层的基础设施服务,而这类服务一般都需要大量积累与扎实的技术底蕴支撑。Gonser 在自己道路上的探索经历,以及宝贵的经验,可以帮助指导 Chainlink 走上大规模采用的道路。Gonser 对于 Chainlink 正在做的事情十分认可,他表示「(区块链)缺少的便是这样一套强大的 API,可以将这些智能合约与现实世界关联起来。这也是我对 Chainlink 正在做的事情感到十分兴奋的原因之一。」
Chainlink 是一个从产品定位、团队背景和技术实力都值得让区块链和加密货币行业关注的明星项目。通过 Chainlink 的方案,可以为区块链平台提供一套切实有效的数据上链基础设施,同时兼顾数据的安全性、隐私性和准确性。所以这么多项目选择 Chainlink 的预言机方案也就不足为奇了,在简单易用的基础数据服务之外,还可以使用自定义化程度很高的复杂方案解决项目方对链下数据几乎所有的需求。
Chainlink 会是将来所有链下数据和链上智能合约的一个桥梁,帮助区块链和智能合约突破区块链平台本身的束缚,为区块链技术可以在真实使用场景中的应用提供了一套可靠且去中心化的地基。