用Curve Finance活动性资金池打造可以或许抵制价值哄骗进攻的DeFi应用
本文的目标是辅佐各个协议安详集成至Curve。Curve自己从来没有受到过进攻,而且不依靠任何预言机。
用Curve Finance活动性资金池打造可以或许抵制价值哄骗进攻的DeFi应用
Curve Finance是回收了先进自动做市商(AMM)模式的去中心化生意业务所,其方针是将不变币的生意业务滑点降至最低。由于不变币资产性质沟通,因此兑换汇率凡是都较量不变。
然而,我们在已往一个月中发明白一个安详裂痕,那就是资金实力雄厚或通过闪电贷得到资金的进攻者可以在Curve上执行大笔生意业务,临时扭曲不变币的价值,使其偏离实际市场价值。然后进攻者就可以操作价值扭曲哄骗利用Curve LP通证作抵押的DeFi协议,协议在执行生意业务时也会将Curve作为价值预言机。办理这一问题最直接的方案就是放弃利用Curve作为价值预言机,而是选择更为靠得住的价值预言机,在活动性资金池中得到精确客观的全球市场价值。
Curve资金池有所谓的虚拟价值,,可以用来安详地为Curve LP通证计价。虚拟价值无法被哄骗,将Curve LP通证代价与美元挂钩。然而,虚拟价值并不能回响任何一种不变币的详细代价,在设计协议时这会成为一个庞大的限制。
为了维持Curve生态的安详,我们想与利用Curve LP的DeFi协议分享一个办理方案。我们推荐利用Curve LP的DeFi协议按以下方法接入Chainlink喂价,以制止遭到闪电贷进攻。DeFi协议接入单个价值数据源所发生的安详隐患正在不绝显现出来,我们强烈发起所有利用Curve LP的DeFi协议都能重视预言机的选择以及闪电贷进攻问题。
1.为你的LP通证找到符合的喂价
首先,你需要为每种LP通证找到符合的Chainlink喂价。好比,假如你想要用以太币为3pool计价,则需要针对资金池中每种通证接入相应的喂价。在这里我们需要的是DAI、USDT和USDC的喂价。因此,你一开始需要接入DAI/ETH、USDT/ETH和USDC/ETH喂价。
2.在你的合约中输入喂价地点
你可以点击此处查察每个喂价及其地点。你还可以发送邮件到 integration@chain.link接洽Chainlink集成团队,深入相识喂价机制和最佳集成方案。
3.向每各喂价请求最新价值数据,并取最低价值
一旦输入了正确的地点,你就可以向每个喂价请求价值数据,详情请查察Chainlink文档的这一篇文章。请求价值数据后,取所有价值的最小值,公式是min_value = min (price1, price2 … priceN)
4.得到LP通证的虚拟价值,并乘以之前得到的最小值
通过取资金池的常量得到虚拟价值,资金池默认每枚不变币价值为1美元。你可以挪用?get_virtual_price?函数来得到每个资金池的虚拟价值。得到价值数据后,将它乘以之前得到的min_value?。因此,min_lp_price = min_value * virtual_price。此刻可以将方才计较出的价值作为应用中LP通证的代价下限,这种要领既靠得住又能抵制任何形式的闪电贷进攻。
假如对付此实现有任何问题,请发送邮件至support@chain.link接洽Chainlink团队,将这个靠得住的价值机制集成至你的应用。别的,假如你的LP通证应用模式比文中描写的越发巨大,而且你不确定这个模式是否安详,请发邮件至info@curve.fi接洽我们。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。