去中心化金融(DeFi)是区块链技术的一种创新应用,它可以让用户在不依赖中介机构的情况下,实现各种金融服务,如借贷、交易、支付等。然而,DeFi 也面临着一些安全风险,尤其是智能合约中的漏洞可能被黑客利用,造成巨大的损失。最近,就发生了一起涉及多个 DeFi 项目的大规模攻击事件,导致超过 7000 万美元的资金被盗。这些项目包括 Curve、Alchemix、JPEG'd 等,它们都使用了一种名为 Vyper 的智能合约语言。Vyper 是一种基于 Python 的语言,旨在提供更高的安全性和可读性。然而,Vyper 的开发团队发现,该语言的最新版本存在一个重入攻击(reentrancy attack)的漏洞,这意味着攻击者可以通过反复调用智能合约中的某个函数,欺骗合约计算错误的余额,从而窃取资金。据报道,这些攻击事件发生在 7 月 30 日至 31 日之间,涉及多个流动性池(liquidity pool),即存放通证供用户交易使用的智能合约。攻击者利用 Vyper 漏洞,在不同的流动性池之间进行大量的交易操作,从而抽走了其中的通证。部分被盗资金已经被一些白帽黑客(white hat hacker)和 MEV 机器人(MEV bot)拦截并返还给受害者,但仍有很多资金处于不明状态。这起事件引发了 DeFi 社区的恐慌和质疑,也暴露了智能合约语言和平台的安全缺陷。为了防止类似事件再次发生,我们需要对这次攻击进行分析总结,思考如何提高 DeFi 项目的安全性和可靠性。在本文中,我们将详细介绍这次攻击事件的始末,并探讨去中心化预言机在其中发挥的作用。
为了更详细地了解这一事件始末及其造成的影响,以下是我们对该事件更为详细的梳理。7 月 30 日,Peck Shield 检测到 NFT 借贷协议 JPEG'd 疑似被攻击, pETH-ETH 、msETH-ETH、 alETH-ETH 池子遭受攻击。随后,Vyper 团队在 Twitter 上发布了公共服务公告,称 Vyper 编译器的 0.2.15、0.2.16 和 0.3.0 版本存在漏洞,导致重入锁(reentrancy lock)的失效,并敦促“依赖这些版本的项目立即与我们联系”。多个去中心化金融(DeFi)协议被攻击者利用这个漏洞进行了盗窃,受影响的协议包括:Curve 损失了 6100 万美元,AlchemixFi 损失了约 1300 万美元的资产,而 JPEG'd 则遭受了 1100 万美元的损失,MetronomeDAO 损失 160 万美元,Ellipsis Finance 损失 68,600 美元,Debridge Finance 损失约 24,600 美元。在攻击发生后,一些受害协议和白帽黑客采取了措施来减少损失和恢复资金,一些 MEV 机器人也利用了漏洞从攻击者手中夺回了一些资金,并将其返还给受害协议。据估计,这些努力将总损失从最初的 7000 多万美元降低到了约 5200 万美元。在事件发生后,一些 DeFi 项目决定从 Vyper 迁移到 Solidity,这是另一种用于以太坊智能合约的编程语言。一些项目也决定集成 Chainlink,一个去中心化的预言机网络,可以将区块链与链下数据和计算资源连接起来。受到攻击影响,CRV 在多个 DEX 上的交易价格出现了剧烈波动。根据 CoinGecko 的数据,Curve DAO 的 CRV 通证在事件发生后 15 小时内下跌了 24%,创下了接近 0.60 美元的低点。然而,来自 DexScreener 的数据显示,在这场戏剧性事件中,该通证在去中心化交易所的崩溃幅度高达 86%。在某一时刻,某 DEX 上 CRV /WETH 交易对出现极端价格。这无疑会影响其他与 Curve Finance 相关或依赖的 DeFi 协议,例如 Yearn Finance、Synthetix、Aave 等,这些协议可能会面临资金流出、收益下降、通证贬值等问题。如果采用这一剧烈波动且失衡的价格,将会触发大量用户的清算条件,这样一来,这些用户不仅失去了他们提供给流动池的资金,还失去了他们用作抵押品的资产。且如果被清算,由于 CRV 的链上流动性已然不足,这就可能会给 Aave 和其他借贷协议造成坏账威胁。整个 DeFi 世界面临着一次巨大的考验,DeFi 贷方的应对措施是从 Aave 和其他协议中撤回资金,并在此过程中提高了借贷费用。Aave 的 USDC 池利用率接近 93%,导致贷款利率高达 22.4%;USDT 的利用率也达到 89.5%,借款人支付的利息接近 38%。同时,我们也在这次事件中清晰地认识到 Chainlink 在行业领域的采用幸运地避免了不良态势的蔓延。
Chainlink 是一个将区块链智能合约与链外数据和计算资源连接起来的去中心化预言机网络,其可以通过提供去中心化数据源、可验证的随机源、自动化和跨区块链互操作性,帮助 DeFi 项目增强安全性和可靠性。我们可以想象一下,在这次事件中,如果 Curve 的 CRV/ETH 池被用作整个行业的链上价格预言机,而不是 Chainlink 的价格源(汇总各个中心化和去中心化交易所的定价),情况会有多么糟糕。对此,Chainlink 的社区大使在推特上表示“如果 Aave v2 或其他 DeFi 借贷协议使用(现已耗尽的)CRV/ETH Curve 池作为链上预言机,他们就会完全陷入坏账困境。” “想想都觉得可怕。”那么,Chainlink 的喂价机制到底是怎样的呢?其所代表的去中心化预言机对于 DeFi 来说到底具有怎样的意义呢?Chainlink 的预言机网络由多个独立的节点运营商组成,每个节点运营商都是经过严格筛选和验证的专业团队。这些节点运营商从多个不同的数据源收集并汇总价格数据,然后通过安全的链下通信协议将价格数据传输到链上的参考合约中。参考合约是一种存储最新和历史价格数据的智能合约,DeFi 应用可以根据需要查询这些数据。Chainlink 保证其预言机服务的可靠性和安全性,主要有以下几个方面:- 多重数据源:Chainlink 不依赖于单一的数据源,而是从多个集中式和去中心化的交易所和数据提供商收集并汇总价格数据,从而提供一个更准确和全面的市场价格。这样可以避免单一点故障或操纵,从而保证价格的稳定和真实。
- 多重节点运营商:Chainlink 不依赖于单一的节点运营商,而是由多个独立的节点运营商组成一个去中心化的网络,从而提供一个更分散和弹性的预言机服务。这样可以避免单点故障或攻击,从而保证服务的连续性和安全性。
- 高级加密技术:Chainlink 使用了高级加密技术和安全模块来保护数据的完整性和隐私。例如,Chainlink 使用了零知识证明(ZKP)来验证数据的正确性,而不泄露数据本身。Chainlink 还使用了托管硬件安全模块(HSM)来加密和签名数据,防止数据被篡改或伪造。
- 灵活定制参数:Chainlink 可以支持各种不同类型和精度的价格数据,例如加权平均价、时间加权平均价、波动率等,Chainlink 还可以根据不同的需求和场景定制价格数据的更新频率、延迟、滑点等参数。这样可以让 DeFi 应用选择最适合自己的价格数据,从而优化自己的性能和效率。
这样的喂价机制让 DeFi 避免了更多的损失和波动,因为 Chainlink 提供的价格并没有受到这些攻击和清算的影响,它不仅依赖于 Curve Finance 的流动性池,而且还依赖于其他多个交易所和数据源。
去中心化预言机对于 DeFi 的意义是非常巨大的,因为它们可以为智能合约提供可靠、安全、透明的外部数据和计算服务。把多个数据源合并成一个单一的数值,意味着如果想让聚合后的数值变得不准确,很多数据源都要出现错误才可以,这提高了系统的弹性,这也是 Chainlink Oracle 等产品的价值,尽管 Chainlink 并没有完全意义上做到去中心化,这样说是因为其依赖于一个单一的实体 Chainlink Labs 本身来提供和维护预言机网络和数据汇总逻辑。而在这个赛道里,去中心化链下隐私计算项目 Phala 在其 Phat Bricks 的下一个版本(预计在 8 月份发布)中,将为用户提供低代码可一键部署的预言机服务,它可以聚合多个独立数据源,以实现一个真正去中心化和聚合数据源驱动的预言机。具体来看,Phala 支持任意 API 的接入,而 Chainlink 或 Band Protocol 等预言机项目,通常需要预先定义和集成特定的数据源,或者依赖于第三方数据提供商,相较而言,Phala 可以为智能合约提供更丰富和灵活的数据源选择。同时,利用 TEE 技术的可扩展性和低成本,Phala 提供了更为高效和经济的数据和计算服务,并保证了数据在传输和处理过程中不被泄露或篡改。去中心化预言机对 DeFi 的意义在于它们可以为智能合约提供可信赖、多样化、高效化的外部数据和计算服务,从而推动了 DeFi 领域的创新和发展。Phala 这样更加去中心化的预言机是一个具有领先技术和优势特性的去中心化预言机平台,或许可以为 DeFi 协议和产品提供更好的支持和服务。Phala 对去中心化思想的贯彻,让我们看到 Web3 建设者在推动行业前进与发展做出的不懈努力与创新,我们也期待一个更公平、透明的金融秩序逐渐走上更主流的舞台,而这也是 DeFi 发展的必经之路。
未来哪些 Web3 场景会更多使用 Phat Contract?
Phat Contract:拓展智能合约能力边界
解析 Phat Contract 的最新通证经济学
◎观点聚焦◎
隐私保护技术 TEE 与 ZKP 的区别究竟在哪里?
我们离去中心化 ChatGPT 还有多远?
深度丨一文了解隐私计算的前世今生
◎周报一览◎
Phala 生态月报 VOL.21 丨 4.1-4.30
Phala 生态月报 VOL.22 丨 5.1-5.31
Phala 生态月报 VOL.23 丨 6.1-6.30
