首页 资讯 正文

全面概述去中心化预言机

区块链数字资产 2019年08月05日 03:30

预言机会令智能合约再攀高峰。

在此我想感谢我们在 Fabric Ventures 的团队,同时感谢 Joey Krug ( Augur 核心开发者),Tomas Bertani( Oraclize 创始人),Hugh Karp( Nexus Mutual 创始人),James Ryan Moreau( Witnet 技术社区领袖),Gorka Irazoqui Apecechea( Witnet 研究员),Szymon Sypniewicz( Ramp 联合创始人)以及 Przemysław Kowalczyk( Ramp 创始人)给我们的重要反馈。

分布式账本和智能合约能消解当前人类交互协作中由信任问题带来的摩擦,为社会带来史无前例的巨大革新。不过在此之前,如果以上智能合约无法无需额外信任地获取链外输入,那么所谓的创新也不过流于纸面。

去中心化预言机是智能合约和外部世界交互的网关,旨在正常工作的同时不过分依赖单一信源。如何让去中心化预言机落地实施也将引起另一股创新的浪潮。

本文旨在引介以下几点内容:

  1. 为什么预言机服务是去中心化技术

  2. 栈中的重要组成部分对免信任型服务的需求

  3. 预言机面临的复杂挑战及攻击界面

  4. 8 个致力于解决上述难题的项目的概述

I. 我们为什么需要预言机?

无许可链(例如以太坊、Dfinity)上的智能合约运行在有敌手的环境中,其安全性是由仅在网络传播确定性交易(即被所有节点验证过的交易)保证的。智能合约的设计思路是:接受输入 → 执行逻辑 → 更新相应的区块链状态,且这一过程是不可逆的,在区块链的世界里没有 Ctlr Z 回撤。

允许智能合约从区块链系统外部获取数据是一把双刃剑,在极大地拓展区块链应用场景,赋能区块链与外部世界交互的同时,它也引入了一定的信任难题。无许可链中的矿工没有把握能验证所有的外部输入,因此只能无差别地执行任何符合智能合约预置条件的操作。

举个简单的例子: Alice 和 Bob 对比特币在伦敦时间 2019 年 1 月 3 日下午 2 时的价格打赌。他们用智能合约设立赌局,各自向合约中存入 1 个以太币,如果比特币价格高于 $4,200 ,那么 Alice 赢得 2 个以太币,否则 Bob 获得 2 个以太币。智能合约不懂比特币的价格,并且的赌局的结果一旦确定就无法逆转,因此我们一定要保证只向合约上报正确的比特币价格。这时候,我们就需要所谓的预言机(用来提供数据的组件)。

预言机是对世界状态的声明进行签名的实体。举例来说,预言机可以报告 1 月 3 号 Coinbase 的 BTC/USD 价格,也可以报告欧冠联赛的冠军。最终信息是通过一个或多个预言机所采信的一个或多个可信信源消息进行聚合重整得到的。

在深入讨论免信任型预言机的诸多技术细节之前,我们先来看 5 个经预言机赋能后的智能合约关键用例。

金融产品

智能合约和许多金融产品天然契合:利率掉期、现金结算期权、去中心化杠杆交易等等。上述金融产品都需要去信任的数据源来保障链上结算的正确执行。

有些项目有能力甚至已经把这样的预言机应用到了金融产品之中,包括:CDx、dYdX、MakerDAO、Vega Protocol、0x protocol 。

智能合约保险

在免信任且可靠的信源加持下,某些保险产品可以通过编程以智能合约的形式实现。保险业中最大的成本是欺诈,所以预言机的重要性不言自明。目前智能保险的一些项目案例包括:

  • Etherisc 和 Fizzy 实现了航班延误的自动赔付。

  • Nexus Mutual 让受激励驱动的本地预言机验证本地尚未发布的断言,并上报给区块链。

  • FlyingCarpet 实现人工智能和地理数据的新型可编程保险。

货运

GPS 并不是 dApp 根据地理位置自动释放酬劳的合理数据源,因为它是个容易被欺骗的中心化系统。而利用预言机就能降低这个信任成本,以 FOAM 为例,它能降低 dApp 对原始数据源的信任门槛,将信任依赖到去中心化的网络中(在这个场景里就是一个位置预言机)来保障信源所声明位置信息的可信。

抵押借贷和稳定币

在抵押借贷和稳定币的场景中,需要接入判定抵押品价值的可信数据来决定是否需要清偿债务。当稳定币币值与设计值相差过远时,也需要通过预言机获取到币值数据,来判断是否需要采取措施稳固稳定币的价值。举例来说,Maker DAO 的 DAI 是由以太币背书的稳定币(马上会升级为多种资产背书),它在设计中使用了多个预言机来报告以太币的价格,使得当所放出的稳定币没有足够多抵押品背书时及时触发清偿操作,从而保护整个系统。这些预言机是由 Maker 代币的持有者选择并资助运行的。

在去信任点对点借贷平台 Ethlend 和 Dharma 中也有着类似的设计。

预测市场

去中心化预测市场( Augur,Gnosis )将人类协作带向了史无前例的一个新高度,充分利用了群体的智慧。这些市场必须依靠一个或多个预言机来判定链下事件。

II. 确保预言机的诚实

区块链在构建时故意隔离了外部世界和需要额外信任的第三方。然而,大部分的事件还是在链外发生,因此我们要在不损害抗审查性的前提下桥接区块链与链外世界。事实上,dApp 的免信任性取决于链内链外世界纽带中最脆弱的那一条,因此仅仅一个可能会被腐化的信源是远远不够的。

接入多条信源能在概率上取得更高的安全性,不过相应会增加很多成本。具体运用场景所需的信源数量可能有多有少,实际应用中我们应当采取一种基于风险的设计思路来决定不同应用程序需要多少条信源。

以伦敦的气温数据为例,如果仅仅用在手机 app 上的数据展示,即使数据出了问题也不会有严重后果,那使用一个预言机(例如 API)也就足够了;而如果预言机上报的温度决定了价值 1000 万美金的保险合约的赔付结果,我们就有必要接入很多预言机,包括卫星数据、本地传感器数据等等。

总的来说,需要根据涉及资金量的大小来平衡所建立预言机系统的成本,在实际应用中找到适合自己场景的预言机方案。

瑞士奶酪模型

要想保证第三方一直不作恶是很难的。在中心化世界里解决这个信任问题要使用多个保护层:合约、可信赖的公司、保险、法律等等。只要至少还有一个保护层没有失灵,就可以认为系统依然是诚实的。然而如果所有的保护层都被腐化堕落了,那攻击就生效了(瑞士奶酪模型)。

-适配瑞士奶酪模型(图源)-

LIBOR 丑闻就是过度依赖中心化预言机的一次教训。伦敦同业拆借利率(简称 LIBOR )是商业和私人贷款中常用的利率参照,支撑了约 300 万亿美金的贷款。然而根据 thesources 报道,最早可以追溯到 2005年 或 2003 年,这一指数就遭到了某些掉期交易员的合谋操纵。LIBOR 同时也是评价银行运行状况是否良好的指标,因此对此利率的操纵也导致了在 2007-2008 金融危机期间某些机构看起来比他们的实际情况更健康。

所以此处我们再次强调单一(未经审计)的信源是无比脆弱的,它会影响所服务的系统的安全性。

世上没有完美的系统,但我们可以将多重屏障的概念应用到去中心化的预言机系统中,从而尽尽可能完善最小化信任机制。

A. 多重数据源

减少数据失误的最简单办法是用预言机把多重数据源聚合起来。这样以来,只有两种可能收集到离谱的数据:一是大部分数据源都腐化了,二是预言机本身被攻破了(变成了一个单点故障问题)。

B. 多重预言机

当增加预言机数量时,依概率大多数预言机不会是恶意的,因此只要系统中的多数仍保持诚实,那系统就是安全的。然而无论是有意操纵还是无意为之(信息源本身失效),此时都没有排除所有预言机都传递错误信息的可能。

C. 利益共享

去中心化网络可以制定特定的激励机制,以保证网络参与者的行事准则和网络的整体利益一致。当网络参与者按照规则活动时就能获得奖励,比如说矿工挖矿可以得到区块奖励,权益证明系统需要罚没条件来抵御女巫攻击和无利害关系攻击。

让去中心化网络中的匿名参与者充当预言机十分危险,在去中心化系统中,一旦他们作恶来获取经济利益,也尚未有法律条文来追索那些不义之财。利用代币工程的设计,能强制去中心化网络中的节点质押一部分 保证金/存款,这些资产通常是系统中的原生货币。当节点好好工作时,会获取一定的酬劳,而如果节点作恶,就会按一定比例失去所质押的资产。上述机制保证了预言机系统有正向的激励机制来促进参与者生成准确数据。

D. 可信执行环境(TEE)

英特尔最近的 SGX (Software Guard eXtensions)和 ARM 的 TrustZone 都属于可信执行环境,由于二者较为相似,我们下面以英特尔的产品为例作介绍。

简而言之,SGX 允许程序在 CPU 的围圈(enclave)中执行,为用户级别的代码赋予了硬件层面的保护。首先,围圈避免了应用程序(数据、代码和控制流)受到其它进程的破坏。其次,围圈保护了应用程序的机密性,即程序的数据、代码和执行状态在理论上对剩下部分的操作系统不透明,但程序依然可以读写围圈区域以外的内存。

SGX 希求能在恶意操作系统上保护围圈中的程序,也因此甚至能保护应用程序不被节点上的系统管理员破坏。在围圈中运行预言机程序并分发数据能强有力地确保预言机程序的安全运行,因为可以从远端检测到系统是运行在合法的 SGX 系统之上。

不过值得留意,在 SGX 发布后已经有两个漏洞 (March-2018 & July-2018) 相继被发现,并且目前还有研究在探索一些其他的漏洞。尽管第一个漏洞已经被修复,但这警示着我们只采用 TEE 仍然会造成单点故障。当智能合约的执行依赖于来自一个或多个预言机自动生成的输入时,必须设计多重保护层来避免单点故障。

上述保护屏障单个抽离出来不能算是万无一失,但当它们联合起来共同作用时,能起到更强有力的保护效果。在下一节中,我们将介绍去中心化预言机系统中的主要攻击界面,并举例说明对应的防御措施。

III. 女巫攻击和其它去中心化系统的弱点

造一个预言机系统并不难,难的是其中去信任成分的设计。

关键风险:依赖智能合约裁决事务的各方之间是存在利益冲突的,而匿名的预言机没有诉讼风险。当运行多重预言机系统时,各个预言机必须达成共识,因为智能合约只接受一个输入。因此为了防御攻击,需要设计机制来保证预言机满足以下要求:

  • 无法互相辨认

  • 无法互相通信:一个有着相当大投票权力(譬如说 40% )的预言机能广播自己的答案,而且不需要刻意说服其它节点自己的结果是主流答案。不过如果其它节点已经知道这个节点具备如此大的投票权力,那这个要求也相对没什么意义了。

  • 无法向其他节点证明自己是自己答案的所有人:和上一点类似,需要设计机制来隐藏各节点提交的答案,同时只有在所有人都提交答案之后才暴露其来源节点。

以下的攻击策略或漏洞对去中心化的预言机网络是有效的。

多数人攻击:存在这样的风险,即网络中大多数的节点都是由一个实体或是一个同盟来控制的。此时网络依然是由多数人控制,但已经被恶意操纵了。在去中心化的预言机网络项目中要尤其注意此类风险,需要根据节点的信誉和节点总数来决定节点的权力。

镜像:这是去中心化预言机网络中一种特殊的女巫攻击。为了降低节点运行的成本,某个节点的控制人可以只通过一个节点收集一次数据,然后在链下将数据传递给自己控制的其它节点。当他传递的数据依然真实时,这种攻击并没有很大危害,但如果所传递的数据有问题,它会大大降低整个系统的安全性 ,因为系统通过多方查询来提炼数据准确性的机制被破坏了。

吃空饷:当一个预言机恶意复制其它预言机的答案时,我们称他为吃空饷。可以通过“提交-揭露”(commit-reveal)机制来解决这种问题,即预言机所提交的答案是加密的,只有当足够多预言机都已经提交过答案后,才解密全部人的答案。

数据腐败难以被探查,特别是当只有一个信息源(单点故障)时。此问题的解决思路通常是设立多个信息源和多个预言机,以降低数据腐败的风险。

链上数据机密性:如果数据的请求既敏感又私密,即使加密了数据请求,最终数据上报时也会不自觉地揭露该请求信息。这个问题的解决思路是强制节点在 TEE 围圈环境中执行解密,并向区块链汇报所有用户和节点都能看到的通用答案。举例来说,对于一个航班保险,用户可能不想要别人知道他要从伦敦飞到纽约。因此预言机在知道具体航班之后,只在区块链上回答“一趟航班是否延误了?”,或者其它只需用 是/否 来回答、而无需进一步披露信息的问题。

IV. 致力于去中心化预言机的项目

许多去中心化程度不同的项目都致力于解决上述问题,或是编写多种激励机制来减少对单一信任中介的依赖,或是引入成熟的攻击-抵御机制。囿于篇幅,本文无法逐一介绍各项目的深度细节,因此下文将对各种项目进行高度概括性的描述。

所有的项目可以分为两类:通过网络提供预言机服务,以及网络自带预言机服务。

1.预言机即服务

ChainLink (LIVE)

Chainlink 的目标是构建一个完全去中心化的预言机网络,网络节点兼容以太坊、比特币和 Hyperledger,并支持模块化:系统的每个部分都支持升级。其主要的想法是为预言机打造一个可信的市场。有良好行为的预言机节点会受到激励,其表现和声誉会公之于众,反之有恶意行为的节点会受到惩罚。Chainlink 一开始是在链上对预言机的数据进行聚合,后续将通过一个有趣的设计转而在链下进行数据聚合。

- Chainlink 示意图-

任何系统的安全性都是由其最短板决定。去中心化保证了每时每刻的可用性,但存在失效节点传递错误数据的风险,为此 ChainLink 提供了 2 种解决方案。

-链上聚合 (图源)-

初始解决方案:链上聚合

合约在链上聚合所有节点的数据(可被公开审计),并使用 commit-reveal 的方式避免节点获取其它预言机的结果和互相抄袭。聚合后的最终结果将在足够多的结果在链上公布后被确定,但这会带来不小的计算成本:每个节点都会发起一次交易、每次交易都需要达成共识、还需要在以太坊部署一个或多个聚合合约。

中期策略:链下聚合

链下聚合能提高达成共识的经济性,但无法解决上文所说的吃空饷问题。

链下聚合方案利用了 Schnorr 签名:每一个参与任务的预言机会收到一个针对此任务的 [公钥,私钥]组合。预言机使用私钥为(被请求的)数据结果(已加密)生成部分签名。单一的部分签名无法直接使用,但当有足够数量的的部分签名合在一起时(如下图所示),会形成一个集体 签名,该过程等价于一个链上交易对数据结果进行聚合。

-链下聚合 (图源)-

这里的关键词是足够数量的部分签名,这也意味着该方案提供了(当部分节点无法响应时的)容错机制。这个方法的缺点在于,即便是诚实节点,如果消息传播花了太长时间,他们也无法获得奖励 —— 这使得节点对响应时间有依赖。这个方案也解决了抄袭问题,因为结果揭晓之时,已无法再提交新答案了。

你可以在这里找到更多关于 ChainLink 的信息。本文的图示出自它的白皮书。

Witnet

Witnet 是一个基于信誉的去中心化预言机网络:运行 Witnet 软件的节点是否正确地响应了数据请求决定了它是获得还是失去信誉值,而正确性是由共识算法分析节点的结果集后确定的。与共识不一致的的节点会失去信誉值(比如它们因节点下线或尝试做恶而产生了不一致),从而与正常节点区隔开来。当达成共识的过程超时时,只要最后节点结果和共识一致,它就不会受到惩罚。

被称作目击者(witness)的预言机节点,基于它们的网络信誉,被随机分配任务并开挖区块,使其不易受“多数人攻击” 的影响。行为良好的节点可以迅速增加信誉值,并在网络中承担更多的责任;相反,失效的和恶意的节点将迅速失去其在网络中的信誉,进而无法再对网络作出贡献,最终变得无足轻重。

因为 Witnet 中的信誉值如此重要,所以除了(在完成一个任务后)在好坏节点间有信誉值的转移变化外,系统还设计了一个在所有节点间进行固定的信誉值重分配的机制,重分配的间隔为一个区块一次(90 秒),从而避免:A. 由信誉值集中在最老的那些诚信节点而导致的中心化;B.尸位素餐(节点不再响应任务,只是获取挖矿收益)。

每次区块生产中,会使用滞纳金函数实现信誉值的重分配:生效节点的信誉值每次以对数函数方式减少,减少的信誉值由所有行为良好节点共享。换句话说,所有节点的信誉值都会不断减少,而那些信誉值最多的节点则损失最大。因此,为了在 Witnet 中保持名列前茅,必须时刻保持良好的行为

Witnet 拥有自己的区块链网络,因此可以通过桥接节点提供去中心化的预言机服务。有了互操作性解决方案之后,可能(桥接节点)这种模式就不是那么有用了,但在互操作性方案开发出来之前,,但它提供了一个可扩展的方案,降低了链上操作的费用,并有助解决关键漏洞。

你可以在 https://witnet.io 找到更多信息,或者在这里阅读白皮书。

Oraclize

Oraclize 是由伦敦的一个 9 人网络安全公司提供的中心化区块链预言机解决方案。它们拥有世界上使用最广泛的、运行时间最长的区块链预言机服务。服务支持多个区块链平台(比特币、以太坊、Monax、Rootstock、Corda 和私有网络等),而最主要的客户则在以太坊平台上。

他们的方案是利用所有的 TEE 供应商来降低脆弱性,这一做法被称作沙箱化。Oraclize 利用 IT 供应商和生产商的产品(包括亚马逊的 EC2,Google 的 SafetyNet, 高通的 QSEE,Ledger 的 Nano S 和 英特尔的 SGX)作为他们核心服务的关键组件。这些产品在物理上被分成独立的小组,并可以通过软件协作使用:Oraclize 设计了支持 ad-hoc 的定制程序作为软件接入层,支持所有 TEE 的接入和互相协作。当某种技术手段因为漏洞而受到影响时(比如英特尔的 SGX 幽灵漏洞),整体的数据聚合依然可以忽略受影响的节点,从其它多个 TEE 中获得正确数据。(这里假设漏洞是基于某种特定架构的,而不是某种影响所有处理器的通用漏洞)

为保证分布式信任和数据正确性,Oraclize 使用 TLSNotary 来给 https 站点的 TLS 数据进行签名。这么做有一定代价:Oraclize 理论上只能传送网站显示的数据(不能在链下 预处理后上传),但这足以覆盖常用的场景。方案主要的风险在于当多数的数据源被破坏时,没有办法阻止错误数据的继续分发,但该风险在多数 “去中心化”解决方案中都会存在。你可以在这里了解更多关于 Oraclize 的信息。

Town Crier

这个学术项目背后是 5 名康奈尔大学的博士和本科生组成的团队。

Town Crier 可以作为(任意区块链上的)智能合约与 启用 https 的网站之间的桥梁,它通过 TLS 层来保证两者之间的安全通信以传输经过认证的数据。这个方案与 TLS-notary(只是软件层的安全)不同,它允许更多定制化的数据传输。数据由那些运行在英特尔 SGX 上的节点解密处理(两者皆有的软硬件安全级别)。授权数据最终从 enclave 发送到区块链中,仅依赖 SGX 来保障节点软件的运行符合预期。

为保障机密性,消息数据只会在可信执行环境中的 enclave 中被解密,因此它不仅可以保障数据的安全传输,也可以用来获取加密的用户凭证(比如私有API)。另外,它也支持自定义请求爬取多个目标。

为解决点单失败问题,它们的方法是在多个 SGX 平台上进行数据源聚合和预言机部署。该软件被证明具有一定的扩展性,可以支持 15-65 笔交易/每秒的吞吐。

你可以在找到更多关于 Town Crier 的介绍。在 2018 年 11 月 1 日的第四次开发者会议中,CEO Sergey 宣布了ChainLink 收购 Town Crier的消息。

2.内部预言机服务

A. 预测市场

“预测市场好比博彩市场。 你对结果进行下注,下注价格则由结果发生的概率决定。”

Augur 和 Gnosis 是两个最知名的去中心化预测市场,两者都创办于 2015 年。它们利用集体智慧和少争端的去中心化网络建立起优雅的预测市场。为保障市场正确运行,两者都不得不依赖于精心设计的激励机制。我们将以 Augur 为例进行进一步剖析。

Augur (LIVE)

Augur 是一个免信任的,去中心化预言机和预测市场平台,允许地理上分散的个体对任意事件的客观结果进行推测和汇报。对 Augur 而言,创建去中心化预测市场是比较容易的,关键在于如何保证市场的诚信(保证诚实能成为理性的 Augur 节点最有利可图的选择)。

Augur 拥有自己的代币 Reputation(REP),无论是创建新的预测项目,还是 报告/争辩 预测结果,都必须先质押一部分 REP ——这些付出将会在预测事件尘埃落定后以获得一部分平台手续费用作为补偿。市场中的押注行为并不以 REP 计价。

-预测市场的生命周期说明(来源)-

任何人都可以在 Augur 平台上为即将发生的事件创建预测市场。创建者设定事件的结束时间,并指定事件结果的汇报者。这个结果允许接受社区的质询。

以下是 Augur 旨在保护诚信参与者的一系列措施:

  • 市场创建者需持有有效性债券:当市场定义不完善,或者结果不可能做到客观何准确时,这些债券将失效、归零。

  • 市场创建者持有无结果债券:当创建者指定的结果汇报者在 3 天内没有给出结果时,这些债券将失效。此时,任何人均可以提交此事件的临时结果。

  • 一旦有临时结果上报,任何 REP 的持有者均有机会在 7 天内对暂定结果提出异议(发起竞标)。竞标保证金占预测项目市值比例最小者可以获得竞标的胜利。一旦竞标失败,质押的 REP 将返给所有者;然后整个市场进入结算。

  • 若第一个临时结果竞标成功,接下来的步骤取决于本轮的质押金数量。当质押金小于所有 REP(目前为 150 万美元) 的 2.5% 时,市场会开始下一轮竞标;否则(大于 2.5%)进入 分叉 状态。

  • 分叉状态将持续 60 天,期间所有的市场会被临时冻结,直到它们被迁移到一个“Augur 新世界”中。如果所有的市场都只有两个选项的(是/否,选中/落选,赢/输等),此时将会生成 3 个世界,比如会有 3 种可能的真相:一种真相为,一种为,最后一种为无效。市场会被划分到对应的世界中。用户可以能且只能将其 REP 代币迁移到其中一个世界中。若是用户在 60 天内完成 REP 代币的迁移(投向其中一个结果),则可以获得额外 5% 的 REP 作为风险补偿。这里的风险是指,当用户迁移到错误的世界时,则他们的 REP 会被困住(REP 在 A/B/C 的世界中是不可互换的)。如果用户不想承担风险,他们可以在 60 天后再进行迁移, 此时这个市场已经达成了正确的共识。因为并行的 Augur 世界可以共存(比如:以太坊/以太坊经典),所以最终那个赢得绝大部分市场活动的显而易见的获胜者,才会成为真正的 Augur。

我们希望读者能认识到在创建预测市场时定义不清所带来的危害,以及由去中心化预言机来控制结果播报可能造成怎样古怪的经济后果。

当 Augur 预言机通过汇报真实生活中的事件结果来完成一次 Augur 市场的预测活动时,我们可以想象当激励足够而且 Augur 不断成长时,Augur 市场的结果本身可以作为一种可靠的预言机。换句话说,我们可以假设 Augur 市场会最终(可能)给出一个真实的结果,并以此作为另一个智能合约的输入。

更多关于 Augur 的信息参见这里。

B. 支付服务

Ramp

银行账本历来不易被外部访问,但事情在快速变化,更多的监管机构正在接受开放银行(open banking)框架。比如,在欧洲,PSD2 指令要求欧洲银行对授权的第三方供应商开放银行账户的 API 访问,Ramp 即是其中之一。

-(Ismail Chaib 和 OpenBankProject 的覆盖情况)-

*Ramp *正在建设金融基础设施,以保障传统金融机构和公共区块链之间的信任最小化通信。实践中,他们使用 PSD2 来提供 p2p 的法币和加密货币原子交换服务(Ramp Swaps)。过程如下:

  1. 卖方创建一个智能合约,在第三方监管中锁定一定量的数字资产。当买方在如约发送法币后,数字资产会释放给买方,否则退还给卖方。

  2. 买方通过汇款付款给卖方。

  3. 一个支付预言机验证买方的付款并发送付款凭证(PoP)到网络中。预言机能够访问买卖双方的账户,并查看它们的收付款情况。

  4. 智能合约解锁第三方监管中的资产并发送给买方。

存在金融机构的账本中的数据异常敏感,因此,相对于汇报可公开获得的信息(比如商品价格或体育比赛结果),汇报此类信息面临一种显而易见的挑战:

  • 数据由单一的可信来源提供——比如:银行。

  • 转账信息是可变的,金融机构可能撤销交易。

  • 数据无法公开访问,也不容易验证。

  • 给定的账户信息(身份信息和交易历史)需要保密。

  • 账本有不同的访问方式,并且通常依赖用户的许可。

  • 双向通信不能保证总是畅通——有双向通信,智能合约才能够发起交易。

  • 数据是结构化的——账本由账户组成,但具体的组织结构不同机构间互不相同。

因为隐私的要求,不能简单的将从银行获得的信息传播到区块链上。原始信息需要脱敏以适配区块链交易。因此,数据需要在链下处理后,以简单的是非题形式(比如:某一笔交易是否成交?)将答案发送到网络中。

Ramp 正进一步拓展它的技术并使其被更多监管机构接纳。Ramp 也在探索安全 enclave 的使用,使其能作为额外的保护层,容纳更多的权威第三方作为预言机在区块链上验证银行交易。这些发展将消除最大的中心化需求:法币网关。如果你想更多得了解 Ramp,请移步它们的网站。

C. 去中心化保险

“相比利益驱动的保险公司,我们更信任代码,但是如果没有可信的预言机,一切无从谈起” Hugh Karp,NexusMutual

-Etherisc提供的去中心化保险产品-

参数保险是一种带有参数触发器和付款条件的特殊保险(如果 Y 发生,则付款 $X),比如航班晚点,交易所遭黑客入侵。显然,这些产品适合使用智能合约。它们需要预言机服务为这些事件提供可靠的数据,可以通过经济激励在内部获得(使用 EtherRisk 定义的数据输入,或使用Nexus Mutual 的投票过程),也可能通过去中心化的预言机服务(Oaas)提供商获得。

可以预料,我们将看到越来越多由智能合约处理的保险产品,特别是已经有了利用复杂物联网传感器、无人机和卫星的 Flyingcarpet。比如,农民可以通过智能合约购买保险,然后气象卫星将数据传送给 Flyingcarpet,并由在它的平台上构建的 AI 模型进行分析。

某些情况下,如果不对输入信息进行本地协调处理,声明的结果将无法被自动检测和处理。这些情况中需要本地的(受激励的)预言机作为独立的声明代理,比如量化汽车的损毁情况。保险公司可以利用这些代理,这些代理也很容易添加莫格智能合约作为其潜在的雇主。这一做法已经在 EtherRisk 和 Nexus Mutual 的路线图中,它们利用类似的权益设计来惩恶扬善。欺诈通常是保险中最大的成本,不可能指望有某种系统可以绝对免于欺诈,但如果智能合约可以实现媲美中心化保险的可靠性,则节约下来的成功便可回馈给客户。

最终,这些声明代理可以在去中心化的自治组织中工作,比如使用 Aragon 或 Colony 来协调它们各自的运行。

V. 结论

去中心化网络不可篡改特性所带来的机遇和挑战可以概括为一个词:激励机制。通过良好设计的经济激励机制,使得去中心化网络能进行空前的全球协作,并保证理性的参与者的行为符合网络的利益。消除对可信第三方的依赖是一项挑战,任何事和任何人理论上都可能变坏,必须将风险降到可容忍的水平。的确,短期攻击的风险一直存在,但不应削弱网络维护者们的长期激励,他们可以从中获得巨大的利润。

比特币矿工作为一个整体被视为可信的 “实体” 被雇佣和信任,以保证比特币账本的安全。曾经出现过矿工利用漏洞进行短期获利的事件,但他们更愿意进行理性地长期博弈,以保证自己的 ASIC 矿机投资和区块奖励不会大幅贬值。进一步说,以太坊因过度依赖像 Infura 或 Metamask 这样的服务(它们确实通过 Consensys 变得中心化)而饱受批评,但因为这些服务在以太坊中有巨大利益,因此能够保持不作恶。这些中间方案的风险在进一步的去中心化过程中是可容忍的。

与外部世界进行交互,是智能合约顺理成章的下一步目标,这同样也需要部署正确设计的激励机制来避免攻击。这里主要的挑战是强大经济刺激导致的不端行为。随着网络的发展,这些激励将变成网络贡献者们巨大的收入来源。日积月累,网络中会有足够的预言机服务提供商并保有巨大利益,使其减少对单个(预言机)节点的依赖却同时能充分保证服务质量。

萝卜加大棒的激励是强大的,我们期望看到所有这些项目的发展。ChainLink 通过使用 代币 和 信誉机制,已经能较好地获得可靠的预言机服务。当我们拥有可真正工作的预言机时,将会涌现众多的使用场景,其中最令我们兴奋的包括去中心化保险产品、金融产品、预测市场。