DEF:Chainlink预言机如何保障Curve流动性池安全?

随着DeFi协议的锁仓量不断上升,黑客抓住各种安全漏洞发起恶意攻击的诱惑也越来越大。今年我们在博客上发过一篇名为《DeFi智能合约数据质量的重要性》的文章,文章中提到DeFi目前最大的安全漏洞在于协议接入的价格预言机数据质量不行。这些价格预言机往往是由采用自动做市商模式的去中心化交易所创建的。这些单一数据源的价格预言机往往交易量较低,市场覆盖也不足,因此越来越容易遭到闪电贷攻击。导致接入这些价格预言机的DeFi协议损失巨额用户资金。在采用自动做市商模式的去中心化交易所中,用户可以快速获得流动性,因此这个模式为DeFi带来了巨大价值。然而,这类去中心化交易所本质上绝对不是可靠的预言机,无法保障几百万或甚至几十亿美元的用户资金安全。自动做市商的天然属性导致了资金池里的资产价格可能出现严重偏差,因此最近多次让闪电贷攻击者有机可乘。Curve是一个资金量庞大的去中心化交易所,并且也采用了自动做市商模式,而最近的一次闪电贷攻击再次印证了它不应该作为其他DeFi协议的价格预言机,甚至用其他链上抵押资产为CurveLP通证计价时也不应该作为预言机使用。我们欢迎所有需要用稳定币或加密货币为CurveLP通证计价的DeFi协议都集成Chainlink喂价。Chainlink喂价在设计上可以消除这些攻击向量。许多集成了Chainlink喂价的DeFi应用都在此轮攻击中毫发无损,而这些DeFi应用的锁仓量高达几十亿美元。我们已经在主网上线了USDC/ETH、TUSD/ETH、USDT/ETH和DAI/ETH。这四组喂价可以用于计算CurveLP通证的价值。这些喂价将持续更新,以跟上价格波动,并直接储存在链上,可以通过单次调用轻松获取可靠的CurveLP通证价格。为了解释为何Chanlink喂价是使用CurveLP通证的DeFi协议最理想的方案,我们先简要讨论一下Chainlink喂价拥有哪些的功能可以防止闪电贷攻击,之后我们会教开发者快速将这些去中心化价格预言机集成至应用中。闪电贷攻击的漏洞以及Chainlink如何避免闪电贷攻击

CurveFinance的混合常数函数自动做市场模式采用双边链上流动性池降低稳定币等同类资产的交易滑点。虽然稳定币之间的汇率相对比较稳定,但是一旦Curve上发生比较大笔的交易,资产价格仍有可能暂时偏离市场价格。如果DeFi协议使用CurveLP通证作为抵押,并只通过Curve预言机获取通证价格,那么黑客就可以利用这种“价格扭曲”向DeFi协议发起攻击。由于DeFi协议本质上无须许可,而且闪电贷平台的数量不断增多,因此获得足够资金发起闪电贷攻击的门槛比之前低了很多。随着越来越多的DeFi协议开始使用CurveLP通证,这些项目必须要接入Chainlink这样市场覆盖广的预言机,才能防止闪电贷攻击或Curve协议中大笔交易暂时扭曲价格从而造成用户资金损失。每个Chainlink喂价背后都有去中心化的预言机节点保障安全,这些预言机都具有抗女巫攻击能力,而且都由顶尖的安全和区块链DevOps团队运行。预言机节点从多个链下数据聚合商获取价格数据,这意味着每个价格数据背后都有广泛的市场覆盖,能够全面覆盖所有交易环境。所有节点返回的数据将聚合成单一价格数据,进一步增强数据的可用性,并防止任何一个节点或数据源对结果进行篡改。值得一提的是,Chainlink还建立了强大的经济激励机制,即使在Infura等网络宕机期间也能维持预言机网络正常运作,并且在gas费居高不下时也能更新持续最新价格数据。用户可以通过链上可视化工具和节点分类信息平台对节点进行验证,监控预言机网络和单个节点运营商的实时和历史数据。随着Curve的用户量和稳定币流动性不断增加,我们希望所有DeFi协议都能集成Chainlink喂价预言机为用户的CurveLP通证计价。DeFi可扩展性的一个关键要素是扩展底层安全水平,特别是最终决定智能合约结果的预言机的安全水平。我们将继续致力于开发出市场上最安全可靠的价格预言机,并希望能为DeFi协议稳定传输客观准确的链上价格数据,进一步推动CurveLP通证的应用,并防止数据被篡改。如何开发防闪电贷攻击的LP通证估值机制?

如果你是一名开发者,并希望在DeFi协议中为CurveLP通证计价,请继续往下看。接下来我们将教大家如何集成Chainlink喂价以保障公允的市场价格。1.为你的LP通证找到合适的喂价首先,你需要为每个LP通证找到合适的Chainlink喂价。比如,如果你想要用以太币为3pool计价,则需要针对资金池中每种通证接入相应的喂价。在这里我们需要接入DAI、USDT和USDC的喂价。因此,你需要接入DAI/ETH、USDT/ETH和USDC/ETH喂价。2.在你的合约中输入喂价地址你可以点击此处查看每个喂价及其地址。各位开发者也可以发邮件至support@chain.link与我们的集成团队联系,以深入了解喂价机制以及最佳的集成方式。3.向每个喂价请求最新价格数据,并取最低价格一旦输入了正确的地址,你就可以向每个喂价请求价格数据,详情请查看Chainlink文档的这篇文章。请求价格数据后,取所有价格的最小值,公式是min_value=min(price1,price2…priceN)4.获得LP通证的虚拟价格,并乘以之前获得的最低价格。通过取资金池的常量获得虚拟价格,资金池默认每枚稳定币价格为1美元。你可以调用get_virtual_price函数来获得每个资金池的虚拟价格。获得价格数据后,将它乘以之前获得的min_value。因此,min_lp_price=min_value*virtual_price。现在可以将刚刚计算出的价格作为应用中LP通证的价格下限,这种方法既可靠又能抵御任何形式的闪电贷攻击。如果对于此实现有任何问题,请与我们联系,我们很乐意帮你将这个可靠的价格机制集成至你的应用。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:15ms0-7:253ms