本文于20年7月9日发布在链闻HashKey Capital Research账号,作者钱柏均,原文标题:《去中心化预言机的设计》
本文研究去中心化预言机的核心设计思路,以及各种去中心化预言机的经济设计及应用探索。结论是,随着技术的提升,去中心化预言机将会跃升主流,经济模型与激励机制将是各个去中心化预言机竞争的重点。随着 DeFi 及其他公链应用用户基数的扩大,去中心化预言机将成为必要基础设施,而跨预言机的应用,是提升数据源安全性的一大趋势。
加密世界与现实世界的运行逻辑存在相当大的差异。加密世界通过共识机制、密码学、分布式节点及智能合约在链上运行。而在智能合约中,输入 X 变量,智能合约执行 Y 结果是可以预期的,此结果不可逆且具备确定性及可信赖性。
为了达成 Y 结果的准确无误,X 变量的来源非常重要。X 变量的数据来源有两种,链上数据及链外数据。链上可信数据可以直接通过区块链获取,而链外可信数据则需要通过预言机提供。本文主要介绍各种预言机提供可信数据的方式,以及其中的经济激励设计。
全文分为三个部份 : 第一部分介绍中心化与去中心化预言机的机制,第二部分比较市场既存预言机的经济激励设计,第三部分讨论预言机的应用及前景。
预言机的功能是将外界信息转化写入区块链,完成区块链与现实世界的数据互通,是智能合约与外部进行数据交互的途径。预言机需要从一个不确定性非常高且未经验证过的数据库,将数据筛选后输入至一个可靠且安全的封闭系统,因此数据的质量会大程度地影响到整个系统的运作。
目前预言机数据库的来源主要有以下四种 : 一是互联网连结及搜寻引擎,二是其他区块链的链上数据,三是 IPFS 存储数据,四是物联网传感器数据。目前加密市场存在三种预言机 : 一是中心化预言机,二是去中心化预言机,三是联盟预言机。以下分别介绍三种预言机的机制与差异性。
中心化预言机由可信中心的中心化机构提供数据至智能合约运行。中心化预言机有两种机制 : 第一种是中心化机构让预言机在可信执行环境运行,数据需求者无须信任中心化机构。此种机制通过可信加密证明技术,能够向数据需求者证明数据源全程未被修改。
Provable 为该机制的典型,采用 TLSnotary 证明技术,让整个数据源接入区块链的流程都是可被第三方审核的。只要数据需求者信任数据源,整个数据从数据源接入区块链的过程都是可信任的。
第二种是数据源本身开发的预言机,数据需求者需要信任中心化机构。此种机制数据源通常为链外可信机构,将链外信用延伸至链上,并由数据源全权负责数据质量。
中心化预言机的机制较为直观,符合传统社会的数据来源,主要存在三个优势 : 第一,中心化预言机中,数据的完整性与安全性直接影响了预言机的可信度,且中心化预言机提供数据属于商业行为,作恶的动机较小。第二,由于所有数据由中心化预言机提供,不存在参与方博弈行为,数据调用效率较高。第三,中心化预言机数据的可信程度与用户规模无关,即使生态规模小,预言机也能正常运作。
但是中心化预言机在两个方面有其局限性。一是可扩展性,无法兼容其它预言机提供的数据。二是安全性,中心化预言机内生价值不足以支撑高价值合约需要的安全性。中心化预言机具有内生价值,该内生价值是可以被一个价格所买断。
当中心化预言机作为价值更为庞大的 DeFi 生态数据提供者时,数据需求者可以通过贿赂甚至买断中心化预言机并操纵数据源,为自身在 DeFi 中的合约牟利。
去中心化预言机机制的设计和区块链分布式思想式一致的,主要通过可信的众多节点去共同提供数据服务,增强整个预言机系统的容错能力。去中心化预言机并不是通过技术提升预言机的信任度,而是藉由经济激励及多方签名达到数据的可信任性。
去中心化预言机涉及多方节点参与,设计需要考虑以下问题 : 第一,节点共谋问题。第二,数据内容的保密性。第三,数据获取的即时性。第四,节点恶意复制其他节点数据问题。第五,女巫攻击造成数据腐败问题。
去中心化预言机执行过程通常有五个步骤 : 1. 智能合约保存交易状态。2. 停止当前交易,等待去中心化预言机调用数据。3. 预言机通过多重签名机制让数据提供者同时为相应节点签名。 4. 预言机采用加密算法机制将各节点的数据整理汇总,并调整交易状态。5. 智能合约验证结果,交易完成。
无论何种去中心化预言机,它们调用数据的核心方法都有共同之处,只是实现方法有所不同。去中心化预言机相较中心化预言机有两个局限 : 第一,收费相对昂贵,需要多节点参与。第二,生态须有一定规模,数据可信度与生态规模相关性高。
联盟预言机是由可信联盟提供数据至智能合约,是去中心化预言机的一种型态。如同联盟链,联盟预言机网络中的节点是由指定可信个体或机构担任。此种预言机的信任组成有多个层次,包含对各个节点的信任、预言机本身机制的信任以及预言机治理机构的信任。
MakerDao 的预言机属于此类,由 14 个可信节点所组成,提供内部用户 ETH/USD 的实时价格,其节点除了匿名的个人数据源,还包括 0x、dYdX、Set Protocol、Gnosis 等指定的数据源机构。
联盟预言机需要注意的问题有两个 : 第一,可信节点身分的保密程度关系到节点被操纵或勒索的可能性。第二,需考虑可信节点及治理机构是否有涉及过大自身利益相关。
以 MakerDao 联盟预言机来说,MKR 的持有者可以决定预言机运行的两个关键点 : 一是联盟预言机的参与节点列表。二是 MKR 持有者可以通过让价格延迟反应来防范恶意节点操纵预言机。但是当 MKR 持有者 (治理机构) 合谋或腐败时,MakerDao 生态将难以制衡。
不诚实的 MKR 持有人则可以通过持有大量 CDP 或 DAI,合谋操纵 ETH 价格,触发全局结算来获利。由此可知,联盟预言机在特定信任度较高的环境,能够产生高效且去中心化的效果,在行业初期不失为一个解决方案。
双层结构
Chainlink 是建立在以太坊上的预言机系统,由双层结构组成,底层由多个数据源向预言机节点提供数据,上层是由多个预言机节点向区块链提供数据。
图 1: Chainlink 双层结构
Chainlink 的双层结构有两个特色 : 第一,数据需求方可以自订数据源的组成,包含节点声誉高低及节点数量。第二,底层结构保证了数据去中心化特性,上层多个预言机则保证了当任意一个预言机出现单点失败时,系统能够继续运作。第三,Chainlink 采用链上聚合数据的方式将数据发送至数据需求方。
所有预言机各自发送数据至链上智能合约,再由智能合约剔除异常值后,取一个合理的数据提供至数据需求方。链上聚合数据的优势在于数据内容可以经过多次审核,且数据源提供的数据均记录在区块链上,增加可靠性。而此方法的缺点在于,当数据量庞大时,手续费将十分昂贵且会造成网络壅堵。
因此,Chainlink 利用门限签名 (Threshold Signature) 解决这个问题。门限签名可以让预言机之间互相交流,并在链下达成共识。链下预言机通过门限签名技术聚合数据,只需最终向区块链传输一次数据即可,只需支付一次手续费。
经济模型
Chainlink 预言机生态主要参与者为数据需求方和数据提供方,主要运作的方式是通过与可信节点合作,然后用代币 LINK 激励节点。Chainlink 经济机制设计主要有两个 : 第一是质押代币 LINK。节点在提供服务前,必须要抵押 Chainlink 的代币 LINK。
一旦节点有恶意行为发生,包含提供虚假数据、复制数据或不作为等,节点抵押的 LINK 会被系统罚没以保障数据需求方。第二,Chainlink 预言机网络存在声誉系统。链下节点在提供数据的服务过程中能够获得一定数量的 LINK 作为奖励,同时其他节点会根据其提供的数据质量对其进行评判,进而影响节点的声誉。
影响节点声誉的因素包含节点提供数据的频率、完成率、响应时间及质量。抵押越多 LINK 的节点,隐含着表达对自身服务及数据的肯定,声誉会越高,获得数据需求方指派的机会也越高,收益相对就会提升。
Chainlink 除了为链上提供真实数据外,也为基于智能合约的项目提供验证随机性的服务。用户能访问 DApp (区块链游戏、博彩) 并验证其随机性。
运行步骤有四个 : 1. 智能合约对 Chainlink 发出随机数验证的请求。2. Chainlink 生成随机数。3. Chainlink 将随机数发给 VRF 智能合约并进行随机验证。4. 将结果传回智能合约。Chainlink VRF 可以通过验证 DApp 随机性来帮助用户辨别项目的真实性及公正性,并且藉由付费机制将代币 LINK 与以太坊各项目连结,未来有望在生态内部发展更完整的代币经济模型。
问题与解决方案
(1) 数据隐私问题
如何让数据在开放输入和查询时保持隐私性是相当困难的事。尤其是在金融领域。举例来说,当在 DeFi 借贷中需要分析用户信用纪录及个人信息,判断用户的信用等级时,用户的信息会因为链上聚合而完全地被记录到链上,影响用户提出需求的意愿。
目前 Chainlink 采用可信执行环境为数据提供保护。Chainlink 可信执行环境的特点是将部分代码及数据与外界环境加密隔离,只有通过特定的方式才能够读取可信执行环境执行后的结果。并且就算是节点的电脑被入侵,可信执行环境中的数据依然能够保持安全,达到双层保护的效果。
(2) 合谋问题
任何预言机都会有多个节点合谋的问题,包含贿赂或是女巫攻击。节点合谋对预言机生态最大的风险是藉由故意上报错误数据图利自身,进而影响数据需求者的利益。由于数据需求者能够决定特定节点的身份及数量,造成 Chainlink 抗合谋能力更加受到质疑。
目前社群中题中的解决方案是允许智能合约开发者使用安全的随机信标,从所有节点中随机选择节点提供数据。以太坊 2.0 能够实现安全的随机信标,而以太坊数以万计的节点让合谋的可能性降至最低。
Nest 是一个主要为 DeFi 协议服务的去中心化预言机,试图解决恶意节点合谋问题。Nest 生态中有三个角色 : 矿工、验证者及数据需求者。第一,矿工为预言机提供数据 (报价),获得挖矿收益 NEST。
任何人都可以成为矿工,但报价时必须支付一定的佣金,支付的佣金越高,可以获得的挖矿收益 NEST 就越多。第二,验证者可以在报价偏离市场价格时选择以偏离市场的报价来成交赚取利润。验证者在成交后必须强制报价,但不需要支付佣金也不会获得挖矿收益。第三,数据需求者调用 Nest 报价并支付费用。
需要注意的有两点 : 第一,在 Nest 机制下,矿工先报价,数据需求者才能调用,由供给面驱动需求,和 Chainlink 并不一样。第二,Nest 本质上是利用验证者的套利机制来驱动矿工进行真实报价,一切都在链上进行,矿工是否有恶意行为并不影响数据需求者获得真实报价。
第三,验证者在成交同时必须要发起一笔自己的报价,且报价资金规模为验证资金的两倍。此机制可防止恶意验证者验证自身提供的报价以进行套利。如果验证者试图验证自己的报价单以套利,其后续的套利成本将会成倍成长,且套利空间越来越小。
Nest 最大的问题就是生态由供给面驱动。这套博弈系统实现准确报价的前提是参与者数量众多且参与频繁。当矿工规模不足时,无法藉由套利机制在链上产生真实数据。此外,全部报价行为都是链上完成,Gas 费用将会是矿工考量成本的因素之一。
一旦 ETH 网络出现拥堵而 Gas 费暴涨,矿工无法维持盈亏平衡,将影响矿工报价的积极性。目前矿工主要收益支撑是矿工报价的佣金而不是预言机的调用费用,意味着只有在 ETH 价格套利空间较大的时候,NEST 代币的价值才会凸显。
其他时候挖矿的动力明显不足,短期可持续性不高。只有当数据需求者规模增加后,Nest 生态的内部价值才能真正成长。
相较中心化预言机,去中心化预言机费用较高且在规模有限的情况下效率较低。因此,去中心化预言机需从解决区块链的数据问题,提升至解决信任问题,才能真正扩大其应用。我认为去中心化预言机未来实际应用的场景有三个因素 : 第一是随机性需求高的场景,第二是涉及多机构参与的场景,第三是合成资产交易的场景。
区块链内涉及到随机性高的应用包含博彩及预测等平台。这类平台的核心为随机性、不可预测性及可验证性,对去中心化预言机的需求为刚需。目前许多博彩类 DApp 是在链上生成随机数,并无预言机的参与。
但 2018 年 EOS 上的博彩类 DApp 因为随机数问题被黑客攻击导致项目损失资产,而区块链公开随机数算法将导致随机变得可以预测。
DApp 可以通过两个方式获得更为安全的随机数,一是利用预言机 API 调用,从外界获取随机数。二是利用 VRF 可验证随机方程,在链下产生一个安全不可被预测的随机数,并把这个随机数直接返回给用户。
涉及多方参与的场景适合通过去中心化预言机获取数据,如去中心化保险。首先,去中心化保险数据源涉及范围很广,如航班晚点保险和医疗保险等,单一案件需要从物联网、GPS 系统、法律判例或医院数据等多个数据源获取数据。
以车险赔付来说,保险公司常常与客户在是否赔付的问题上产生分歧。而保险公司具有最终裁决权力,因此就不可避免地导致某些客户瞒报信息。车险赔付涉及多个数据源,调查过程往往旷日废时,容易提高运营成本并延长处理周期。
去中心化预言机能够快速地从不同数据源获取保险相关数据,并通过链下聚合的方式将是否赔付的结果及相关数据上传至链上。其次,保险机构最大的成本是信任成本,当担保价值超过中心化预言机内生价值时,中心化预言机会难以被信任。
合成资产有各种不同的设计机制,只要市场存在交易对手,合成资产合约便能成立。合成资产具有灵活性,它们使市场参与者能够对冲本来无法交易的风险。区块链上的合成资产成交结果完全依赖去中心化预言机,且区块链上智能合约并不能辨别数据来源是否正确。因此,去中心化预言机为合成资产交易的必要角色。
去中心化预言机可以利用多节点的优势,弹性地为各种不同的合成资产合约提供数据来源。去中心化预言机有四个方法可以提升高价值合约数据源的安全性 : 第一,经济激励与惩罚机制。第二,多节点审核。第三,去中心化预言机内生价值会随着生态规模成长而循环增加,安全性会越来越高。第四,互操作性较高,可以实现跨预言机服务。
虽然相比中心化预言机,去中心化预言机能够承载的合约价值上限较高,但是去中心化预言机还须解决数据源的合规问题。
传统法定合成资产交易提供数据的中心化预言机,包含政府机构、证券交易所、银行等机构,都是受到政府严密监管。去中心化预言机的抗审查性意味着数据需求者必须完全信任预言机的技术及机制。如果政府介入监管预言机,区块链去中心化的初衷也就不在。
因此,无论未来是 DeFi 合约增加上限条款或是预言机发展自监管,去中心化预言机如何满足监管需求将是 DeFi 发展的一大关键。而从数据源安全的宏观角度来看,同时采用多个去中心化预言机,可以进一步实现去中心化。未来去中心化预言机市场将会是多角并行,分散风险,实现更安全的数据供给环境。