链资讯 链资讯
Ctrl+D收藏链资讯
首页 > USDT > 正文

MUSD:如何解决EIP-4626中的高滑点问题?_APO

作者:

时间:

原文标题:《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并获得更高的回报。

Coinbase在ETH质押中的份额降至9.7%:金色财经报道,据21Shares的Dune数据显示,由于美国监管机构对其质押服务施加的压力越来越大,Coinbase在以太坊质押业务中中的份额下滑至9.7%,为2021年5月以来的最低水平。这与4月12日以太坊上海升级首次允许提款时记录的13.6%相比大幅下降。Coinbase同期净流出5.17亿美元(272,315 ETH),仅次于竞争对手加密货币交易所Kraken。

自诉讼以来,Coinbase已从以太坊的权益证明网络中提取了约149,300枚ETH,而仅存入了52,992枚ETH,1.83亿美元的净流出表明用户正在取消质押代币并逃离交易所。[2023/6/24 21:57:19]

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

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

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

Coinbase:将放慢招聘速度,并根据最优先的业务目标重新评估员工人数需求:5月17日消息,Coinbase 发布更新招聘计划的公开信,称今年年初计划将公司规模扩大两倍,但鉴于当前的市场状况,认为谨慎的做法是放慢招聘速度,并根据最优先的业务目标重新评估员工人数需求。此前报道,2 月份 Coinbase 表示计划今年在产品、工程、设计部门扩招多达 2000 名新员工。[2022/5/17 3:21:35]

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代币就越少。

CoinBene满币已于今日15时上线LINK/USDT交易对:据CoinBene满币官方公告,北京时间7月16日15:00 (GMT+8) ,CoinBene满币已上线了LINK/USDT交易对。

Link币是运行于ChainLink系统的原生代币,ChainLink是区块链中间件,它允许智能合同访问关键的离线资源,Chainlink通过云端读取数据,解决数据的隐私等相关问题。

CoinBene满币是全球最具信赖的数字资产交易平台,在全球180多个国家和地区拥有500多万用户,日活跃用户数超10万,日均交易额30亿美元。2019年初,平台战略布局合约衍生品市场,主要为投资者提供以BTC、USDT进行结算且安全、稳定的永续合约服务。[2020/7/16]

例如,如果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)。

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

大咖零距离 | 如何通过消息面获取市场暴利:2月19日16:00,金色盘面邀请数字货币正规军TLAB Terry做客金色财经《大咖零距离》直播间,将分享《如何通过消息面获取市场暴利》,敬请关注,欲进群观看直播扫描海报二维码报名即可![2020/2/19]

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

例子

使用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?,因为大量不平衡的提现为池收取了费用。

现场 | 火币集团COO朱嘉伟:区块链是解决三个和尚如何打水的问题:金色财经现场报道,百度智能云Techday11月21日在北京举行。火币集团COO朱嘉伟在会上表示,区块链技术和其他多数技术很不一样,多数技术是解决一个和尚如何打水的问题区块链是解决三个和尚如何打水的问题,因此区块链适用于多方协同的场景,可以促进数据共享、优化业务流程、降低运营成本、提升协同效率以及建设可信体系。[2019/11/21]

受害者使用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方面没有轻松的胜利。我们需要认识到现有标准的局限性,并为它们寻找最佳的解决方案。

标签:MUSDPOOLETAAPOmusd币是什么时候发行的LPOOL币metamask官网CAPO币首发价

USDT热门资讯
LIC:【公告】Klickl五周年活动_SDT

14年前,中本聪用代码敲开了加密世界的大门,由此催生出无数的财富故事。这里,我们可以看到资本的狂热;我们也见证了无数夸张的造富运动。交易所作为加密生态系统的重要一环,更是这场狂热中的直接参与者.

ICK:2022 年排名前 6 的赚取 NFT 游戏_USDT

?在NFT的影响下,游戏行业正在蓬勃发展。BestPlayToEarnNFT游戏列于此处帮助NFT取得今天成就的激励因素在其托管的游戏部门中为他们提供了良好的服务.

CoinW将于11/26 15:00在ETF专区上线REN ETF产品

亲爱的CoinW用户: CoinW将于2022/11/2615:00(UTC8)在ETF专区上线REN4L/USDT、REN4S/USDT?ETF产品.

AVE:Aave市场结构在过去几天转为看涨_比特币

Aave提供了短期看涨的可能性,但在反弹时可能会遭到拒绝即便如此,这可能为交易者提供在未来几周内交易该资产多头和空头头寸的机会Aave在价格图表上处于一个有趣的位置.

CAL:专访Acala联合创始人:回应平台恢复情况和未来计划_Defilancer token

自?8月14日的aUSD错误铸造事件已经过去了三个多月,前不久,Acala在社区直播中阐述了该事件的经过和原因。在这段时间里,Acala团队采取了各项平台恢复措施.

ALA:星球日报 | Binance US将涉足美国政坛;Zhu Su将成立新投资公司(11月24日)_USD

BinanceUS已成立行动委员会涉足美国政坛Odaily星球日报讯由于美国中期选举的大额捐助者SBF及其FTX同僚倒台,其竞争对手BinanceUS选择在这个时刻成立自己的行动委员会.