l无常损失的定义
无常损失,英文为ImpermanentLoss,即资产因币价变化,资产在流动性池内及池外的两种状况的资产差额。无常损失针对的是向DEX的流动性池中注入资产的提供者,称为流动性提供者,LP在将资产注入流动性池,和不将资产注入流动性池,上述两种不同方向下的资产机会成本。
l无常损失举例
为了更好的说明无常损失是什么,首先我们假设有如下三个前提:
第一,假设有如下流动性池。这里仍延续上一期知识小课堂中的AMM例子,流动性池中现有1000FC及250USDT。
如下图FC和USDT流动性池。根据经典流动性池的特点,FC数量和USDT数量的乘积为一个常数,公式即为X*Y=K。初始情况下,FC和USDT在池子中的价格为1:1,若FC现价为0.25美元,USDT为稳定币1美元,假设池子中的FC数量为为1000个,则USDT的数量为/1=250个。根据X*Y=K,可得常数K为1000*250=250000。
Beosin:sDAO项目遭受攻击事件简析:金色财经报道,根据区块链安全审计公司Beosin旗下Beosin?EagleEye 安全风险监控、预警与阻断平台监测显示,BNB链上的sDAO项目遭受漏洞攻击,Beosin分析发现由于sDAO合约的业务逻辑错误导致,getReward函数是根据合约拥有的LP代币和用户添加的LP代币作为参数来计算的,计算的奖励与用户添加LP代币数量正相关,与合约拥有总LP代币数量负相关,但合约提供了一个withdrawTeam的方法,可以将合约拥有的BNB以及指定代币全部发送给合约指定地址,该函数任何人都可调用。而本次攻击者向其中添加了LP代币之后,调用withdrawTeam函数将LP代币全部发送给了指定地址,并立刻又向合约转了一个极小数量的LP代币,导致攻击者在随后调用getReward获取奖励的时候,使用的合约拥有总LP代币数量是一个极小的值,使得奖励异常放大。最终攻击者通过该漏洞获得的奖励兑换为13662枚BUSD离场。Beosin Trace追踪发现被盗金额仍在攻击者账户,将持续关注资金走向。[2022/11/21 7:53:09]
慢雾:Inverse Finance遭遇闪电贷攻击简析:据慢雾安全团队链上情报,Inverse Finance遭遇闪电贷攻击,损失53.2445WBTC和99,976.29USDT。慢雾安全团队以简讯的形式将攻击原理分享如下:
1.攻击者先从AAVE闪电贷借出27,000WBTC,然后存225WBTC到CurveUSDT-WETH-WBTC的池子获得5,375.5个crv3crypto和4,906.7yvCurve-3Crypto,随后攻击者把获得的2个凭证存入Inverse Finance获得245,337.73个存款凭证anYvCrv3Crypto。
2.接下来攻击者在CurveUSDT-WETH-WBTC的池子进行了一次swap,用26,775个WBTC兑换出了75,403,376.18USDT,由于anYvCrv3Crypto的存款凭证使用的价格计算合约除了采用Chainlink的喂价之外还会根据CurveUSDT-WETH-WBTC的池子的WBTC,WETH,USDT的实时余额变化进行计算所以在攻击者进行swap之后anYvCrv3Crypto的价格被拉高从而导致攻击者可以从合约中借出超额的10,133,949.1个DOLA。
3.借贷完DOLA之后攻击者在把第二步获取的75,403,376.18USDT再次swap成26,626.4个WBTC,攻击者在把10,133,949.1DOLAswap成9,881,355个3crv,之后攻击者通过移除3crv的流动性获得10,099,976.2个USDT。
4.最后攻击者把去除流动性的10,000,000个USDTswap成451.0个WBT,归还闪电贷获利离场。
针对该事件,慢雾给出以下防范建议:本次攻击的原因主要在于使用了不安全的预言机来计算LP价格,慢雾安全团队建议可以参考Alpha Finance关于获取公平LP价格的方法。[2022/6/16 4:32:58]
第二,假设流动性池中有我提供的100FC及25USDT,我就有流动性池中10%的资产;
慢雾:DEUS Finance 二次被黑简析:据慢雾区情报,DEUS Finance DAO在4月28日遭受闪电贷攻击,慢雾安全团队以简讯的形式将攻击原理分享如下:
1.攻击者在攻击之前先往DeiLenderSolidex抵押了SolidexsAMM-USDC/DEI的LP。
2.在几个小时后攻击者先从多个池子闪电贷借出143200000USDC。
3.随后攻击者使用借来的USDC在BaseV1Pair进行了swap操作,兑换出了9547716.9个的DEI,由于DeiLenderSolidex中的getOnChainPrice函数是直接获取DEI-USDC交易对的代币余额进行LP价格计算。因此在此次Swap操作中将拉高getOnChainPrice函数获取的LP价格。
4.在进行Swap操作后,攻击者在DeiLenderSolidex合约中通过borrow函数进行借贷,由于borrow函数中用isSolvent进行借贷检查,而在isSolvent是使用了getOnChainPrice函数参与检查。但在步骤3中getOnChainPrice的结果已经被拉高了。导致攻击者超额借出更多的DEI。
5.最后着攻击者在把用借贷出来DEI兑换成USDC归还从几个池子借出来的USDC,获利离场。
针对该事件,慢雾安全团队给出以下防范建议:本次攻击的原因主要在于使用了不安全的预言机来计算LP价格,慢雾安全团队建议可以参考Alpha Finance关于获取公平LP价格的方法。[2022/4/28 2:37:18]
第三,FC不断上涨,直至某一时刻,流动性池中FC数量减少至500个,USDT数量增加至500个。
慢雾:Avalanche链上Zabu Finance被黑简析:据慢雾区情报,9月12日,Avalanche上Zabu Finance项目遭受闪电贷攻击,慢雾安全团队进行分析后以简讯的形式分享给大家参考:
1.攻击者首先创建两个攻击合约,随后通过攻击合约1在Pangolin将WAVAX兑换成SPORE代币,并将获得的SPORE代币抵押至ZABUFarm合约中,为后续获取ZABU代币奖励做准备。
2.攻击者通过攻击合约2从Pangolin闪电贷借出SPORE代币,随后开始不断的使用SPORE代币在ZABUFarm合约中进行`抵押/提现`操作。由于SPORE代币在转账过程中需要收取一定的手续费(SPORE合约收取),而ZABUFarm合约实际接收到的SPORE代币数量是小于攻击者传入的抵押数量的。分析中我们注意到ZABUFarm合约在用户抵押时会直接记录用户传入的抵押数量,而不是记录合约实际收到的代币数量,但ZABUFarm合约在用户提现时允许用户全部提取用户抵押时合约记录的抵押数量。这就导致了攻击者在抵押时ZABUFarm合约实际接收到的SPORE代币数量小于攻击者在提现时ZABUFarm合约转出给攻击者的代币数量。
3.攻击者正是利用了ZABUFarm合约与SPORE代币兼容性问题导致的记账缺陷,从而不断通过`抵押/提现`操作将ZABUFarm合约中的SPORE资金消耗至一个极低的数值。而ZABUFarm合约的抵押奖励正是通过累积的区块奖励除合约中抵押的SPORE代币总量参与计算的,因此当ZABUFarm合约中的SPORE代币总量降低到一个极低的数值时无疑会计算出一个极大的奖励数值。
4.攻击者通过先前已在ZABUFarm中有进行抵押的攻击合约1获取了大量的ZABU代币奖励,随后便对ZABU代币进行了抛售。
此次攻击是由于ZabuFinance的抵押模型与SPORE代币不兼容导致的,此类问题导致的攻击已经发生的多起,慢雾安全团队建议:项目抵押模型在对接通缩型代币时应记录用户在转账前后合约实际的代币变化,而不是依赖于用户传入的抵押代币数量。[2021/9/12 23:19:21]
慢雾:BSC项目Value DeFi vSwap 模块被黑简析:据慢雾区情报,币安智能链项目 Value DeFi 的 vSwap 模块被黑,慢雾安全团队第一时间介入分析,并将结果以简讯的形式分享,供大家参考:
1. 攻击者首先使用 0.05 枚 WBNB 通过 vSwap 合约兑换出 vBSWAP 代币;
2. 攻击者在兑换的同时也进行闪电贷操作,因此 vSwap 合约会将兑换的 vBSWAP 代币与闪电贷借出的 WBNB 转给攻击者;
3. 而在完成整个兑换流程并更新池子中代币数量前,会根据池子的 tokenWeight0 参数是否为 50 来选择不同的算法来检查池子中的代币数量是否符合预期;
4. 由于 vSwap 合约的 tokenWeight0 参数设置为 70,因此将会采用第二种算法对池子中的代币数量进行检查;
5. 而漏洞的关键点就在于采用第二种算法进行检查时,可以通过特殊构造的数据来使检查通过;
6. 第二种算法是通过调用 formula 合约的 ensureConstantValue 函数并传入池子中缓存的代币数量与实时的代币数量进行检查的;
7. 在通过对此算法进行具体分析调试后我们可以发现,在使用 WBNB 兑换最小单位(即 0.000000000000000001) vBSWAP 时,池子中缓存的 WBNB 值与实时的值之间允许有一个巨大的波动范围,在此范围内此算法检查都将通过;
8. 因此攻击者可以转入 WBNB 进行最小单位的 vBSWAP 代币兑换的同时,将池子中的大量 WBNB 代币通过闪电贷的方式借出,由于算法问题,在不归还闪电贷的情况下仍可以通过 vSwap 的检查;
9. 攻击者只需要在所有的 vSwap 池子中,不断的重复此过程,即可将池子中的流动性盗走完成获利。详情见原文链接。[2021/5/8 21:37:37]
问题一:根据假设,我目前的资产状况如何?
答:因为我所占流动性池的比例为10%,所以目前我在流动性池中的资产为50FC及50USDT;
问题二:如果未参与提供流动性,那么我的资产状况如何?
答:若未提供流动性,则我的资产为100FC及25USDT
问题三:此刻我本次的无常损失是多少?
答:本次的无常损失为25美元,资产损失为20%。计算过程如下:
1、未提供流动性情况下:
我的资产为100FC及25USDT,即100*FC现价+25*USDT价格=100*1+25*1=125
2、提供流动性情况下:
我的资产为50FC及50USDT,即50*FC现价+50*USDT价格=50*1+50*1=100
3、未提供流动性情况下的资产价格与提供流动性情况下的资产价格差:
125-100=25。损失比率为25/125=20%。
问题四:为什么会出现无常损失?
答:因为FC价格不断上涨,而原始流动性池中FC相对就会比较便宜,所以就会有人不断在流动性池中充入USDT,换出FC套利,池子中的FC就会减少,USDT就会变多。对于我作为流动性提供者来说,相当于我手中的FC在不断被以比较低的价格卖出,而收入的是相对FC不断贬值的USDT,这也就产生了无常损失。无常损失是从英文ImpermanentLoss翻译来的,其实英文直译就是临时损失,也就是说,当我初始存入FC和USDT时,因为币价的变动FC和USDT的价值比变了,这时也就产生了ImpermanentLoss。但当一段时间以后,FC和USDT的价格比又回到了我初始存入时的比例时,这种损失就会消失。所以称为临时损失。
问题五:无常损失的函数曲线什么样的?
首先,通过计算,我们可以列出几个流动性池的FC和USDT数量的时间点,并依据问题三中提到的无常损失计算方法,得出相应的损失比例。如下图表:
根据此表,可以得出如下横轴为FC数量,纵轴为损失比率的折线图。
上图中折线交横轴的点也就是上表中初始流动性池中的USDT为25,FC为100时状态,此时损失比例为0。这也就意味着,如果不考虑其他收入的情况下,流动性提供者LP随着时间的推移,资产不会增长,而最多持平。
问题六:问题五中的折线图为什么抛物线不是对称的呢?
答:根据问题五中图表可得知,对于FC的变动,其实损失比率也是均匀变动的。之所以问题五中折线图不是对称图的原因是横轴取值范围为0-2000,若把问题五折线图横轴取值范围扩大至0至无穷大,同时将FC数量为100为中轴线画图,得出的图形大致如下:
问题七:盈利区间在哪呢?
答:以上问题所画的图中,均未考虑流动性提供者的收入,这里主要就是手续费收入,手续费收入又和DEX中交易对的交易频率还有交易量有关。如果我们将手续费考虑在内的话,图形大概如下:
如上图,只有在坐标轴横轴的上方,且在抛物线内的区间,才是流动性提供者LP能够盈利的区间。
问题八:无常损失这么厉害,那为什么还有人要做流动性提供者呢?
答:大致有如下情况三种主要情况:
1、如问题七,有盈利区间可以盈利;
2、有些币价比较稳定的交易对,在足够长的时间内,是很大可能会回到原始比例的,这时候取出就没有无常损失;
3、参与流动性挖矿,挖矿年华收益较高时,盈利的可能性比较大。
今天的FLUX课堂——无常损失,能够让大家了解流动性提供者的危与机,有助于大家走近DeFi,了解DEX。
标签:USDSDTUSDTSWAPAave USDCeth价格今日行情USDTusdt币提现到银行卡会冻结吗YetiSwap
进入新的一年,稳定币继续成为头条新闻。去年12月初,三名美国国会议员提出了《稳定币法案》,规范稳定币发行及相关商业活动监管.
1900/1/1 0:00:00加入PolkaWorld社区,共建Web3.0! 在2020年的最后一天,林哥发布了波卡2020年的总结报告!为了帮助大家get到重要信息.
1900/1/1 0:00:00Chainlink是一个去中心化预言机网络,将智能合约安全地连接至区块链网络以外的数据和服务。现代经济中的传统系统一旦接入了Chainlink预言机,就可以连通最前沿的区块链技术,让商业和社会流.
1900/1/1 0:00:00相信这次在过年期间,波卡给了大家不少的惊喜,很多人在年前因为过年所以进行了套现或者因为出于担心而出货,加上年前有一些消息暗指波卡将会有大量解锁或使市场出现大量抛压.
1900/1/1 0:00:00据币COIN数据显示,今日恐慌与贪婪指数为78,属于极度贪婪,与昨日相比,或许是今日比特币价格的持续走低,今日市场情绪教昨日小幅度降低,市场活跃度处于7日低位.
1900/1/1 0:00:00“我们在上个世纪进行的考察证明,极端的市场非理性周期性地爆发-并有说服力地表明,想要做得好的投资者最好学会如何应对下一次爆发。”——巴菲特如今,理性的市场是必然的.
1900/1/1 0:00:00