原文標題:《SolvingtheissuewithslippageinEIP-4626?》
原文作者:NickAddison
原文編譯:ChinaDeFi
EIP-4626和mStable金庫存款
mStableEIP-4626的首個金庫將投資于基于Curve3?Pool的Convex池。從EIP-4626的角度來看,金庫的資產是Curve3?Pool的流動性提供者代幣(?3?Crv)。存款函數是EIP-4626規范的一部分,它指定要存入多少資產以及將接收金庫份額的帳戶。存款函數返回給接收方會鑄造多少金庫份額。
functiondeposit(uint?256assets,addressreceiver)
external
returns(uint?256shares);
例如,存入3?CrvConvexmUSD金庫將從調用方轉移3?Crv,并將vcx?3?CRV-mUSD金庫份額轉移到接收方。
EIP-4626標準的強大之處在于,在投資池中有一種通用的投資方法,但對資產可以投資到底層平臺的內容和時間沒有限制。對于mStable的3?CrvConvxmUSD金庫來說,3?Crv被添加到CurvemUSDMetapool中,然后產生的流動性提供者代幣(musd?3?Crv)被存入ConvexmUSD池中,該池會投資于CurvemUSDgauge并獲得更高的回報。
趙錫軍:央行數字貨幣重點在于如何與傳統貨幣進行融合:對于“數字貨幣研發重點和難點”的看法,中國人民大學財政金融學院副院長趙錫軍指出,其中涉及兩個問題。一是技術是否成熟。比特幣實際上就是數字貨幣最初的雛形,從技術層面來講,比特幣是有一些缺陷的,一旦支付量變大,就會出現支付困難或者效率下降。另外,比特幣出現過被盜等安全問題。而據央行貨幣研究所所長穆長春的一個內部研討會指出,央行數字貨幣,效率是非常高的,支付能力很強,說明已經克服技術方面的問題。二是數字貨幣被引入后,如何與傳統的貨幣和貨幣管理運行體系進行融合。數字貨幣的發行,是基于區塊鏈的基礎,它是有上限的,從目前來講它的發行規模取決于互聯網的算力。盡管穆長春所長也提到,央行數字貨幣現在可以突破區塊鏈的上限限制,但是破獲以后,它的發行究竟是怎么樣的,是否能夠跟我們目前的人民幣發行順利融合,這需要在制度層面有所安排。(澎湃新聞)[2020/4/22]
這個過程中的一個技術挑戰是如何防止三明治攻擊。
什么是三明治攻擊?如何預防它們?
當我們向CurveMetapool(或任何其他池)添加流動性時,我們指定自己想存入的資產數量和流動性提供者(LP)代幣的最小數量。對于mUSDMetapool,金額是一個包含兩項的數組。第一個是mUSD的量,第二個是3?Crv的量。?3?CrvConvex金庫只存3?Crv,因此金額數組的第一項將為零。
幣情觀察室 | 全球遇冷 比特幣橫盤震蕩 如何布局進場:4月3日16:30,金色盤面邀請行情大V星河區塊鏈做客金色財經《幣情觀察室》直播間,將分享《全球遇冷 比特幣橫盤震蕩 如何布局進場》,敬請關注,掃描下圖二維碼即可觀看。[2020/4/3]
functionadd_liquidity(uint?256?memoryamounts,uint?256min_mint_amount)
external
returns(uint?256?);
開發金庫時的一個技術挑戰是我們如何設置預期流動性提供者代幣的最小數量。
僅僅將min_mint_amount設置為零是不夠的,因為它會讓存款交易受到三明治攻擊。但在我們深入了解三明治攻擊是如何工作之前,我們需要更多地了解CurveMetapool定價是如何工作的。由于金庫只添加兩個池代幣(mUSD和3?Crv)中的一個,因此它接收到的Metapool流動性提供者(LP)代幣的數量將取決于Metapool中mUSD和3?Crv的余額。池中的3?Crv越多,當僅將3?Crv添加到Metapool時,返回的LP代幣就越少。
聲音 | Jeffrey Wernick:華爾街不喜歡比特幣 不知如何用它講好故事:芝加哥大學經濟學與金融學博士、區塊鏈和比特幣項目早期參與者、Uber和Airbnb早期投資人Jeffrey Wernick稱,華爾街不喜歡比特幣,或因不知如何用其講好故事拿下高估值。Wernick認為,現在的華爾街的公司估值模式已經從傳統的現金流折現模型(DCF)轉向通過炒作故事概念來獲取高估值。他認為,DCF是里的清的帳,可以通過現有現金流、未來增長預期和折現率定價求得。在這種模式下的高估值是因為,低融資成本下的低折現率導致的。Wernick解釋,在炒作概念的估值模式里,項目方會找博士來撰寫估值模式和框架,并稱這是正確的估值方法,接著再找更多人的輸出類似的觀點,造成一個所謂的共識,最后再說服其他人接受這一共識。之后,他們會如法炮制的輸出“為什么這家公司估值應該比去年更高“的共識。但是,這些始終都是概念。Wernick還指出,特斯拉就是通過炒作概念來獲取高估值的,通過不斷地講故事來維持高估值、保證投資人不受損失。[2019/6/21]
例如,如果Curve的mUSDMetapool添加了200萬個mUSD,?600萬個3?Crv和100?k個3?Crv,則將收到100?,?068個LP代幣(musd?3?Crv)。如果Metapool有600萬個mUSD,添加了200萬個3?Crv和100?k個3?Crv,將收到100?,?892個LP代幣(musd?3?Crv)。
動態 | 歐盟議會報告揭示銀行如何打敗比特幣:7月24日消息,歐洲議會政策部發布的一份報告中解釋了央行發行的加密貨幣如何勝過比特幣。ECON委員會在報告中稱,中央銀行發行的數字貨幣將對當前的加密貨幣市場產生重大影響,并將私人發行的數字貨幣(如比特幣)與中央銀行發行的數字貨幣區分開,將它們相互對立。報告還指出:中央銀行和商業銀行基本上可以通過阻止用戶訪問交易所或錢包或通過拒絕服務,來對比特幣7708.68以及其他加密貨幣進行定價。[2018/7/24]
那么三明治攻擊是如何實現的呢?
攻擊者在將交易包含到區塊之前,就會監控Mempool中可能被利用的交易。為了利用交易,他們賄賂區塊生產者,將他們的交易包含在可利用的交易之前和之后。也就是說,他們將易受攻擊的交易與自己的交易夾在一起。如果有一筆交易將3?Crv添加到最低LP金額為零的mUSDMetapool,則攻擊者的第一筆交易將是減少Metapool中的mUSD數量。這意味著在易受攻擊的添加流動性交易中收到的MetapoolLP代幣數量遠低于應有的數量。在第三個交易中,攻擊者返還在第一個交易中刪除的mUSD,并將收益裝入囊中。
例子
Shapeshift CEO:比特幣與央行一樣少有人知道其如何運作 卻一直在被使用:Shapeshift的首席執行官Erik Voorhees在其社交媒體發文稱:“現在有許多人質疑比特幣是如何運作的,并且因為比特幣的不確定性而遠離它。然而與此同時,這些人中沒有一個人知道中央銀行的業務是如何運作的,但卻毫無疑問地一直在使用它。[2018/3/22]
使用Curve的mUSDMetapool,池中有6?,?000?,?000mUSD和3?Crv,11?,?917?,?295個LP代幣(musd?3?Crv)和1.018095美元的虛擬價格。
攻擊者通過使用6?,?500?,?000(?54.5%??????????)池流動性提供者(musd?3?Crv)代幣從池中提取5?,?973?,?425的mUSD,使用他們池中的大部分流動性提供者代幣(musd?3?Crv)來平衡池。使用remove_liquidity_one_coin函數進行單邊提款,池中剩下0.43%??????????mUSD和99.56%??????????3?Crv。虛擬價格上漲了近1%??????????,至1.019105?,因為大量不平衡的提現為池收取了費用。
受害者使用add_liquidity函數將100?,?000個3?Crv添加到不平衡的池中,且沒有最小流動性提供者數量。如果池是平衡的,受害者得到81978個LP代幣而不是100371個。這意味著受害者得到的LP代幣比他們應該得到的少18?,?393個(?18%??????????)。以美元計算,受害者得到的美元價值減少了18?,?643?(?18%??????????)。
對于第三個也是最后一個交易,攻擊者使用add_liquidity將他們從第一個交易中提取的5?,?973?,?425個mUSD添加回池中,以接收6?,?503?,?610個LP代幣(musd?3?Crv)。比第一次交易多取了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(uint?256?memoryamounts,boolis_deposit)externalviewreturns(uint?256?);
因此問題仍然存在,EIP-4626函數沒有辦法傳遞最小量。打破標準來添加這一點是不可取的,使用預言機也是次優的。我們需要鏈上方法。
mStable的方法
mStable的金庫獲得一個公平的MetapoolLP代幣價格的方法是使用CurveMetapool和Curve3?Pool的虛擬價格。get_virtual_price函數以美元為單位返回池的流動性提供者代幣的價格。它通過計算池的不變式來實現這一點,該不變式是池中代幣的美元價值除以代幣的總供應量。由于池中代幣的余額不影響池的不變值或總美元價值,虛擬價格不會受到三明治攻擊。
functionget_virtual_price()externalviewreturns(uint?256?);
對于存入mStable金庫的存款,我們需要在Curve的3?PoolLP代幣(?3?Crv)中對MetapoolLP代幣進行定價,因為這是我們在金庫中使用的資產。為此,我們得到3?Pool虛擬價格,并將其除以MetapoolLP代幣價格。
fairMetapoolLPtokens=3?Crvassets*
?3?Poolvirtualprice/
Metapoolvirtualprice
一旦我們有了一個合理的價格,我們就可以通過目前配置為1%??????????的滑點系數來降低它。這個調整后的公平價格用于計算在向池中添加3?Crv流動性時可以接收的CurveMetapoolLP代幣(musd?3?Crv)的最小數量。
存款的全部流程如下:
結論
雖然標準在標準化和獲得采用方面起著巨大的作用,但像這樣的問題提醒我們,在DeFi方面沒有輕松的勝利。我們需要認識到現有標準的局限性,并為它們尋找最佳的解決方案。
Tags:CRVMUSDPOOLPOOCRV幣現在入手還可以買嗎MUSD幣jackpool幣什么時候爆發Poochain
2022年卡塔爾世界杯激戰正酣,11月24日,我們迎來了感恩節。它的存在時刻提醒著我們要懷著一顆感恩的心,感謝我們生活中所有的人和事。作為感恩節的重要環節,感恩節大餐一直為人所期待.
1900/1/1 0:00:00ForesightNews消息,零知識研發項目Delendum推出為期兩個月的非營利性計劃ZKFellowship,旨在支持解決區塊鏈和零知識前沿領域的技術問題的研究和開發.
1900/1/1 0:00:00讀寫權限對所有人開放的公鏈相較于私有鏈來說,占據了市場更大的份額的同時,也給予更多開發者進入區塊鏈行業部署和開創項目更低的門檻.
1900/1/1 0:00:00最近的研究表明,參加2022年FIFA世界杯的球迷應該警惕加密貨幣詐騙。gz呺Web3團子研究人員卡巴斯基表示,由于廣泛的興趣和廣泛的參與度,網絡犯罪分子總是被大型全球體育賽事所吸引.
1900/1/1 0:00:00尊敬的CITEX用戶:CITEX即將上線KBN幣種,并開放KBN/USDT交易對充值時間:2022年11月28日08:00:00(UTC)交易時間:2022年11月28日08:00:00(UTC.
1900/1/1 0:00:00萊特幣價格在每日時間框架內顯示出看跌背離,暗示即將到來的拋售。鏈上指標顯示22%的LTC持有者獲利,進一步描繪了看跌前景。跌破55.23美元的水平將創造一個更低的低點,使看漲前景無效.
1900/1/1 0:00:00