原文鏈接:https://medium
//..
源碼
很明顯,當用戶沒有債務時,他們的頭寸不能被清算,所以健康系數默認為type(uint256).max。
否則,"健康系數"定義為:
注:AAVEV2以ETH表示其抵押品和債務價值。
其中"LiquidationThreshold"是通過治理為每個資產獨立定義的,這項任務目前委托給Gauntlet,它為協議提供所有風險參數,包括"LiquidationThreshold"。
穿倉頭寸分析
現在我們已經涵蓋了壞賬的概念,我們將提供一個真實世界的例子來說明其重要性
我們將涉及的頭寸是AAVEV2的以下賬戶:0x227cAa7eF6D955A92F483dB2BD01172997A1a623。
讓我們開始調查它的現狀,通過調用AAVEV2借貸協議上的getUserAccountData函數:
現在讓我們把上面看到的東西分解一下,體會一下這個倉位的水下情況有多嚴重:
債務總額:17.83508595148699eth
抵押品總額:0.013596360502551568eth
這就是我們需要了解的,這個倉位有問題--抵押品的價值對應其所產生的債務的一個微不足道的部分。
但是,這些頭寸是如何達到這種狀態的呢?
為了回答這個問題,我們可以看看這個用戶在AAVE上執行的最新操作:
看起來一切都很好,直到13514857區塊,其中用戶從AAVE借用了一些資產。讓我們看看他們做了什么:
債務人借了700,000MANA,快速檢查一下MANA的美元價格會發現,價格是:
Steadefi:成功恢復約41.8萬美元的用戶資金,已向當局報案:金色財經報道,部署在Arbitrum和Avalanche上的DeFi借貸項目Steadefi發布推文稱,團隊成功從其余受感染的金庫中恢復了約 41.8 萬美元的用戶資金。我們已向當局報告此案,目前正在與安全公司合作,追蹤利用者的鏈上和鏈下活動。請耐心等待,我們將繼續調查此次攻擊并制定后續行動計劃。
金色財經曾報道,Steadefi昨日宣布協議已被利用,所有資金目前都面臨風險。[2023/8/9 21:32:47]
每MANA單位0.00032838ETH。
所以通過一些簡單的乘法,我們知道這個用戶對協議的債務增加了:
0.00032838*700000=229.866ETH
也值得回顧一下這個區塊的ETH的美元價格這里,它是4417.40美元。
注意上圖中13517657區塊發生的入金操作,就在借款后的幾個小時。
讓我們看看市場上是否有什么東西動搖了用戶的信心:
?~cast?call?-?b?13517657?0xA50ba011c48153De246E5192C8f9258A2ba79Ca9?"getAssetPrice(address)"0x0F5D2fB29fb7d3CFeE444a200298f468908cC9420x000000000000000000000000000000000000000000000000000131d14dce4400
以上是一個發送到AAVEV2PriceOracle的RPC調用,以獲得指定區塊的1單位MANA的價值,單位為Wei。
如果我們用這個數據轉換前述的價格,我們可以看到發生了什么:
0.00033625*700000=235.375eth
在短短的幾個小時內,產生的債務是~5.5ETH,價值~24000美元。哎喲。
由于我們知道這個頭寸的結局,我們知道它在某些時候是可以清算的,所以讓我們檢查涉及這個用戶地址的liquidationCall的調用:
selectevt_block_number,collateralAsset,debtAsset,debtToCover,liquidatedCollateralAmount,liquidatorfromaave_v2_ethereum.LendingPool_evt_LiquidationCallwhereuser?=?from_hex('0x227cAa7eF6D955A92F483dB2BD01172997A1a623')order?byevt_block_number?desc;
Circle推遲DeFi API產品發布,稱需進一步監管指導:3月4日消息。該產品計劃提供無縫、安全、可靠和受監管的訪問 DeFi 借貸協議的基礎設施。
該公司發言人表示,DeFi API 產品推出的時間將取決于進一步監管指導、合規工具增強和區塊鏈身份協議的可用性發展程度,并且暫時無法提供確切的推出時間表。(The block)[2022/3/4 13:38:15]
可以隨意在DuneAnalytics上運行上述查詢。
一旦我們找到第一個清算事件,我們就可以理解為什么用戶在借貸后不久就存入了資產:
+------------------+--------------------------------------------+--------------------------------------------+-------------------------+----------------------------+--------------------------------------------+|evt_block_number|collateralAsset??????????????|debtAsset?????????????????|debtToCover??????|liquidatedCollateralAmount|liquidator????????????????|+------------------+--------------------------------------------+--------------------------------------------+-------------------------+----------------------------+--------------------------------------------+|????13520838|0x6B175474E89094C44DA98B954EEDEAC495271D0F|0x0F5D2FB29FB7D3CFEE444A200298F468908CC942|17919685927295406794873|??58271102282974799175987|0xB2B3D5B6215D4FB23BF8DD642D385C4B44AADB2A|+------------------+--------------------------------------------+--------------------------------------------+-------------------------+----------------------------+--------------------------------------------+
韓國立法者呼吁對DeFi業務進行法律審查:10月9日消息,在國民議會的年度審查中,國家政策委員會成員、立法者Oh Gi-hyoung向韓國金融監管局(FSS)行長Jeong Eun-bo詢問了將如何監管虛擬資產銀行等DeFi業務。Oh指出,韓國虛擬資產借貸公司 Delio積累了2萬億韓元(約合16.7 億美元)的存款,并要求采取預防措施,防范銀行擠兌的可能性。Jeong回應說,在修訂后的《某些金融信息報告和使用法》要求這些服務在金融情報機構 (FIU)下注冊后,當局目前能夠審查和管理虛擬資產存儲和管理服務。
關于根據現有金融服務對DeFi進行分類,FSS行長表示“需要通過法律判斷來決定是否接受 DeFi 業務作為消費貸款服務的新分支”,因為DeFi業務提供虛擬資產貸款,而虛擬資產并未明確歸類為金融資產。他說這個問題需要法律審查,因為承認DeFi是金融服務可能會被誤解為正式承認虛擬資產為官方貨幣。(Forkast)[2021/10/9 20:17:01]
在這里我們可以看到,第一次清算發生在區塊13520838。這次清算是在用戶還沒有存入資金之前。
然后,在區塊13520838-13522070之間發生了一連串的小清算,價值不菲:
selectcount(?*?)?as?num_liquidationsfromaave_v2_ethereum.LendingPool_evt_LiquidationCallwhereuser?=?from_hex('0x227cAa7eF6D955A92F483dB2BD01172997A1a623')and?evt_block_number?<=?13522070?and?evt_block_number?>=?13520838
+?-?-?-?-?-?-?-?-?-?+|num_liquidations|+?-?-?-?-?-?-?-?-?-?+|87|+?-?-?-?-?-?-?-?-?-?+
讓我們檢查一下在這些區塊之間被清算人從用戶那里扣押的所有抵押資產類型:
selectSUM(liquidatedCollateralAmount)?as?amountSeized,??collateralAssetfromaave_v2_ethereum.LendingPool_evt_LiquidationCallwhereuser?=?from_hex('0x227cAa7eF6D955A92F483dB2BD01172997A1a623')and?evt_block_number?<=?13522070?and?evt_block_number?>=?13520838group?by?collateralAsset
DeFi平臺Cheese Bank遭到閃電貸攻擊損失330萬美元:金色財經報道,基于以太坊的DeFi平臺Cheese Bank最近因黑客攻擊遭受了330萬美元的損失。據悉,黑客利用閃電貸漏洞即時借入、交換、存款并再次借入大量代幣。因此,他們可以在單個交易所(例如Uniswap、Curve)上人為地操縱特定代幣的價格。區塊鏈安全公司PeckShield周一在博客中表示,Value DeFi和Akropolis最近遭受了類似的DeFi黑客攻擊。[2020/11/17 21:00:24]
我們可以看到只有2種資產,DAI和ETH。
+--------------------------+--------------------------------------------+|amountSeized??????|collateralAsset??????????????|+--------------------------+--------------------------------------------+|387663228503220484547359|0x6B175474E89094C44DA98B954EEDEAC495271D0F|+--------------------------+--------------------------------------------+|499940913071713798854??|0xC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2|+--------------------------+--------------------------------------------+
以及它們的金額:
~50ETH
~387,663DAI
有人可能會問,為什么清算會發生是一小塊一小塊進行的?
好吧,當像這樣巨大的頭寸被一次性清算時,市場會將如此大規模的抵押品清算理解為這些資產類型的賣出信號。記住:根據協議的清算人獎勵政策,清算中獲得的資產是以折扣價購買的。
隨著拋售壓力的增加,一次大規模的清算可能會產生一個清算的雪球。其他市場參與者可能也會出售他們的資產,導致資產價格進一步"拋售",這反過來又會導致協議中其他頭寸的更多清算。
因此,協議通常限制一次清算所能處理的資產量。AAVE的這個限制的版本,作為一個變量,可以看到下面:
pragmasolidity^0.8.13;//from...uint256internalconstantLIQUIDATION_CLOSE_FACTOR_PERCENT=5000;functionliquidationCall(?addresscollateralAsset,?addressdebtAsset,?addressuser,?uint256debtToCover,?boolreceiveAToken)externaloverridereturns(uint256,stringmemory){??//...??vars.maxLiquidatableDebt=???vars.userStableDebt.add(vars.userVariableDebt).percentMul(????LIQUIDATION_CLOSE_FACTOR_PERCENT???);??//...
Blockstream首席戰略官:Liquid Network可擁有與DeFi相同的功能:3月26日下午,Blockstream(c-lightning開發團隊)首席戰略官Samson Mow表示,“DeFi”這個詞有點模糊,定義也不清晰,因此很難確定什么是或不是DeFi。 閃電網絡是去信任化的、去中心化的,它確實為那些無法用比特幣主鏈解決的問題帶來了綜合的解決方案。
他還指出,液態網絡(Liquid Network)也將很快部署Simplicity智能合約語言,這意味著可以打造更多的創新項目,擁有與DeFi(即我們眼中的DeFi)相同的功能。像“DeFi”這樣的流行詞并不重要,重要的是打造出用戶需要切想要的產品。[2020/3/26]
我們可以看到,限制比例是50%,這意味著在一次清算中只允許償還頭寸的一半債務。
清算人也有動力將清算分成小塊。如果在清算時,市場上沒有足夠的流動性,無法將抵押資產全額提供給清算人。通過將清算分成小塊,清算人有更大的機會獲得流動資產,并從清算中獲得利潤。
此外,如果市場上的債務資產沒有足夠的流動性,那么清算人甚至在一開始就獲得該資產以償還抵押不足的用戶的債務可能會成本昂貴。
最后,想象一下試圖清算大量的某種你不擁有這么多數量代幣。如果你去DEX并試圖用一些WETH或任何其他資產來交換這個代幣,你也可能會遇到很高的Gas費用,使你的清算無利可圖。
回到我們的例子,為了檢查清算鏈后的頭寸參數,需要解析從getUserAccountData返回給我們的數據:
from?io?import?BytesIOfrom?binascii?import?unhexlifyfrom?dataclasses?import?dataclass@dataclass(frozen=True)class?UserAccountData:????totalCollateralETH:?int????totalDebtETH:?int????availableBorrowsETH:?int????currentLiquidationThreshold:?int????ltv:?int????healthFactor:?intdef?parse_user_account_data(uacd:?str)?->?UserAccountData:????uacd_bytes?=?unhexlify(uacd)????assert?len(uacd_bytes)?==?192????uacd_bytes?=?BytesIO(uacd_bytes)????total_collateral_eth?=?int.from_bytes(bytes=uacd_bytes.read(32),?byteorder="big",?signed=False)????total_debt_eth?=?int.from_bytes(bytes=uacd_bytes.read(32),?byteorder="big",?signed=False)????available_borrows_eth?=?int.from_bytes(bytes=uacd_bytes.read(32),?byteorder="big",?signed=False)????current_liquidation_threshold?=?int.from_bytes(bytes=uacd_bytes.read(32),?byteorder="big",?signed=False)????ltv?=?int.from_bytes(bytes=uacd_bytes.read(32),?byteorder="big",?signed=False)????health_factor?=?int.from_bytes(bytes=uacd_bytes.read(32),?byteorder="big",?signed=False)????return?UserAccountData(????????totalCollateralETH=total_collateral_eth,????????totalDebtETH=total_debt_eth,????????availableBorrowsETH=available_borrows_eth,????????currentLiquidationThreshold=current_liquidation_threshold,????????ltv=ltv,????????healthFactor=health_factor,????)
然后我們用cast來查詢chain的情況:
???~?cast?call?-b?13522070?0x7d2768dE32b0b80b7a3454c06BdAc94A69DDc7A9?"getUserAccountData(address)"?0x227cAa7eF6D955A92F483dB2BD01172997A1a6230x000000000000000000000000000000000000000000000000085b5b5e846685f4000000000000000000000000000000000000000000000002743544e203a3e4ae00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f710000000000000000000000000000000000000000000000000000000000001d9500000000000000000000000000000000000000000000000000260a45667b706b
最后解析輸出:
parse_user_account_data('0x000000000000000000000000000000000000000000000000085b5b5e846685f4000000000000000000000000000000000000000000000002743544e203a3e4ae00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f710000000000000000000000000000000000000000000000000000000000001d9500000000000000000000000000000000000000000000000000260a45667b706b')UserAccountData(totalCollateralETH=602175436690458100,?totalDebtETH=45267162967098778798,?availableBorrowsETH=0,?currentLiquidationThreshold=8049,?ltv=7573,?healthFactor=10707342303391851)
在這里我們看到了清算對頭寸的影響:幾乎沒有任何抵押品了~準確地說,是0.6個ETH。但是債務呢?45.26716296709878ETH!
那么在這個區塊的高度,MANA的價格是多少呢?
?~cast?call?-?b?13522070?0xA50ba011c48153De246E5192C8f9258A2ba79Ca9?"getAssetPrice(address)"0x0F5D2fB29fb7d3CFeE444a200298f468908cC9420x00000000000000000000000000000000000000000000000000031015cc1da8f2
0.000862110734985458eth!
如果你還記得,用戶在幾個小時前剛剛以0.00032838ETH的價格借入MANA。這相當于在一只股票上開了一個空頭頭寸,而這只股票的價格是火箭般的2.65倍--Oof???!
清算者無法在MANA的價格拋售得太厲害之前及時清算全部頭寸,使這個過程無利可圖,我們就剩下一個無力償還的頭寸。
現在我們可以體會到一個有效的流動性閾值的重要性,在避免協議中的壞賬。
小結:
雖然我們不能明確地說,可以用一個方程式來定義頭寸的流動性閾值,但我們肯定可以看到協議之間的相似之處:
所有協議都將其閾值定義為抵押品與債務的某個函數。
所有協議都留有一定的治理空間,以決定每個抵押品風險參數的價值,以應對市場條件的變化,因為一些資產比其他資產更不穩定。
所有協議都使用預言機對其抵押品和債務價格進行計價,并使用廣泛接受的貨幣。
我們已經看到,Maker和AAVE選擇使用相同的方程式來表示頭寸的安全性:
作者:Tal研究員@smlXL,感謝SamRagsdale和為本帖提供建議和反饋的smlXL團隊成員。
感謝Chaintool對本翻譯的支持。
Tags:DATETHBYTEBYTLabel FoundationETH Max Yield IndexArtByteGBYTE幣
金色財經報道,根據FactSet的數據,加密貨幣交易所Coinbase(COIN)第一季度收入為7.73億美元,超過分析師估計的6.55億美元,高于第四季度收入6.29億美元.
1900/1/1 0:00:00原文來源:AlanaLevin,?VariantFund原文編譯:Cecilia,?bfrenzDAO MEV,即最大可提取價值,指的是通過重新排序、插入和審查區塊內的交易.
1900/1/1 0:00:00來源:新智元 編輯:桃子Joey 神經網絡之父GeoffreyHinton離職谷歌,直言對畢生工作感到后悔。現在看來,他對AI的害怕,不是沒有道理.
1900/1/1 0:00:00近日的市場熱度令人焦慮,但真的這么多人在BRC-20上賺錢了嗎?縱覽推特,眾多KOL號稱在BRC-20大賺了一筆,紛紛分享心得,目前,領漲的ORDI?單價已突破27?美元.
1900/1/1 0:00:00博鏈財經BroadChain獲悉,5月6日,Arkham稱,美國政府目前在鏈上托管價值超過60億美元的比特幣.
1900/1/1 0:00:00周報概要: 1、上周NFT總交易額:187,377,632(美元)2、上周NFT總交易筆數:283.
1900/1/1 0:00:00