買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > Bitcoin > Info

ETH:DeFi 借貸概念:清算_BYT

Author:

Time:1900/1/1 0:00:00

原文鏈接:https://medium

//..

源碼

很明顯,當用戶沒有債務時,他們的頭寸不能被清算,所以健康系數默認為type(uint256).max。

否則,"健康系數"定義為:

注:AAVEV2以ETH表示其抵押品和債務價值。

其中"LiquidationThreshold"是通過治理為每個資產獨立定義的,這項任務目前委托給Gauntlet,它為協議提供所有風險參數,包括"LiquidationThreshold"。

穿倉頭寸分析

現在我們已經涵蓋了壞賬的概念,我們將提供一個真實世界的例子來說明其重要性

我們將涉及的頭寸是AAVEV2的以下賬戶:0x227cAa7eF6D955A92F483dB2BD01172997A1a623。

讓我們開始調查它的現狀,通過調用AAVEV2借貸協議上的getUserAccountData函數:

現在讓我們把上面看到的東西分解一下,體會一下這個倉位的水下情況有多嚴重:

債務總額:17.83508595148699eth

抵押品總額:0.013596360502551568eth

這就是我們需要了解的,這個倉位有問題--抵押品的價值對應其所產生的債務的一個微不足道的部分。

但是,這些頭寸是如何達到這種狀態的呢?

為了回答這個問題,我們可以看看這個用戶在AAVE上執行的最新操作:

看起來一切都很好,直到13514857區塊,其中用戶從AAVE借用了一些資產。讓我們看看他們做了什么:

債務人借了700,000MANA,快速檢查一下MANA的美元價格會發現,價格是:

數據:DeFi TVL突破500億美元:金色財經報道,數據顯示,DeFi協議TVL金額突破500億美元,目前為501.5億美元,24小時增長3.85%。[2023/4/27 14:29:01]

每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;

DeFi支付服務提供商Spritz Finance完成250萬美元pre-seed輪融資:5月25日消息,DeFi 支付服務提供商 Spritz Finance 宣布完成 250 萬美元 pre-seed 輪融資,本輪融資 Ledger Prime、OrangeDAO、Shima Ventures、DCG Genesis、Awesome People Ventures 等參投,天使投資人包括 Polygon 聯合創始人 Sandeep Nailwal、前 Coinbase 首席技術官 Balaji Srinivasan 、前 Y Combinator 金融科技合伙人 Aaron Harris。融資將用于擴大團隊,進一步開發產品。

據悉,Spritz Finance 已完成加密支付集成并支持跨鏈支付,用戶無需借助銀行即可直接通過 DeFi 協議完成賬單和其他服務的支付交易。[2022/5/25 3:39:38]

可以隨意在DuneAnalytics上運行上述查詢。

一旦我們找到第一個清算事件,我們就可以理解為什么用戶在借貸后不久就存入了資產:

+------------------+--------------------------------------------+--------------------------------------------+-------------------------+----------------------------+--------------------------------------------+|evt_block_number|collateralAsset??????????????|debtAsset?????????????????|debtToCover??????|liquidatedCollateralAmount|liquidator????????????????|+------------------+--------------------------------------------+--------------------------------------------+-------------------------+----------------------------+--------------------------------------------+|????13520838|0x6B175474E89094C44DA98B954EEDEAC495271D0F|0x0F5D2FB29FB7D3CFEE444A200298F468908CC942|17919685927295406794873|??58271102282974799175987|0xB2B3D5B6215D4FB23BF8DD642D385C4B44AADB2A|+------------------+--------------------------------------------+--------------------------------------------+-------------------------+----------------------------+--------------------------------------------+

數據:近790億美元資產鎖定在DeFi協議中:3月29日消息,數據聚合商DeFi Llama的數據顯示,目前將近790億美元的資產鎖定在去中心化金融(DeFi)協議中。DeFi的TVL(鏈上鎖倉資產)大約相當于BNB的兩倍,接近ETH市值的三分之一。(Cointelegraph)[2021/3/29 19:26:00]

在這里我們可以看到,第一次清算發生在區塊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

我們可以看到只有2種資產,DAI和ETH。

+--------------------------+--------------------------------------------+|amountSeized??????|collateralAsset??????????????|+--------------------------+--------------------------------------------+|387663228503220484547359|0x6B175474E89094C44DA98B954EEDEAC495271D0F|+--------------------------+--------------------------------------------+|499940913071713798854??|0xC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2|+--------------------------+--------------------------------------------+

幣贏CoinW平臺DeFi幣種 1UP領漲:據幣贏行情數據顯示,截止今日10:00(GMT+8),平臺內DeFi幣種今日1UP領漲,今日漲幅為39.09%,現價0.008USDT;DEV今日漲幅29.37%,現價2.9560USDT;RING今日漲幅19.59%,現價0.0371USDT;KTON今日漲幅為16.29%,現價79.3715USDT。風險提示:近期行情波動較大,請注意控制風險[2020/10/9]

以及它們的金額:

~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???);??//...

我們可以看到,限制比例是50%,這意味著在一次清算中只允許償還頭寸的一半債務。

清算人也有動力將清算分成小塊。如果在清算時,市場上沒有足夠的流動性,無法將抵押資產全額提供給清算人。通過將清算分成小塊,清算人有更大的機會獲得流動資產,并從清算中獲得利潤。

此外,如果市場上的債務資產沒有足夠的流動性,那么清算人甚至在一開始就獲得該資產以償還抵押不足的用戶的債務可能會成本昂貴。

了得資本宣布投資去中心化金融平臺DeFiner:據官方消息,了得資本宣布投資去中心化金融平臺DeFiner,

據了解,DeFiner是一個完全去中心化的加密資產儲蓄,融資,支付平臺。2018年成立于美國 ,曾2019獲得美國金融科技挑戰賽冠軍,被金融科技新聞評為2020全美最值得關注8家金融科技初創公司等榮譽,并獲得知名初創企業風投Techstars投資。

?了得資本是最具影響力的區塊鏈投資機構之一,近期成立了得資本DeFi基金,專注投資DeFi領域優質項目,已經成功投資10多個項目,并聯合合作伙伴賦能項目成長。[2020/8/19]

最后,想象一下試圖清算大量的某種你不擁有這么多數量代幣。如果你去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:ETHDATBYTEBYTETHFPDATA幣GoBytedigibyte

Bitcoin
CRY:新的 Crypto 沃土是阿聯酋?Coinbase 瞄準中東市場擴張以應對美國監管挑戰_CRYPTO

Coinbase首席執行官BrianArmstrong贊揚了阿拉伯聯合酋長國對Crypto監管的前瞻性方針.

1900/1/1 0:00:00
FOL:Layer2的激勵機制:Fiat-Shamir heuristic在FOX的妙用_FOLD

撰文:孟鉉濟,FoxTech首席科學家;康水躍,FoxTechCEO 前言 Layer1作為一種分布式系統,為了達成共識需要高昂的通訊代價,并且大量的計算也會消耗昂貴的gas.

1900/1/1 0:00:00
AUR:TheBlock 揭秘來自俄羅斯的“空投獵人”_加密貨幣

空投獵人旨在通過推測潛在的空投并提前埋伏來賺錢。雖然這種策略可以帶來高額利潤,但也會帶來財務風險和道德問題。空投是一種真正僅限加密的現象,涉及向協議和平臺的早期采用者分發加密代幣.

1900/1/1 0:00:00
ETA:Meta逆風翻盤:廣告用戶都回春 元宇宙不香了卷AI_METANAUT

在今天的財報之前,很多人都不看好Meta過去一個季度的業績表現。營收已經連續三個季度下降,社交家族增長幾乎原地踏步,率先開啟今年的第二輪萬人大裁員......特別是在突然翻涌的AI浪潮下,Met.

1900/1/1 0:00:00
區塊鏈:主題公園的未來在哪里?環球影城的元宇宙新玩法_ETF

為跟上不斷變化的科技發展,環球影城主題公園不斷演進。其中最讓人激動的新進展之一是將元宇宙技術引入到環球影城的游樂設施中.

1900/1/1 0:00:00
NFT:L2網絡推動NFT市場再次崛起?淺談下一個NFT周期_Fimi Market Inc.

原文作者:Ledger?團隊成員?Kouk.eth、NFT投資者?Moritz 原文編譯:PANews 在開始進入正題之前,首先需要明確一點,即:盡管市場出現暫時下跌,但?NFT?將繼續存在.

1900/1/1 0:00:00
ads