Retric
专业贴膜。
写了 251 篇文章
DeFi世界缺失的拼图,一个链上价格信息的预言机
发表于 2019-04-10 15:02:19

一个真正公平和可自我运营的 DeFi 世界需要一个准确、快速、无偏的且能抵抗价格操纵的价格预言机。Uniswap所采用的自动定价机制曾让我们眼前一亮,利用产生价差时投机者的套利心理又可以让Uniswap上的价格始终保持和主流交易所价格的同步。但如果你拥有足够的筹码,想要在短时间内操纵Uniswap的价格来为自己谋利还是有很大几率可以成功的。那么,有没有一种同样无需中间主体干预的稳定价格信息的机制呢?

对于智能合约而言,来源于链上的资产价格是否可信非常重要。例如需要评估抵押品的贷款协议或需要重新平衡投资组合的资产管理协议,他们首先都需要获得准确的价格信息。可惜目前市场上的价格要么被单一方面控制,要么缺乏适当的激励机制来保持价格准确。

Polaris 是一个以 Uniswap 为基础,旨在使价格更加准确、防止价格操纵以及自主维持价格的链上预言机。

Uniswap

Uniswap是一个去中心化的交易所以及一个自动化的做市商。它并不是将买卖双方通过订单簿匹配,而是从做市商那里收集流动性,并使用算法来设定价格。像Uniswap这样的自动做市商的价格是接近市场价格,因为只要存在价差,就会创造套利的机会,随后价格就会迅速被修正。

可惜,因为在一个区块内操纵Uniswap中某些token价格的攻击成本非常之低,我们还不能盲目认为 Uniswap 的现货价格就是真正的价格。

我们来考虑一种叫三明治攻击“sandwich attack”的情况:

  1. 攻击者在Uniswap上出售token以操纵价格;

  2. 此时价格已经偏离准确价格了,攻击者会依据一个贷款协议来清偿贷款,该份协议使用Uniswap上的价格来评估抵押品的价值;

  3. 攻击者回购之前出售的所有token

也就是说攻击者通过出售token来使抵押品价值被低估,并在此时清偿之前以该token为抵押品的贷款,再通过回购抵消出售token时的损失。贷款协议一般也是通过以太坊上的智能合约完成的。整个攻击过程必须在短时间内完成,只要操作的速度够快,就不会过多受到别人通过价差套利的影响。

由于攻击者只需要支付交易费用,而不需要维持被操纵的价格,因此这样的攻击非常有利可图。同样的事情也可以通过智能合约在单个交易中发生。当年,索罗斯也曾用类似的方法做空泰铢。

Polaris

为了提高攻击的成本,Polaris 从 Uniswap 上选取一些价格“监测点”来算出价格的中位数。通过提高操纵价格所需要进行的交易次数,来提高操纵价格的时间和经济成本。这个解决方案为了抵抗操纵价格的行为,在价格的活跃性上做了一个小小的妥协。

Polaris的设计使得维持准确价格的成本更低,而攻击的成本则更高。那么,Polaris是如何来确定价格的呢?

Polaris的定价主要依据两条规则:

  • 返回前15个“监测点”价格的中位数作为实际价格

  • 如果在3.5分钟也就是15个区块内出现了多个被记录的“监测点”,则选取它们的中位数

当Uniswap价格发生正常变化时,预言机将在最多8个“监测点”之后反映新价格,每3.5分钟会记录一个“监测点”。在攻击场景中,如果存在诚实的“监测点”来防御攻击,攻击者就必须在单个时间段内多次交易来使得异常价格被记录。攻击者在每次价格操纵中都会损失数千美元的交易费用,成功的机会不确定,而记录诚实“监测点”的价格却并不贵。

此外,Polaris不允许智能合约本身账户被登记为“监测点”,以防止“sandwich attack”。

激励机制

Polaris利用一系列激励措施鼓励第三方参与者定期监测价格并保持准确的价格反馈。为了奖励这些用户,Polaris会每月向智能合约开发者收取订阅费,来让他们可以获得预言机给出的价格。因为我们将会把预言机用于担保贷款协议,目前Marble是第一个订阅ETH-DAI交易对价格的付费用户。

第三方被鼓励在以下条件下修正预言机产生的价格:

  • Uniswap上当前的价格与前15个“监测点”价格的中位数相差1%以上

  • Uniswap上当前的价格与过去3.5分钟内所有“监测点”价格的中位数相差1%以上

  • Uniswap上的当前价格与上一个“监测点”的价格相差1%以上

  • 上次“监测点”价格被记录已超过3小时

预言机会发行token来奖励满足上述条件时对价格进行修正的用户,用户可以使用获得的token兑换该系统的收入。

效果分析

我们用自2019年1月1日起Uniswap上DAI/ETH价格对预言机的表现进行了回溯测试。我们发现,仅通过“监测点”被奖励的修正行为,预言机就可以密切跟踪Uniswap的价格。

(上图为Uniswap现货价格、OasisDEX交易所价格以及预言机给出的价格的对比)

正如预期的那样,当价格快速下跌时,预言机的价格变动落后于Uniswap的现货价格:

(上图为预言机在ETH2月24日大跌12%时的表现)

然而,在仅仅10分钟后,它就很快被修正到市场价格。

根据平均每次修正约需要20万gas、5Gwei的gas价格以及历史上的ETH/DAI在Uniswap上的波动率,被奖励的修正价格的参与者共同维护预言机的预计年成本为20 ETH。

一个真正公平和可自我运营的 DeFi 需要一个准确、快速、无偏的且能抵抗价格操纵的价格预言机。Polaris这是实现这一目标的第一次尝试,正如Polaris的中文含义“北极星”:它希望成为一颗指引道路的明星。

(完)

原文:

https://medium.com/@mykelp/introducing-polaris-ced195dd798e

作者:Mykel Pereira

翻译:Eric


专业贴膜。
写了 251 篇文章

评论

this comment section is using the amazing decentralized database engine - Gun.db

推荐阅读

DeFi—模块化金融的未来:从软件到汽车都在拥抱开源文化,现在轮到金融系统了
OpenBazaar要做“去中心化的淘宝”,用token激励购物清单
从社会契约角度理解比特币
一位美国海军眼里的比特币:控制公地意味着控制商业,数字世界是比公海更大的公地
为什么“扩展性”不是区块链的杀手锏
社区是我们在网络上赖以生存的方式,有没有可能让它变得更好?