售前客服二维码
文章均源于网络收集编辑侵删
提示:仅接受技术开发咨询!
从安全性和时效性两个维度比较MakerDAO、Aave和Compound的预言机原理的差异。从安全性和时效性两个维度比较MakerDAO、Aave和Compound的预言机原理的差异。
预测机在分散式金融系统的资产定价中尤为重要,预测机报价的安全性、及时性、准确性和成本是我们应该关注的维度。本文综合分析了主流分散借贷产品所采用的预言机原理,并从安全性和及时性两个维度进行了比较。
图1。不同类型的信息源和预测机器的示例
图1给出了几个例子:Coinbase Exchange提供的签名认证API是一个典型的权威信誉背书的集中式链外信息源;作为链中最初的分散交换,Uniswap预测器是链中典型的分散信息源。
这两类信息源各有利弊。链外集中信息源存在运营商信用风险,但能覆盖的信息类型全面,一般时效性强,准确;分散链中的信息源利用区块链消除信用风险,但目前主要是AMM价格预测机,类型单一,操纵事件太多。
所有这些都可以作为广义预测机的基石,通过聚合和相互锚定,参与分散系统的运行,使其更加健壮和安全。比如,
MakerDAO构建了一个联盟预测机系统,授权链外的多个第三方信息源组成联盟,为资产提供价格信息,在一定程度上可以抵御个别集中式信息源的信用问题,但不排除联盟内合谋腐败的风险,目前依靠治理和激励机制进行管理。
Chainlink提出了一种更为分散的预测系统,通过经济激励机制和声誉体系来管理无证信息源。
Compound提出了一种将集中链外的信息锚定到分散链上的信息的方案,既保留了集中信息源的优势,又加强了风险控制。
本文从价格预测机的角度探讨了前三种分散贷款产品(如表1所示)的采用情况,并对它们的原理和性能进行了分析和比较。
表1 .前三名分散贷款产品采用的预测机器形式和信息源
MakerDAO在2019年9月推出了第二版预言机。与第一版相比,除了支持多币种报价的功能改进和性能改进外,主要改进点有:
建议增加DeFi合作伙伴作为机构信息源(包括dYdX、0x、Set Protocol、gnosis);
提出创建预言机的团队角色,构建预言机的治理框架;
提出了一种优化的预测机器激励机制。
联盟预测的风险
图2从左到右展示了MakerDAO预测机依赖链下的授权信息源的报价流程(关于DeFi伙伴机构的信息源获取方式,目前还没有找到官方的解释,需要进一步跟踪和上报)。
图2。MakerDAO预言机架构(来源:MakerDAO官网文档)
为了保证链下数据到链的安全传输,每个授权信息源节点运行一个Omnia Feed Client,通过名为scuttlebutt的分布式流言协议,将用Ethereum私钥签名的价格信息广播到中继网络。
中继器监听这些签名的消息,检查它们的活性,并将价格数据和签名打包到以太网交易中,该交易被广播到以太网网络,并且链预测器模块进一步处理价格信息。
链预测机模块主要包括两个合同:中位数和OSM。中值合同的主要任务是验证时间戳,信息源是否在白名单中,价格序列是否按升序排列,并根据第2步推送的价格和签名序列,通过Bloom filter验证价格来自不同的信息源。上述所有验证通过后,计算中位数并替换原始值。Median在合同中维护一个信息源白名单,用于检查价格信息更新是否来自许可地址。MakerDAO治理机构通过更新白名单来调整信息源,并有权更新计算中位数所需的最少信息源数(当前设置为13)。
OSM是进一步提高预测机安全性的智能合同,主要用于设置报价延迟机制,为识别和应对潜在安全事件预留时间。在OSM合同中维护一个价格队列,最新的价格信息将被“中间人”观察员合同采用,并且仅在一小时后被主合同(增值税)检索到。
应急预测机
紧急预测机是马克道抵御攻击的最后一道防线,由MKR持有者投票决定。紧急预报机有权单方面触发紧急停机,因此可以通过冻结单台预报机来缓解运行风险。
MakerDAO预言机的时效性
通过以上过程分析,我们可以发现MakerDAO预测机的工作时间主要受以下几个环节的影响:
信息源更新频率
信息源基于两个原则提交价格更新信息:a)当前价格与上次提交价格之间的差异大于指定阈值(当前设置为1%);b)上次提交价格超过6小时时。
合同更新频率中位数
立即,视中继器传输频率而定。中位数合约只要收到复读机传来的价格序列,就会立即执行验证流程,并在检验合格后更新中位数。
OSM合同更新频率
每1小时左右(至少)。通过调用一个名为Megapoker的公共合同,外部EOA地址可以批量执行OSM合同中的puck()方法来更新每个抵押资产OSM合同中的价格队列,然后触发Spotter合同依次读取最新价格。为了保持这种更新频率,OSM协定中的puck()方法限制只有当块的时间戳间隔大于或等于3600秒时才能再次调用它。图3显示了目前MakerDAO预测器支持的24种抵押资产的OSM合同地址和Spotter合同地址。
网络传输延迟和块生成
这两个延迟大约为几秒钟,相对于OSM的1小时延迟可以忽略不计。
图3。Maker Dao预言机支持的24种资产的合同地址和Spotter地址(来源:MegaPoker合同:0x 7472 e 5830 DC 6402 c 22 bb 53 abcba 14 d6a 058 e 482)
可以看出MakerDAO预测机的价格更新频率最早是每小时一次,但会受到桶效应下中值合约中价格更新频率的影响。我们可以通过ETHUSD的中位数合约交易记录来衡量其更新频率。从图3可以看出,更新该合同报价的时间间隔在大约9分钟和219分钟达到峰值,在60分钟内更新报价的概率为70%,即,对应于OSM合同每小时获得的报价为u
图3。MakerDao预测器ETHUSD中位数合约的LogMedianPrice事件的时间间隔分布(来源:中位数合约:0x 64 de 91 F5 a 373 CD 4c 28 de 3600 CB 34 c 7 c 6 ce 410 c 85)
其实Chainlink预测机的架构和MakerDAO预测机很像。最大的区别是信息源不需要获得Chainlink许可证,其原理和经济激励机制在其他研究报告中也经常提到,这里就不详述了。链环系统可以简单地描述为两类节点的工作:
链外节点
响应聚合契约的请求,通过在以太网链上发送事务,将链外信息传输到聚合契约,聚合契约对收集指定阈值数量的链外节点的回答者生成聚合价格。
链上的节点
在Ethereum上运行智能合同一般是由社区用户发起的,主要包括P Proxy和Aggregator。每个报价资产的最新聚合器合同地址存储在代理中。在接收到来自用户合同的链请求后,访问相应的聚合器以获得存储在其中的最新价格,并将报价反馈给同一链交易中的用户合同。
图4。用户调用链接甲骨文的过程(从官方文档)
有两个因素触发聚合器合同开启新一轮聚合报价:
最后一次合计报价的延迟超过某个阈值;
合约会监听一些信息源的报价,并与上一次的合计报价进行比较,当价差偏离某个阈值时触发。
图4。链结预测机构的ETH/USD价格数据汇总界面(来源:https://data.chain.link/eth-usd)
图4是链结对ETH/USD的汇总报价页面。可以看出,目前有21个链外节点参与工作,价格偏差阈值为0.5%,延迟阈值为3小时。根据ETHUSD的Aggregator合同NewRound日志频率,我们可以测试实际的价格更新频率。如图5所示,峰值更新间隔为10个块(约2.5分钟),10分钟内更新的概率为70%,最高限制约为70分钟。
图5。链式预测器的ETHUSD聚合器协定中NewRound事件的块间隔分布(来源:聚合器协定:0x 00c 7a 37 b 03690 FB 9 f 41 b5 C5 af 8131735 c 7275446)
OpenOraclePriceData
任意集中的信息源(记者)可以将私钥签署的价格数据发送给OpenOraclePriceData合同,OpenOraclePriceData合同负责中立地接收这些价格和签名信息,并在未经许可的情况下将其开放给第三方调用。
UniswapAnchoredView
目前Compound自己的系统只采用Coinbase Pro提供的API数据。UniswapAnchoredView合同用于验证和过滤OpenOraclePriceData中存储的签名价格,只有当合同由Coinbase发布且价格在Uniswap报价的TWAP预测值的一定范围内时,合同才会被接受和更新。当前价格范围设定为锚价最大偏差的20%。
值得注意的是,任何人都可以访问Coinbase Pro API接口获取时间戳、价格和签名信息,并提交给UniswapAnchoredView合同。只要能通过其验证,用户就能获得即时价格。也就是说,时效性是三个预测机中最好的,但是在2020年11月26日的大院大规模清算事件中,Coinbase Exchange中DAI的价格剧烈波动,清算机器人利用这个价差在一次交易中完成了抵押价格更新和清算过程。
表2 .前三名分散贷款产品采用的预测机器风险控制机制和及时性的比较
作者:曹艺馨,在哈斯基资本研究公司工作
文章均源于网络收集编辑侵删
提示:仅接受技术开发咨询!