复制成功

分享至

主页 > 数字货币 >

一文读懂ERC-4626:DeFi代币化保险库的新标准

2023.06.14

原文作者:Sina Pilehchiha

原文编译:深潮 TechFlow

TLDR: ERC-4626 是用于代币化保险库 (Vault) 的标准。

在引入 ERC-4626 之前,每个保险库都有其各自的规范和实现细节。这使得集成变得困难、容易出错且浪费资源。

ERC-4626 试图通过标准规范来解决这个问题,以降低集成工作量,并创建更一致和强大的实现模式,就像 ERC-20 一样。

什么是 ERC-4626 ?

ERC-4626 是一种标准,它改进了收益型保险库的技术参数。它为代表单个底层 ERC-20 代币份额的收益保险库提供标准 API。

代币化保险库已经成为 DeFi 中极为常见的模式。收益聚合器、借贷市场、质押衍生品等许多 dApp 都利用和依赖于代币化保险库。代币化保险库的示例包括 Yearn 和 Balancer。作为一个收益聚合器,Yearn 保险库使用户可以存入数字资产并获得收益。Balancer 是一个自动化的组合管理器和流动性提供商,其业务逻辑的核心依赖保险库。这些保险库管理各种池中的代币。同时,它们将代币管理与池子本身的逻辑分离开来。

协议通过代币化其保险库来增强流动性和灵活性。代币化保险库可以轻松进行交易,并在 DeFi 平台上使用资产。此外,它们还能够创建多样化、相互连接的金融产品。该行业一直倡导这种范式,通常称为“货币乐高”。

然而,没有适当的适应性或标准化的可组合性会带来挑战。它不仅使开发人员难以遵守 ERC-20 等行业标准,而且还会使新开发人员感到困惑。如果没有适当的适应性或标准化,就很难审查新的变化并验证集成的实施细节。

于是 ERC-4626 被提出来解决这个问题,并简化集成,同时允许 DeFi 参与者最终采用更安全和强大的统一保险库规范。这反过来也将减少协议可能遭受的攻击面,同时在多个协议之间集成代币。

ERC-4626 可以预防哪些安全问题?

通过提供统一的标准,ERC-4626 加速了跨协议集成的构建速度。熟悉的、统一的标准也更容易让开发人员理解,从而减少编码错误的可能性。这有助于防止可组合性问题。标准化还可以防止工作重复,因为社区只需要设计一次保险库,而不是为每个协议单独设计。由于这种设计工作通常容易出错,它有助于避免重复已经建立但普遍存在的设计缺陷。

我们将在这里介绍两个案例研究,以展示 ERC-4626 可以预防哪些问题。

Rari Capital 事件

Rari Capital 被盗取了价值约 1100 万美元的代币,这相当于 Rari Capital Ethereum 池中所有用户资金的 60 %。

总的来说,Rari Capital 被黑客攻击是由于不安全的跨协议实现。其 Ethereum 池通过将 ETH 存入 Alpha Finance 的 ibETH 代币合约作为产出策略。这种特定策略通过某些合约及公式(具体如 ibETH.totalETH / ibETH.totalSupply 函数)跟踪其 ibETH/ETH 汇率的价值,在此攻击场景中可能会有错误的输出,例如在调用 ibETH.work()函数时,债务价值可能会被人为地膨胀。

攻击者只需重复调用 RariFundManager 合约中的 deposit 和 withdraw 函数,就可以耗尽 Rari Fund Manager。deposit 和 withdraw 函数需要获取池子的余额以计算要发行给调用者的 REPT 代币数量,或要发放给调用者的 ETH 金额,这个操作会分别调用 Alpha 池的 getBalance 函数,调用 ibETH 合约及其 totalETH 函数。Rari 不知道操纵此函数的可能性。

一文读懂ERC-4626:DeFi代币化保险库的新标准

ibETH 合约中还有另一个函数:ibETH.work 。该函数可以调用用户指定的任何合约。这使得 Rari 的 deposit 和 withdraw 函数可以变得可重入并被多次调用。

work 函数是一个可支付的函数,意味着用户可以通过 work 函数控制 ibETH 合约中的 ETH 数量,从而改变 totalETH 函数返回的值。更糟糕的是,work 函数还支持调用任何其他合约,例如 RariFundManager。

通过这个函数,攻击者可以再次发送 ETH 并增加 ibETH 合约中的 totalETH 金额,同时调用 RariFundManager 合约中的 withdraw 来赎回更多资产。

这次事件突显了 DeFi 合约中集成不足和不兼容的设计所带来的重大风险。它强调了像 ERC-4626 这样的标准通过增加关键的安全和可预测性层可以防止这样的攻击,并促进统一行为和相互理解。

Cream Finance 事件

Cream Finance 遭受了一场复杂的攻击,利用了平台中两个基本弱点:可操纵的混合预言机和没有上限的代币供应。攻击的关键部分是对混合预言机的操纵,这影响了 yUSD 代币的感知价值。当攻击者向 yUSD 保险库发送大量 Yearn 4-Curve 代币时,他改变了保险库报告的汇率,因此还影响到了预言机对 yUSD 代币的感知价值。

免责声明:数字资产交易涉及重大风险,本资料不应作为投资决策依据,亦不应被解释为从事投资交易的建议。请确保充分了解所涉及的风险并谨慎投资。OKEx学院仅提供信息参考,不构成任何投资建议,用户一切投资行为与本站无关。

加⼊OKEx全球社群

和全球数字资产投资者交流讨论

扫码加入OKEx社群

相关推荐

industry-frontier