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。
安全團隊:Rubic被攻擊事件簡析:金色財經報道,據區塊鏈安全審計公司Beosin旗下Beosin EagleEye安全風險監控、預警與阻斷平臺監測顯示,Rubic項目被攻擊,Beosin安全團隊分析發現RubicProxy合約的routerCallNative函數由于缺乏參數校驗,_params可以指定任意的參數,攻擊者可以使用特定的integrator來讓RubicProxy合約可以幾乎零成本的調用自己傳入的函數data。攻擊者通過調用routerCallNative函數,把所有授權給RubicProxy合約的USDC全部通過transferFrom轉入了0x001B地址,被盜資金近1100個以太坊,通過Beosin Trace追蹤發現被盜資金已經全部轉入了Tornado cash。[2022/12/25 22:06:32]
Beosin:SEAMAN合約遭受漏洞攻擊簡析:金色財經報道,根據區塊鏈安全審計公司Beosin旗下Beosin EagleEye 安全風險監控、預警與阻斷平臺監測顯示,2022年11月29日,SEAMAN合約遭受漏洞攻擊。Beosin分析發現是由于SEAMAN合約在每次transfer函數時,都會將SEAMAN代幣兌換為憑證代幣GVC,而SEAMAN代幣和GVC代幣分別處于兩個交易對,導致攻擊者可以利用該函數影響其中一個代幣的價格。
攻擊者首先通過50萬BUSD兌換為GVC代幣,接下來攻擊者調用SEAMAN合約的transfer函數并轉入最小單位的SEAMAN代幣,此時會觸發合約將能使用的SEAMAN代幣兌換為GVC,兌換過程是合約在BUSD-SEAMAN交易對中將SEAMAN代幣兌換為BUSD,接下來在BUSD-GVC交易對中將BUSD兌換為GVC,攻擊者通過多次調用transfer函數觸發_splitlpToken()函數,并且會將GVC分發給lpUser,會消耗BUSD-GVC交易對中GVC的數量,從而抬高了該交易對中GVC的價格。最后攻擊者通過之前兌換的GVC兌換了50.7萬的BUSD,獲利7781 BUSD。Beosin Trace追蹤發現被盜金額仍在攻擊者賬戶(0x49fac69c51a303b4597d09c18bc5e7bf38ecf89c),將持續關注資金走向。[2022/11/29 21:10:04]
第二,假設流動性池中有我提供的100FC及25USDT,我就有流動性池中10%的資產;
Beosin:Skyward Finance項目遭受攻擊事件簡析:金色財經報道,根據區塊鏈安全審計公司Beosin旗下Beosin EagleEye 安全風險監控、預警與阻斷平臺監測顯示,Near鏈上的Skyward Finance項目遭受漏洞攻擊,Beosin分析發現由于skyward.near合約的redeem_skyward函數沒有正確校驗token_account_ids參數,導致攻擊者5ebc5ecca14a44175464d0e6a7d3b2a6890229cd5f19cfb29ce8b1651fd58d39傳入相同的token_account_id,并多次領取了WNear獎勵。本次攻擊導致項目損失了約108萬個Near,約320萬美元。Beosin Trace追蹤發現被盜金額已被攻擊者轉走。[2022/11/3 12:12:36]
第三,FC不斷上漲,直至某一時刻,流動性池中FC數量減少至500個,USDT數量增加至500個。
慢霧簡析Qubit被盜原因:對白名單代幣進行轉賬操作時未對其是否是0地址再次進行檢查:據慢霧區情報,2022 年 01 月 28 日,Qubit 項目的 QBridge 遭受攻擊損失約 8000 萬美金。慢霧安全團隊進行分析后表示,本次攻擊的主要原因在于在充值普通代幣與 native 代幣分開實現的情況下,在對白名單內的代幣進行轉賬操作時未對其是否是 0 地址再次進行檢查,導致本該通過 native 充值函數進行充值的操作卻能順利走通普通代幣充值邏輯。慢霧安全團隊建議在對充值代幣進行白名單檢查后仍需對充值的是否為 native 代幣進行檢查。[2022/1/28 9:19:19]
Harvest.Finance被黑事件簡析:10月26號,據慢霧區消息 Harvest Finance 項目遭受閃電貸攻擊,損失超過 400 萬美元。以下為慢霧安全團隊對此事件的簡要分析。
1. 攻擊者通過 Tornado.cash 轉入 20ETH 作為后續攻擊手續費;
2. 攻擊者通過 UniswapV2 閃電貸借出巨額 USDC 與 USDT;
3. 攻擊者先通過 Curve 的 exchange_underlying 函數將 USDT 換成 USDC,此時 Curve yUSDC 池中的 investedUnderlyingBalance 將相對應的變小;
4. 隨后攻擊者通過 Harvest 的 deposit 將巨額 USDC 充值進 Vault 中,充值的同時 Harvest 的 Vault 將鑄出 fUSDC,而鑄出的數量計算方式如下:
amount.mul(totalSupply()).div(underlyingBalanceWithInvestment());
計算方式中的 underlyingBalanceWithInvestment 一部分取的是 Curve 中的 investedUnderlyingBalance 值,由于 Curve 中 investedUnderlyingBalance 的變化將導致 Vault 鑄出更多的 fUSDC;
5. 之后再通過 Curve 把 USDC 換成 USDT 將失衡的價格拉回正常;
6. 最后只需要把 fUSDC 歸還給 Vault 即可獲得比充值時更多的 USDC;
7. 隨后攻擊者開始重復此過程持續獲利;
其他攻擊流程與上訴分析過程類似。參考交易哈希:0x35f8d2f572fceaac9288e5d462117850ef2694786992a8c3f6d02612277b0877。
此次攻擊主要是 Harvest Finance 的 fToken(fUSDC、fUSDT...) 在鑄幣時采用的是 Curve y池中的報價(即使用 Curve 作為喂價來源),導致攻擊者可以通過巨額兌換操控預言機的價格來控制 Harvest Finance 中 fToken 的鑄幣數量,從而使攻擊者有利可圖。[2020/10/26]
問題一:根據假設,我目前的資產狀況如何?
答:因為我所占流動性池的比例為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。
12月31日,2020年的最后一天,ArcBlock區塊基石創始人兼CEO冒志鴻寫下本文,回顧ArcBlock團隊在過去一年的心路歷程和進展,并充滿信心的展望2021年.
1900/1/1 0:00:00火大教育 “在高達5萬億的餐飲產業,每一個優秀的餐飲連鎖,都會把品牌資產上鏈,擁有品牌通證,借助區塊鏈進行登記、確權、流轉,都將進入數字資產的星辰大海.
1900/1/1 0:00:00BTC行情分析 BTC繼續維持日線底部區間31500震蕩,基本面沒有變化,量能縮小。下跌風險基本解除,未來中短期,繼續在我們之前的預判分析中,繼續在該日線區間震蕩整理.
1900/1/1 0:00:00Token:ADA艾達幣 現CMC排名:4 2021年牛年新春已經來到,隨著比特幣幾次超過2000USD的短期震蕩,主流幣漲勢逐漸趨于平穩上升。其他主網幣也開始爭相發力.
1900/1/1 0:00:00你好,這里是8分鐘區塊鏈,今天是2021年1月31號星期天,說說關于行情,昨天看到幣價暴漲,有同學說打臉不?看來所謂的以月為計算的盤整在牛市里是不存在的.
1900/1/1 0:00:00比特幣等數字貨幣和玩法模式多起源于西方國家,因此大部分數字貨幣、企業、發展模式的名稱都是以英文為基礎進行的命名,如DeFi、IEO、灰度、無常損失等,這些名稱更像是行業內特有的“黑話”.
1900/1/1 0:00:00