木星链 木星链
Ctrl+D收藏木星链

CRV:DeFi:解决 EIP-4626 中的滑点问题

作者:

时间:1900/1/1 0:00:00

简介

EIP-4626提供了一种将代币投资到投资池(通常称为金库)的标准方法。当我们存入自己的资产(ERC-20 代币)时,我们会收到一个份额代币,代表我们在金库里的资产。金库将把汇集的资产投资到一个或多个基础平台,为持有者产生收益。

EIP-4626标准的一个结果是,存款和铸币函数没有提供指定回报的最小份额或资产金额的方法。这通常用于防止高滑点或三明治攻击。mStable 如何通过其 Meta Vaults 解决这个问题——在保持符合标准的同时减轻高滑点攻击?本文描述了这些挑战,并解释了他们的方法是如何工作的。

EIP-4626和mStable金库存款

mStable EIP-4626的首个金库将投资于基于Curve 3Pool的Convex池。从EIP-4626的角度来看,金库的资产是Curve 3Pool的流动性提供者代币(3Crv)。存款函数是EIP-4626规范的一部分,它指定要存入多少资产以及将接收金库份额的帐户。存款函数返回给接收方会铸造多少金库份额。

欧洲央行行长:加密货币和 DeFi 可能对金融稳定构成“真正风险”:金色财经报道,欧洲中央银行(ECB)行长Christine Lagarde表示,我们相信,在我们着手开展有关加密资产及其带来的风险的工作时,加密资产和DeFi有可能对金融稳定构成真正的风险。如果加密资产市场和服务继续快速增长,并且与传统金融部门和更广泛的经济的相互联系得到加强,情况尤其如此。

然而,她指出:目前,私营部门加密资产与传统金融之间的联系仍然有限。拉加德接着谈到了加密资产市场监管(MiCA)法案。她强调,她担任主席的欧洲系统性风险委员会 (ESRB) 支持快速采用和实施 MiCA 的必要性。(bitcoin.com)[2022/6/25 1:30:07]

例如,存入3Crv Convex mUSD金库将从调用方转移3Crv,并将vcx3CRV-mUSD金库份额转移到接收方。

EIP-4626标准的强大之处在于,在投资池中有一种通用的投资方法,但对资产可以投资到底层平台的内容和时间没有限制。对于mStable的3Crv Convx mUSD 金库来说, 3Crv被添加到Curve mUSD Metapool中,然后产生的流动性提供者代币(musd3Crv)被存入Convex mUSD池中,该池会投资于Curve mUSD gauge并获得更高的回报。

Defina Finance入围币安BSC MVB III计划:据官方消息,10月22日,Defina Finance宣布入围币安智能链BSC最有价值项目计划III期——超越大爆炸。BSC MVB计划旨在推动区块链在专业领域的创新和应用,每一期会根据项目表现、安全性、社区等方面筛选潜力项目,还将竞争产生MVB月度最佳项目。Defina游戏正式版将在11月上线。

Defina Finance是基于区块链NFT技术的卡牌RPG游戏项目,Play To Earn和GameFi策略对战抢矿模式。[2021/10/23 6:08:58]

这个过程中的一个技术挑战是如何防止三明治攻击。

什么是三明治攻击?如何预防它们?

当我们向Curve Metapool(或任何其他池)添加流动性时,我们指定自己想存入的资产数量和流动性提供者(LP)代币的最小数量。对于mUSD Metapool,金额是一个包含两项的数组。第一个是mUSD的量,第二个是3Crv的量。3Crv Convex金库只存3Crv,因此金额数组的第一项将为零。

DeFi生态系统总锁定价值首次突破1000亿美元:根据DeFi生态系统追踪器DeFiLlama,DeFi生态系统的总锁定价值今天首次突破1000亿美元。根据Wikipedia的数据,这意味着DeFi目前相当于美国第40大银行,介于硅谷银行的970亿美元资产和西班牙对外银行(美国)的1030亿美元资产之间。(CoinTelegraph)[2021/4/7 19:52:12]

开发金库时的一个技术挑战是我们如何设置预期流动性提供者代币的最小数量。

仅仅将min_mint_amount设置为零是不够的,因为它会让存款交易受到三明治攻击。但在我们深入了解三明治攻击是如何工作之前,我们需要更多地了解Curve Metapool定价是如何工作的。由于金库只添加两个池代币(mUSD和3Crv)中的一个,因此它接收到的Metapool流动性提供者(LP)代币的数量将取决于Metapool中mUSD和3Crv的余额。池中的 3Crv 越多,当仅将 3Crv 添加到 Metapool 时,返回的 LP 代币就越少。

例如,如果Curve的mUSD Metapool添加了 200 万个 mUSD,600 万个 3Crv 和 100k 个 3Crv,则将收到 100,068 个 LP 代币 (musd3Crv)。如果 Metapool 有 600 万个 mUSD,添加了 200 万个 3Crv 和 100k 个 3Crv,将收到 100,892 个 LP 代币 (musd3Crv)。

当前以太坊上Defi协议总锁仓量约为126.1亿美元:据欧科云链OKLink数据显示,截至今日18时,当前以太坊上Defi协议总锁仓量约合126.1亿美元,环比下降4.39%。其中排名前三的分别是Uniswap V2 29.3亿美元(+0.34%),Maker 19.9亿美元(+1.81%),Curve 14.4亿美元(-1.45%),Aave 11.5亿美元(+9.96%)以及WBTC 11.3亿美元(+3.61%)。[2020/10/13]

那么三明治攻击是如何实现的呢?

攻击者在将交易包含到区块之前,就会监控Mempool中可能被利用的交易。为了利用交易,他们贿赂区块生产者,将他们的交易包含在可利用的交易之前和之后。也就是说,他们将易受攻击的交易与自己的交易夹在一起。如果有一笔交易将 3Crv 添加到最低 LP 金额为零的 mUSD Metapool,则攻击者的第一笔交易将是减少 Metapool 中的 mUSD 数量。这意味着在易受攻击的添加流动性交易中收到的 Metapool LP 代币数量远低于应有的数量。在第三个交易中,攻击者返还在第一个交易中删除的mUSD,并将收益装入囊中。

例子

使用Curve的mUSD Metapool,池中有6,000,000 mUSD和3Crv, 11,917,295个LP代币(musd3Crv)和1.018095美元的虚拟价格。

BiKi推出DeFi网格交易专区:根据官方公告,BiKi推出DeFi网格交易专区,今日新上线DIA、DEXT、BZRX、KNC、MKR、SNX、KAVA、BAL、PLT、FOR、CAP、MCB、YFI、DMG、REN、ORN、MTA、COMP、STONK、ZRX、AUX、SWAP等DeFi项目网格交易,平台已累计上线28+DeFi项目,41个币对的网格交易,详情可登陆APP查看。

网格宝是BiKi推出的自动收益工具,支持主流币与DeFi等热门币种自动套利,收益稳定、无须盯盘、使用简单,可自动生成交易策略帮助用户获得高频交易收益。[2020/8/21]

攻击者通过使用 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,295 LP 代币的价值从 5,515,323 美元增加到 5,520,794 美元。这比池费用的 50% 增加了 5,471 美元。增加的美元价值归于托管 CRV (veCRV) 持有人。

Curve的保护

为了防止三明治攻击,在向Curve Metapool添加流动性时,需要指定一个合理的最小LP代币数量。通常,DeFi 协议会在交易中传入相当数量的金额。Curve池中的add_liquidity函数就是min_mint_amount的一个很好的例子。但是对于标准的EIP-4626存款函数,没有定义参数来指定最小金额,因此我们无法传入相当数量的链下计算的Metapool LP代币。

Curve池有一个calc_token_amount函数,它可以计算池代币存款收到的 LP 代币数量。但这不能用来防止三明治攻击。如果已经运行了一个交易来平衡池,那么calc_token_amount函数将只返回当前不公平的LP代币数量。

因此问题仍然存在,EIP-4626函数没有办法传递最小量。打破标准来添加这一点是不可取的,使用预言机也是次优的。我们需要链上方法。

mStable的方法

mStable的金库获得一个公平的Metapool LP代币价格的方法是使用Curve Metapool和Curve 3Pool的虚拟价格。get_virtual_price函数以美元为单位返回池的流动性提供者代币的价格。它通过计算池的不变式来实现这一点,该不变式是池中代币的美元价值除以代币的总供应量。由于池中代币的余额不影响池的不变值或总美元价值,虚拟价格不会受到三明治攻击。

对于存入mStable金库的存款,我们需要在Curve的3Pool LP代币(3Crv)中对Metapool LP代币进行定价,因为这是我们在金库中使用的资产。为此,我们得到3Pool虚拟价格,并将其除以Metapool LP代币价格。

一旦我们有了一个合理的价格,我们就可以通过目前配置为 1% 的滑点系数来降低它。这个调整后的公平价格用于计算在向池中添加3Crv流动性时可以接收的Curve Metapool LP代币(musd3Crv)的最小数量。

存款的全部流程如下:

结论

虽然标准在标准化和获得采用方面起着巨大的作用,但像这样的问题提醒我们,在DeFi方面没有轻松的胜利。我们需要认识到现有标准的局限性,并为它们寻找最佳的解决方案。

Source:https://medium.com/mstable/solving-the-issue-with-slippage-in-eip-4626-3af9a5d8e597

去中心化金融社区

个人专栏

阅读更多

金色早8点

比推 Bitpush News

Foresight News

PANews

Delphi Digital

区块链骑士

深潮TechFlow

链捕手

区块律动BlockBeats

比推BitpushNews

DeFi之道

标签:CRV3CRVUSDMUSD3crv币怎么卖3crv币怎么卖usdt币交易怎么玩MUSD价格

狗狗币最新价格热门资讯
虚拟资产:年终盘点 | 全球加密监管

本文为金色财经&OKX原创年度盘点文章,转载请注明出处。一 全球加密监管的总体情况2022年以来,除外全球有超42个主权国家和地区对于加密行业采取了105项监管措施和指导.

1900/1/1 0:00:00
区块链:金色早报 | 2022年加密市值前十:MATIC新晋上榜

▌ Arcane Research:2022年比特币收盘下跌65%,仅次于2018年73%的跌幅12月31日消息,加密分析公司Arcane Research发布《2022年终报告》显示.

1900/1/1 0:00:00
NBS:V神:探讨打造安全中心化交易平台方法

原文标题:《Vitalik:打造安全的中心化交易所 —— 可偿付证明及更多》原文作者:Vitalik Buterin 原文编译:双花 (/img/2023.

1900/1/1 0:00:00
元宇宙:2022 元宇宙十大商业魔咒

不知不觉中,2022 年已接近尾声,告别了世界杯,又沉浸在布洛芬的怀抱里。疫情与现实交织的又一年,各行各业都遭受到了不同程度的打击.

1900/1/1 0:00:00
加密货币:盘点2022年加密行业发生的历史性事件

2022年对于加密币行业来说是最艰难的一年,也是历史上最糟糕的熊市,在这充满戏剧性的一年内,加密行业从年初近3万亿市值顶峰一路断崖下行,截止目前已经跌到0.86万亿,下跌了71.3%.

1900/1/1 0:00:00
SBF:2.5亿创“最贵保释金” FTX又起波澜?

破产大戏、金融欺诈、操弄、2.5亿保释金......近期,FTX前实控人几乎以一己之力贡献了加密资产圈最引人注目的一系列年末大戏,随着其被巴哈马政府正式引渡到美国受审.

1900/1/1 0:00:00