比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads
首頁 > DYDX > Info

CRV:詳解 EIP-4626 中的滑點問題及解決方案

Author:

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

簡介

EIP-4626提供了一種將代幣投資到投資池(通常稱為金庫)的標準方法。當我們存入自己的資產時,我們會收到一個份額代幣,代表我們在金庫里的資產。金庫將把匯集的資產投資到一個或多個基礎平臺,為持有者產生收益。

EIP-4626標準的一個結果是,存款和鑄幣函數沒有提供指定回報的最小份額或資產金額的方法。這通常用于防止高滑點或三明治攻擊。mStable如何通過其MetaVaults解決這個問題——在保持符合標準的同時減輕高滑點攻擊?本文描述了這些挑戰,并解釋了他們的方法是如何工作的。

EIP-4626和mStable金庫存款

mStableEIP-4626的首個金庫將投資于基于Curve3Pool的Convex池。從EIP-4626的角度來看,金庫的資產是Curve3Pool的流動性提供者代幣(3Crv)。存款函數是EIP-4626規范的一部分,它指定要存入多少資產以及將接收金庫份額的帳戶。存款函數返回給接收方會鑄造多少金庫份額。

functiondeposit(uint256assets,addressreceiver)

external

returns(uint256shares);

彭博社:歐盟委員會今日將制定推出數字歐元的計劃:6月28日消息,歐盟委員會今日將制定推出數字歐元的計劃,并為歐元區建立主權數字貨幣。彭博社表示,根據相關規則草案,要求歐洲央行對其使用設定限制,但沒有提出交易或持有的具體門檻。[2023/6/28 22:05:28]

例如,存入3CrvConvexmUSD金庫將從調用方轉移3Crv,并將vcx3CRV-mUSD金庫份額轉移到接收方。

EIP-4626標準的強大之處在于,在投資池中有一種通用的投資方法,但對資產可以投資到底層平臺的內容和時間沒有限制。對于mStable的3CrvConvxmUSD金庫來說,3Crv被添加到CurvemUSDMetapool中,然后產生的流動性提供者代幣(musd3Crv)被存入ConvexmUSD池中,該池會投資于CurvemUSDgauge并獲得更高的回報。

這個過程中的一個技術挑戰是如何防止三明治攻擊。

數據:5月ENS域名注冊量創過去12個月新低:6月1日消息,據 Dune 數據顯示,5 月以太坊域名服務 ENS 的注冊量僅為 16,175 個,創過去 12 個月最低紀錄,當月新增地址數為 12,197 個,也為過去 12 個月最低紀錄。

目前以太坊域名服務活躍域名總量為 2,732,941 個,參與獨立地址總量為 696,542 個。[2023/6/1 11:51:41]

什么是三明治攻擊?如何預防它們?

當我們向CurveMetapool(或任何其他池)添加流動性時,我們指定自己想存入的資產數量和流動性提供者(LP)代幣的最小數量。對于mUSDMetapool,金額是一個包含兩項的數組。第一個是mUSD的量,第二個是3Crv的量。3CrvConvex金庫只存3Crv,因此金額數組的第一項將為零。

functionadd_liquidity(uint256memoryamounts,uint256min_mint_amount)

external

returns(uint256);

開發金庫時的一個技術挑戰是我們如何設置預期流動性提供者代幣的最小數量。

機構信貸基礎設施提供商Credora完成600萬美元融資:4月25日消息,機構信貸基礎設施提供商 Credora 在一輪戰略融資中籌集了 600 萬美元,投資者包括 S&P Global 和 Coinbase Ventures。本輪融資的其他參與者包括 Spartan、Amber Group、CMT Digital、Hashkey、GSR、KuCoin Ventures、流動性提供商 Paradigm.co、Pirata Capital、Breed VC 和 WAGMI Ventures。該輪融資使 Credora 獲得了高達 1600 萬美元的總融資。這筆資金將幫助構建技術并支持 Credora 用于承保和監控借款人的私有計算技術。該初創公司為集中式和 DeFi 的機構信貸提供技術基礎設施。

Credora 成立于 2019 年,提供針對私人信貸市場量身定制的貸款基礎設施和信用評級系統。該公司表示,其隱私保護技術使貸方能夠在不泄露借款人信息的情況下做出明智的實時決策。據該公司稱,Credora 迄今已促成超過 10 億美元的貸款。[2023/4/25 14:26:16]

僅僅將min_mint_amount設置為零是不夠的,因為它會讓存款交易受到三明治攻擊。但在我們深入了解三明治攻擊是如何工作之前,我們需要更多地了解CurveMetapool定價是如何工作的。由于金庫只添加兩個池代幣(mUSD和3Crv)中的一個,因此它接收到的Metapool流動性提供者(LP)代幣的數量將取決于Metapool中mUSD和3Crv的余額。池中的3Crv越多,當僅將3Crv添加到Metapool時,返回的LP代幣就越少。

LINE子公司LINE NEXT在旗下NFT平臺DOSI上推出支持以太坊的C2C服務:金色財經報道,日本社交巨頭LINE旗下NFT子公司LINE NEXT宣布在其NFT平臺DOSI上推出C2C服務,并支持使用以太坊支付。

金色財經此前報道,日本通訊巨頭LINE旗下NFT子公司LINENEXT推出全球NFT平臺DOSIBeta版本,品牌方可在平臺中的“DOSIStore”中銷售獨家NFT,用戶需注冊DOSIWallet在平臺上購買NFT,并可獲得“DOSICitizen”身份從而參與平臺活動。[2022/11/8 12:32:57]

例如,如果Curve的mUSDMetapool添加了200萬個mUSD,600萬個3Crv和100k個3Crv,則將收到100,068個LP代幣(musd3Crv)。如果Metapool有600萬個mUSD,添加了200萬個3Crv和100k個3Crv,將收到100,892個LP代幣(musd3Crv)。

那么三明治攻擊是如何實現的呢?

攻擊者在將交易包含到區塊之前,就會監控Mempool中可能被利用的交易。為了利用交易,他們賄賂區塊生產者,將他們的交易包含在可利用的交易之前和之后。也就是說,他們將易受攻擊的交易與自己的交易夾在一起。如果有一筆交易將3Crv添加到最低LP金額為零的mUSDMetapool,則攻擊者的第一筆交易將是減少Metapool中的mUSD數量。這意味著在易受攻擊的添加流動性交易中收到的MetapoolLP代幣數量遠低于應有的數量。在第三個交易中,攻擊者返還在第一個交易中刪除的mUSD,并將收益裝入囊中。

外媒:馬斯克收購成功后,推特將增加130億美元債務,年利超10億美元:10月27日消息,馬斯克完成對推特440億美元的收購后,根據協議推特將增加約130億美元的債務。分析人士根據此前與該交易有關的文件中列出的條款估計,推特每年將支付超過10億美元的利息。過去五年,推特公布的稅息折舊及攤銷前平均年利潤約為7億美元。

此前報道,今日早些時候,馬斯克已將其推特簡介改為“Chief Twit”并發布了一條其訪問推特總部的視頻。此前據彭博社援引知情人士報道,馬斯克周一在與融資銀行的視頻會議上承諾將于本周五完成對推特的收購交易,銀行將為馬斯克收購推特提供總計130億美元的債務融資。(華爾街日報)[2022/10/27 11:49:27]

例子

使用Curve的mUSDMetapool,池中有6,000,000mUSD和3Crv,11,917,295個LP代幣(musd3Crv)和1.018095美元的虛擬價格。

攻擊者通過使用6,500,000(54.5%)池流動性提供者(musd3Crv)代幣從池中提取5,973,425的mUSD,使用他們池中的大部分流動性提供者代幣(musd3Crv)來平衡池。使用remove_liquidity_one_coin函數進行單邊提款,池中剩下0.43%mUSD和99.56%3Crv。虛擬價格上漲了近1%,至1.019105,因為大量不平衡的提現為池收取了費用。

受害者使用add_liquidity函數將100,000個3Crv添加到不平衡的池中,且沒有最小流動性提供者數量。如果池是平衡的,受害者得到81978個LP代幣而不是100371個。這意味著受害者得到的LP代幣比他們應該得到的少18,393個(18%)。以美元計算,受害者得到的美元價值減少了18,643(18%)。

對于第三個也是最后一個交易,攻擊者使用add_liquidity將他們從第一個交易中提取的5,973,425個mUSD添加回池中,以接收6,503,610個LP代幣(musd3Crv)。比第一次交易多取了3610美元。池的虛擬價格將增加1%至1.019216,因為這是另一個不平衡的交易。以美元計算,攻擊者的LP價值從6,500,000*1.018095=6,617,617美元上升到6,503,610*1.019216=6,628,583美元,增加了10,966美元(1.65%)。

如果受害者損失了18643美元價值,而攻擊者只獲得了10966美元價值,那么缺失的7677美元價值在哪里?

使池失衡的0.04%費用由流動性提供者和Curve投票托管的CRV(veCRV)持有者平均分攤。攻擊者未持有的5,417,295LP代幣的價值從5,515,323美元增加到5,520,794美元。這比池費用的50%增加了5,471美元。增加的美元價值歸于托管CRV(veCRV)持有人。

Curve的保護

為了防止三明治攻擊,在向CurveMetapool添加流動性時,需要指定一個合理的最小LP代幣數量。通常,DeFi協議會在交易中傳入相當數量的金額。Curve池中的add_liquidity函數就是min_mint_amount的一個很好的例子。但是對于標準的EIP-4626存款函數,沒有定義參數來指定最小金額,因此我們無法傳入相當數量的鏈下計算的MetapoolLP代幣。

Curve池有一個calc_token_amount函數,它可以計算池代幣存款收到的LP代幣數量。但這不能用來防止三明治攻擊。如果已經運行了一個交易來平衡池,那么calc_token_amount函數將只返回當前不公平的LP代幣數量。

functioncalc_token_amount(uint256memoryamounts,boolis_deposit)externalviewreturns(uint256);

因此問題仍然存在,EIP-4626函數沒有辦法傳遞最小量。打破標準來添加這一點是不可取的,使用預言機也是次優的。我們需要鏈上方法。

mStable的方法

mStable的金庫獲得一個公平的MetapoolLP代幣價格的方法是使用CurveMetapool和Curve3Pool的虛擬價格。get_virtual_price函數以美元為單位返回池的流動性提供者代幣的價格。它通過計算池的不變式來實現這一點,該不變式是池中代幣的美元價值除以代幣的總供應量。由于池中代幣的余額不影響池的不變值或總美元價值,虛擬價格不會受到三明治攻擊。

functionget_virtual_price()externalviewreturns(uint256);

對于存入mStable金庫的存款,我們需要在Curve的3PoolLP代幣(3Crv)中對MetapoolLP代幣進行定價,因為這是我們在金庫中使用的資產。為此,我們得到3Pool虛擬價格,并將其除以MetapoolLP代幣價格。

fairMetapoolLPtokens=3Crvassets*

3Poolvirtualprice/

Metapoolvirtualprice

一旦我們有了一個合理的價格,我們就可以通過目前配置為1%的滑點系數來降低它。這個調整后的公平價格用于計算在向池中添加3Crv流動性時可以接收的CurveMetapoolLP代幣(musd3Crv)的最小數量。

存款的全部流程如下:

結論

雖然標準在標準化和獲得采用方面起著巨大的作用,但像這樣的問題提醒我們,在DeFi方面沒有輕松的勝利。我們需要認識到現有標準的局限性,并為它們尋找最佳的解決方案。

Tags:CRV3CRVMUSDPOO3CRV幣MUSD價格POO幣

DYDX
DID:萬字長文解讀 Web3 身份堆棧:邁向數字主權之路

本文涵蓋了去中心化身份的核心概念、互聯網上身份的演變、Web3身份基礎設施堆棧的逐層概述以及隱私基元的相關發展。人身證明、合規性和應用層將在未來的文章中介紹.

1900/1/1 0:00:00
ARK:對加密新人而言的 7 個殘酷真相

我在舊文章《2022年加密新手生存指南》上收到的積極反饋讓我思考如何為這些新鮮血液提供更多有用的tips。對于這個行業,新人很重要,他們在混亂之后留下來很重要。Crypto吸引著杰出的人才.

1900/1/1 0:00:00
VAS:從MetaMask啟動收集用戶數據,簡述監管體系發展脈絡

最近,Uniswap和MetaMask兩大去中心化領域的扛把子,相繼更新了隱私政策。Uniswap將收集用戶公開的鏈上和鏈下數據,以篩查該錢包是否有任何非法活動.

1900/1/1 0:00:00
CUR:Space實錄:CRV多空大戰、Curve穩定幣LLAMMA機制深度解讀

一、多空大戰事件回顧 區塊先生: 我覺得這個事件現在還是處于一個有點未知的狀況,但是以鏈上數據來看的話,整個過程就是有一位大戶在Aave上面抵押USDC,大概有4000萬美金左右.

1900/1/1 0:00:00
元宇宙:巴比特 | 元宇宙每日必讀:咸陽高新區發布元宇宙行動方案,將打造西北第一家“大秦元宇宙”產業先行區

摘要:11月28日,咸陽高新區管委會發布《咸陽高新區建設“元宇宙產業先行區”行動方案》,提出按照“一個目標、三個發展路徑、五個應用場景”的“一三五”發展思路,優先布局元宇宙發展新賽道.

1900/1/1 0:00:00
CRV:crvUSD如何解決傳統穩定幣的三個問題?

我將在本篇推文中為大家介紹Curve的原生StablecoincrvUSD,它將一次性解決三個問題。 創建協議的原生Stablecoin基本就等于為協議提供了流動資金.

1900/1/1 0:00:00
ads