跳至主要内容

强烈建议你:关注本网站,有重要信息!

Uniswap LP价值评估中的“坑”是什么?

 最近在研究Defi衍生品价值评估的问题,比如Uniswap的Liquitidy providor(LP) Token该如何估值呢?直观的感觉就是LP Token的价格等于Pair中代币数量的总价值除以LP Token的总量。

其中r(token)是指Pair中代币的reserve数量,p(token)是指代币的价格,totalSupply是指LP的总量。这个公式貌似没有问题,但在实践中却遇到了大问题。


Warp Finance被黑


2020年12月17号一个名为Warp Finance的Defi项目被黑了,黑客通过闪电贷操纵Uniswap的ETH-DAI代币数量大幅提高了LP价格,然后黑客从Warp Finance借走了超过770万美元的稳定币,而黑客抵押的LP最终兑换的价值仅为586万美元。

Warp Finance是一个抵押借贷项目,它的抵押品是Uniswap的LP,通过超额抵押LP能借出DAI、USDC等稳定币。如果你持有ETH这样资产,你可以将ETH放到Compund或者Aave这样的抵押借贷平台吃利息,也可以放到Uniswap中做市获取交易手续费。在Uniswap中做市得到的LP流动性很差,如果你持有LP但是又需要稳定币(比如加杠杆做多)咋办呢,可以拿LP去Warp Finance中抵押借稳定币,Warp Finance这个项目的意义就在于此。

对于抵押LP借稳定币这个逻辑而言最关键的就是LP的价格,价格估低了倒还好,只是影响LP资产的使用效率,如果是价格给估高了,则会给项目带来非常大的损失。Warp Finance中计算LP价格的代码正如上文所示的公式一样:

公式是没问题的,那黑客到底是怎么攻击的呢?先看看黑客攻击的交易,通过etherscanethtx.info展示的交易执行数据可以得到下面的攻击流程:

每个步骤之后黑客地址上的币种余额变化如下表所示:

黑客的操作简单的总结就是:

  • 通过闪电贷借ETH和DAI
  • 添加流动性获得LP
  • 向Warp Finance抵押LP
  • 大量卖ETH抬高LP的价格
  • 从Warp Finance那里借到超过LP实际价值的稳定币
  • 归还闪电贷借来的ETH和DAI

为什么LP的价格能被抬高,黑客为什么是卖ETH而不是反向操作?这个需要分析下上面那个LP的价格计算公式。根据Uniswap的AMM规则有:

在黑客从Warp Finance借稳定币之前只对ETH-DAI池进行了卖ETH操作,这个操作不会影响totalSupply。另外一方面在Warp Finance的实现中p(token)的价格采用的是Uniswap的X-USDC池子ETH-USDC和DAI-USDC的代币价格,而且是时间加权平均价(TWP),这个价格是黑客没法操控的。再加上price(DAI,USDC)的价格可以认为是1,因此LP的价格公式(忽略掉totalSupply)可以简化为:

在兑换发生前ETH-DAI池的k值我们可以通过ethtx.info上的日志信息看到

UniswapWETH-DAI.Sync(reserve0=60911018344037202213498302, reserve1=94928655114461712381666)

计算得到的k值大概是5.7*10^12,而兑换前p(ETH,DAI)的价格为640左右,而在受攻击前p(ETH,USDC)跟p(ETH,DAI)的值应该是差不多的。因此根据给定的k和p(ETH,USDC)可以绘制LP的价格与DAI的数量的函数关系曲线图,如下所示:

这个曲线是存在一个最低点的,从图中可以看到当r(DAI)的值在6.04*10^7的时候LP的价格最低,而黑客在攻击的时候池子中的r(DAI)为6.09*10^7恰好就在最低点附近。从曲线上看最低点左侧的曲率更大,因此减少池子中的DAI就是一个更优的选择,这也是为什么黑客选择卖ETH。


AlphaFinanceLab的做法


在Warp Finance被黑客攻击后,AlphaFinanceLab在twitter上指出了Warp Finance计算LP价格的问题:

AlphaFinanceLab计算LP价格的代码如下图所示:

从代码中可以看到

这个公式是怎么来的呢?实际上这个公式依然基于Warp Finance所采用的公式,但是AlphaFinanceLab认为不能使用ETH-DAI池中的r值(因为r值被攻击后受到了巨大的影响,使之产生的价格偏差非常大),应该使用一个所谓公允的值r`。假定ETH-USDC和DAI-USDC中的价格都是公允的,那么

上面这个公式中LP的价格受p(ETH,USDC)和p(DAI,USDC)的影响,假定p(DAI,USDC)的值始终是1(实际上DAI-USDC池依然能被闪电贷操纵价格),如果要使LP的价格翻一倍则p(ETH,USDC)需要翻4倍,而这个操纵是很容易的只需要往ETH-USDC池子中投入跟r(ETH)相同数量的ETH然后换出r(USDC)数量一半的USDC就能达成。回头看看Warp Finance攻击过程中的第6步,黑客卖出大量的ETH使得ETH-DAI中ETH的价格由最开始的640降到30左右,即使最开始ETH-DAI池有大概6100万美元的DAI,但显然这个池子的深度在黑客借来的ETH面前还非常不够看。

不过AlphaFinanceLab采用的公式确实比Warp Finance要好一点,它的LP价格曲线是一个抛物线,并不存在像Warp Finance中有某个最低点,因此不会被精准攻击。另外要攻击也只能执行买入ETH的操作。


更优解?


给资产进行估值的时候本质上是在干什么?本质上是在看资产能卖多少钱,比如ETH的价格是100USD,那么1个ETH的价值就是100USD。但是如果是给10000个ETH进行价值评估就不能以100USD的价格进行计算,因为100USD只是市场当前的盘口价格或者是TWP,而真正将10000个ETH卖出得到的实际成交价往往比报价要低。

市场的流动性分散在多个地方,有中心化交易所也有去中心化的交易所,如果Defi项目对资产的评估依赖的是链上的报价那么资产的流动性也只能依赖链上。以Warp Finance为例,在第6步中黑客往ETH-DAI池注入了341217个ETH来交换DAI,此时第5步黑客抵押的94349份LP也会对应大量的ETH,这么大量的ETH能以p(ETH,USDC)的价格卖出吗?显然是不可能的。

实际上Uniswap本身就提供了更精确的接口来帮助我们评估卖出一定数量的ETH到底能得到多少个USDC:

function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);

而且这个接口还会把实际交易过程中收的手续费算进去,因此会非常准确。


结束语


以资产作为抵押的项目被攻击的手段一般都是抬高资产价值然后借出比资产价值实际上高的多的稳定币,而链上价格非常容易被闪电贷操控,而且操控的幅度会超出你的想象,比如Warp Finance攻击中把ETH-DAI池中的ETH价格从640打到30。评估资产的价值要以资产实际被卖出时能值多少钱为准,也许实际上做不到这一点,但是要往这个方向努力。

但最重要的还是要有足够高的抵押率,Warp Finance的抵押率就不高所以才被攻击成功,这种项目在最开始启动的时候最好设置高额的抵押率确保安全,即使用户的资产利用率低一点也没关系。

如果Warp Finance能在受攻击后第一时间从ETH-DAI池把ETH取出来然后在中心化交易所上以合适的卖出也是不会遭受损失的,但实际上当ETH-DAI池出现30这样的低价后,无数的套利机器人就像闻到血腥味的鲨鱼一样扑了上来,很快就会填平这个差价。Warp Finance在反应过来的时候为时已晚。


【币安最新福利】使用下面链接注册币安,可得永久10%返佣返现:https://www.binance.com/cn/register?ref=T40XKV20


【抹茶交易所注册40%返佣福利+永久不冻卡】使用下面链接注册抹茶:https://www.mxc.me/auth/signup?inviteCode=14tHH


永久40%返佣,大量优质新币种比如AMPL BAS等只有抹茶有,

抹茶OTC冻卡有保险赔偿50%





评论

此博客中的热门博文

疑问:加密空投是否真的不欢迎薅羊毛的羊毛党?

  你是一家公司的运营经理,公司决议拿出 50 万做运营,你或许要开 5 次会,50 个电话,忙活 500 个小时,才干做得漂漂亮亮。 可是在 Crypto 国际,项目决议拿出 1/4 乃至 1/5 的「股权」,价值动辄千万美金,乃至数亿美金,可是其间的许多决议好像便是拍脑袋定的。 老实说,对待如此大的决议,许多项意图确有些随意和固执。不过,这些小小的固执里边,其实就藏着一些时机。项目方越固执,时机的上限就越高。 今日推特上的一位朋友 Oar 也提到了这事,不由引起了我的考虑。从 Uni 到今日,大大小小项目空投数十次,总觉得应该整体剖析下,所以就有了这篇随想。   在开端之前,咱们先聊聊一个条件——空投这件事究竟意图是什么? 答案是一个词:「注意力」。 在 Crypto 职业浸淫已久的人,都知道 Crypto 这个圈子最重要的东西是什么—— 注意力 。 一致机制是注意力;Meme 文明是注意力;为什么其他 marketplace 现在无法超越 Opensea,因为现在 Opensea 掌握了最多的注意力;为什么马斯克要买下推特,因为推特是最简略获取注意力的渠道。 空投的意图也是相同的。 许多人之前或许会有过这样的疑问——为什么一个项目要送出几千万美金的免费筹码?很简略,为了最大化注意力。只需最夸张的馈赠,才干在竞争剧烈的 Crypto 国际夺走最多的眼球。 Crypto native guys 在使用之间的迁移是毫不留情的。这现已被重复论证过,这是因为地址-DApp 系统 vs 账户-App 系统的架构不同导致的。因而,一个使用想要留住这些用户,仅有的方式便是不断取得注意力。一旦你取得了注意力,便是取得了一切。 空投是为了: 1. 获取本身忠诚用户的注意力。 用户在项目刚起步时给予了许多支撑,那么等项目兴起之日加倍回馈,这种感人肺腑的美谈是最简略传达的: 2. 获取竞争对手用户的注意力。 这不只适用于 Defi,并且适用于简直一切人类商业活动。我经过送你若干美金,让你来使用我的产品,体会我的美妙,从而挖倒竞对的墙角。 那么接下来,让咱们逐一来进行剖析。 在这一轮中,敞开空投时代的毫无疑问是 $UNI。 Uniswap 的空投可谓是简略粗犷。某天忽然悄然发了一个公告,但凡在某日之前,使用过 Uniswap 的地址就奖赏...

ETH以太坊即将爆发?EVM 等效时代来临,将解锁以太坊增长的下阶段

  以太坊二层 Rollup 生态「进化」成了一个习惯性强且反响迅速的层,将解锁以太坊的下一阶段。 2020 年的 DeFi Summer 冲击了以太坊的规划极限。从那时起,EVM 的网络效应现已分化成许多不同的方向。新的 L1,乃至许多 L2 都打破了 EVM 的规范,以突破功能瓶颈。 不过现如今,EVM 等效的年代现已降临,一个新的立异的寒武纪爆破行将到来,而咱们只需求 EVM 等效来解锁它。 EVM 等效是什么 EVM 等效与 EVM 的规范彻底一致。EVM 等效的规划理念是根据以太坊的「最小 dif」构建一个 Optimistic Rollup。 EVM 等效将以太坊的属性扩展到其 L2。它含糊了以太坊 L1 停止和 L2 Rollup 开端之间的边界。这是「在以太坊上扩展」和「以太坊自身扩展」之间的差异。 作为 EVM 完美克隆的 Optimistic Rollup 不只是同享了以太坊主网的安全等级,实际上还共享了其网络效应的每一个方面。而其他 L2 规划结构不具有访问以太坊一切网络效应的特权。 EVM 的兼容性是呆板的。要么经过遵守以太坊规范来优化通用性(因此挑选与其他人相同的规范),要么树立一些彻底不同的东西,为你的用例进行专属优化(例如 ZK-rollups)。 为了将以太坊的全部能量扩展到 L2,咱们需求的不只仅是 EVM 的兼容性。咱们需求的是 EVM 等效。 兼容与等效 当 Optimism 团队去年 介绍 EVM 等效 时,他们叙述了等效和兼容之间的技术差异。 Rollups 被誉为是扩容的救星,由于咱们能够在上面运行 Uniswap。不过最早的 rollup 是经过在定制的 rollup 上使用定制的代码彻底重新创建 Uniswap 来完成的。这显然不是一个足够好的处理方案。 EVM 的网络效应远远超出了 Solidity 的规划。 大量的辅助工具 给以太坊开发者带来了超强的力气。由于这些工具也是在 EVM 规范上运行的,它们处理了必须要重新构建全新的专属代码的粗笨需求。在 EVM 等效的支持下,咱们只需求简略地仿制张贴就能够重构一个一层上已有的应用。 EVM 是一个城市 「开源代码就像一座城市。它是自下而上地创造出来的,来自于许多看到问题并树立处理方案的开发者的奉献。跟着时刻的推移,这个城市将变得益发强大且高效。简略来说,EVM ...

【主导信息】俄罗斯将不可避免地让加密支付合法化

  俄罗斯工业与贸易部长丹尼斯·曼图罗夫表示,俄罗斯“迟早”会将加密支付合法化。 俄罗斯政府在2022年一直在探索各种加密货币的采用,但尚未敲定任何有关数字资产支付的具体政策。然而,从4月份开始,俄罗斯财政部通过“数字货币”法案建议将其合法化。 根据当地媒体塔斯社5月19日报道的翻译,曼图罗夫在本周的New Horizon教育论坛上被问及是否正在推进加密支付的合法化。 “我是这样认为的。问题是,这将在何时发生,如何发生,以及将如何监管。现在中央银行和政府都在积极参与。但每个人都倾向于理解,这是一个时代的趋势,迟早会以这样或那样的形式实施。” “但是,再次强调,根据即将制定的规则,它必须是合法的、正确的,”他补充说。 俄罗斯央行(CBR)和财政部直到最近都对加密货币监管持完全相反的观点,央行希望完全禁止,而财政部希望监管税收。 就在今年1月,由于与加密行业相关的潜在“金融稳定风险”,CBR还提议全面禁止本地加密货币交易和挖矿。 然而,在入侵乌克兰之后,CBR上个月承认对加密货币采取了过于激进的立场,这可能已经扼杀了该行业的增长。 俄罗斯央行行长埃尔维拉·纳比乌里娜 (Elvira Nabiullina)指出,俄罗斯受到的众多经济制裁是改变其反加密情绪的关键驱动因素,而现在央行希望让当地数字资产市场进入“工作状态”。