火星链 火星链
Ctrl+D收藏火星链
首页 > ADA > 正文

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

作者:

时间: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)externalreturns(uint256shares);例如,存入3CrvConvexmUSD金库将从调用方转移3Crv,并将vcx3CRV-mUSD金库份额转移到接收方。

Sweat授权社区决定如何处理自年初以来积累的1亿枚SWEAT代币:4月18日消息,Move-to-Earn 项目 Sweat 授权社区决定如何处理自今年年初以来积累的 1 亿枚 SWEAT 代币,投票选项包括 0% 分发和 100% 销毁,25% 分发和 75% 销毁,50% 分发和 50% 销毁,75% 分发和 25% 销毁,100% 分发和 0% 销毁。[2023/4/18 14:11:30]

EIP-4626标准的强大之处在于,在投资池中有一种通用的投资方法,但对资产可以投资到底层平台的内容和时间没有限制。对于mStable的3CrvConvxmUSD金库来说,3Crv被添加到CurvemUSDMetapool中,然后产生的流动性提供者代币(musd3Crv)被存入ConvexmUSD池中,该池会投资于CurvemUSDgauge并获得更高的回报。这个过程中的一个技术挑战是如何防止三明治攻击。

Stargate DAO成员在社区会议上讨论如何处理即将收到的160万枚ARB:3月30日消息,Stargate DAO成员在周三社区电话会议上讨论如何处理160万枚Arbitrum(ARB)代币的预期分配,这些代币价值不到200万美元。LayerZero Labs的员工MaxPower表示,这些代币尚未收到,但当收到时将必须决定是否持有、出售、部署或委托这些代币。

一些与会者建议,DAO应该将ARB代币分发给用户,或将其部署为流动性激励。与此同时,其他治理代币持有者建议委托ARB代币,以便Stargate DAO可以参与Arbitrum治理。

据DeFiLlama的数据,Stargate的总锁定价值(TVL)为3.64亿美元,其中近22%来自Arbitrum平台。(CoinDesk)[2023/3/30 13:34:35]

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

当我们向CurveMetapool(或任何其他池)添加流动性时,我们指定自己想存入的资产数量和流动性提供者(LP)代币的最小数量。对于mUSDMetapool,金额是一个包含两项的数组。第一个是mUSD的量,第二个是3Crv的量。3CrvConvex金库只存3Crv,因此金额数组的第一项将为零。functionadd_liquidity(uint256memoryamounts,uint256min_mint_amount)externalreturns(uint256);开发金库时的一个技术挑战是我们如何设置预期流动性提供者代币的最小数量。仅仅将min_mint_amount设置为零是不够的,因为它会让存款交易受到三明治攻击。但在我们深入了解三明治攻击是如何工作之前,我们需要更多地了解CurveMetapool定价是如何工作的。由于金库只添加两个池代币(mUSD和3Crv)中的一个,因此它接收到的Metapool流动性提供者(LP)代币的数量将取决于Metapool中mUSD和3Crv的余额。池中的3Crv越多,当仅将3Crv添加到Metapool时,返回的LP代币就越少。例如,如果Curve的mUSDMetapool添加了200万个mUSD,600万个3Crv和100k个3Crv,则将收到100,068个LP代币(musd3Crv)。如果Metapool有600万个mUSD,添加了200万个3Crv和100k个3Crv,将收到100,892个LP代币(musd3Crv)。那么三明治攻击是如何实现的呢?

Terra 2.0 社区已启动就有关如何分配 0.5% 应急资金提案的投票:6月9日消息,Terra 2.0 社区已启动就有关如何分配 0.5% 应急资金提案的投票,该提案建议将这部分资金分配给在 Terra Classic 上推出过符合市场需求的产品,包括产生了一定量的 TVL 和没有产生 TVL 的项目以及尚未推出过符合市场需求产品的项目,并提议向以上三类项目分别分配 250 万枚 LUNA、100 万枚 LUNA 和 150 万枚 LUNA。此外,该提案建议组件一个由部分 Terra 社区的长期成员组成的理事会监督分配工作。[2022/6/9 4:13:09]

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

李礼辉:如何进行必要的数字金融制度建设等问题值得关注:12月31日,由清华大学经济管理学院数字金融资产研究中心主办的“数字金融:创新、发展与监管”高端研讨会中,中国银行原行长李礼辉表示,如何能满足适用于我国规模化可靠应用的需求、如何进行必要的数字金融制度的建设、负责数字人民币技术架构的研发、维护、运行等方面工作的机构体制如何设立及如何探索我国主导的全球化数字货币的可行路径是值得关注的重要问题。[2021/1/4 16:22:26]

为了防止三明治攻击,在向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的方法

声音 | FBG资本的Nathan Li:加密行业中的人应该接受更多关于如何区分的教育:在今日共识大会新加坡站,FBG资本的Nathan Li谈到项目时表示,在加密行业中,人们应该接受更多关于如何区分的教育。投机是好事,每个人都想在这个领域赚钱。但我们应该意识到现实是什么。[2018/9/20]

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

标签:CRV3CRVPOOPOOLcrv币价格今日行情3crv币怎么卖Poo FinancePool Party

ADA热门资讯
CRY:资产披露存猫腻,Crypto.com会不会是下一个暴雷的平台?

FTX宣布破产的那天,不少人意识到,FTX的暴雷,或许揭开了加密机构们的最后一块遮羞布。这几天,受暴雷事件影响,各大交易平台火急火燎,纷纷进行用户准备金公开披露,以「自证清白」.

1900/1/1 0:00:00
PNL:NFT的洗盘交易,真的赚钱吗?

Nov.17,HansonDataSource:FootprintAnalyticsWashTradeAnalysis洗盘交易造成的虚假交易是准确评估NFT项目、交易所和整个行业的最大障碍之一.

1900/1/1 0:00:00
OOT:5分钟快速对比头部链上数据分析工具

加密货币分析平台使人们能够除了跟踪代币和NFT价格,可以更深入地了解链、协议和项目的情况。然而,并非所有平台和工具都是类似的。在广度和可使用性、系统性能和灵活性、价格和功能等之间总是有一个权衡.

1900/1/1 0:00:00
AME:浅谈App Store的NFT新规:一场Web3新秀们与Web2巨头之间的较量

NFT销售收30%苹果税,“图圈”与苹果的双向救赎?\"width=\"800\"height=\"453\"data-img-size-val=\"661.

1900/1/1 0:00:00
ODA:明星项目周报 | zkSync 2.0主网第一阶段上线;NEAR基金会建议关闭稳定币USN(10.24-10.30)

10月24日-10月30日一周时间内,明星项目进展中值得关注的事件有:MatterLabs发布zkSync2.0主网第一阶段BabyAlpha;NEAR基金会建议关闭稳定币USN;Sui主网预计.

1900/1/1 0:00:00
VEX:Outlier Ventures:详谈ve代币模型的优缺点及改进思路

什么是投票托管?投票托管是由CurveFinance提出,代币持有者将其治理代币锁定一段预定的时间,并获得投票托管代币作为回报的一种协议.

1900/1/1 0:00:00