DeFi 协议的安全不仅依赖技术审计,经济审计能评估市场波动、治理漏洞和流动性等风险,提供更全面的保护。
撰文:Chainrisk
编译:Sissi@TEDAO
DeFi 协议的漏洞不仅来源于代码缺陷或攻击,还包括市场波动、治理操纵和流动性危机等经济因素。传统的技术(代码)审计主要关注代码是否按预期运行,但通常无法考虑市场压力或操纵等经济条件对协议稳定性的影响。
技术(代码)审计旨在确保代码按预期运行,并且不存在可被利用的漏洞或缺陷。然而,技术审计的范围通常局限于对协议本身的独立审查,而未能考虑更广泛的经济环境或协议之间的相互依赖性。
虽然两种审计都至关重要,但它们的侧重点不同,彼此无法相互替代。
技术审计无法解决因外部经济因素、依赖关系以及与其他协议的交互而产生的一些漏洞,这些问题需要通过经济审计来识别和缓解。
代币关联性是 DeFi 中一个重要的风险来源,不同协议的代币可能彼此依赖。例如,当某一协议的代币价格暴跌时,可能会引发多个平台的连锁反应。
技术审计通常不会评估当协议中的代币受到外部经济条件(如市场低迷或其他协议遭受攻击)影响时,可能引发的连锁效应。
相比之下,经济审计通过模拟这些场景来分析协议在此类事件中的反应。例如,Terra Luna 的崩溃事件中,其稳定币脱锚引发了整个 DeFi 生态系统的广泛破坏。
许多 DeFi 协议依赖预言机获取外部数据,例如代币价格或利率。然而,这种依赖带来了一种常见的漏洞:如果预言机被攻破,或者其提供的数据不准确或被操纵,协议可能面临巨大风险。
价格操纵攻击是一种典型的经济攻击形式,攻击者通过操纵预言机提供的代币价格来获利,例如利用套利机会或强制清算。
技术审计通常只确保代码能够正确地与预言机交互,但不会评估预言机层面的价格操纵风险,而这种风险可能对协议产生毁灭性的影响。
治理攻击
治理漏洞是 DeFi 协议中的另一个主要风险,尤其是在那些投票权与代币持有量挂钩的系统中。攻击者可以利用治理机制接管协议,提出恶意提案或窃取资金,正如 Beanstalk 漏洞事件所示。在这个事件中,攻击者通过闪电贷暂时借入大量代币,控制了 79% 的投票权,进而推动了恶意提案并窃取了 1.81 亿美元。
技术审计通常忽略治理结构,重点检查智能合约代码。然而,经济审计则会分析治理系统的潜在漏洞,特别是通过闪电贷等手段临时增加投票权的方式,这种风险通常是技术审计难以发现的。
流动性危机是 DeFi 协议中的一个重大隐患。当协议的流动性突然下降时,可能会引发价格滑点、强制清算或抵押品短缺,从而导致系统的恶性循环,给整个协议带来压力。流动性危机可能由多种因素引发,例如市场下跌、代币波动性增加或大额提现等。
技术审计确保智能合约在正常条件下正确运行,但它们并不会模拟流动性低的压力场景,这种场景下协议可能会变得容易受到攻击或发生意外行为。相对而言,经济审计会模拟这些压力条件,评估协议如何应对流动性紧张的情况,并检验协议是否具备应对或恢复这种危机的机制。
典型的经济攻击案例
这些案例详细展示了攻击者是如何利用 DeFi 协议设计和结构中的经济性弱点,而非代码漏洞,进行攻击的。
在此漏洞中,攻击者通过操控 Mango 代币($MNGO)的价格,导致多个交易所的价格差异,从而触发大规模的强平,最终耗尽了协议的资金。攻击过程如下:
结果:这次成功的治理攻击导致了 BEAN 代币脱锚,其价格损失了 75%,严重影响了协议的稳定性。此次攻击造成的总损失达 1.81 亿美元。如果进行过经济审计,模拟治理相关的风险,这种情况是可以在一定程度上缓解的。经济审计能够识别治理操控的风险,特别是通过闪电贷暂时获得投票控制的可能性,这是传统技术审计常常忽视的场景。
这两个案例突出了经济审计对技术审计的必要补充作用,确保协议能够抵御价格操控和治理漏洞的攻击,这两个领域在传统安全评估中常常未能得到充分检查。
Terra Luna 生态系统的崩溃是经济因素而非技术漏洞导致协议失败的一个显著案例。这一事件通常被视为经济管理失误的典型教材,展示了某一方面的失控如何引发整个 DeFi 生态的连锁崩溃。
Terra 的稳定币 UST 通过算法与美元挂钩,依赖其与 Luna 代币的关系来维持价格稳定。其设计理念是 UST 可以始终按一定比例兑换 Luna,从而保持价格的稳定。然而,这一系统高度依赖市场信心和流动性,随着外部经济压力的加剧,这这两者开始崩溃。
2022 年 5 月,一次重大的市场事件导致 UST 脱锚 ,价格跌破了 1 美元。这触发了「死亡螺旋」效应,UST 的持有者急于将其代币兑换成 Luna,这迅速稀释了 Luna 的供应量,并导致其价格暴跌。随着 UST 的脱锚继续恶化,形成了一个反馈循环,导致 UST 和 Luna 的价格双双崩溃,最终使得协议无法恢复。
Terra Luna 的崩溃对 DeFi 生态系统造成了广泛的影响。由于许多协议通过流动性池、借贷平台和质押服务与 Terra 高度互联,这一事件引发了一场流动性危机,导致其它协议因间接暴露于 Terra 而发生大量清算和资金损失。
此次崩溃并非源于任何特定的代码漏洞或技术缺陷,而是由于经济管理失误所致——即依赖没有足够储备或保护机制来应对市场波动的算法稳定币。技术审计无法发现这一漏洞,因为问题根源在于协议的经济模型,这也突显了经济审计的必要性,经济审计可以模拟脱锚情境和流动性危机,进而识别此类风险。
Terra Luna 的崩溃展示了一个协议的失败如何引发整个 DeFi 生态系统的连锁反应,强调了在审计过程中评估协议间依赖关系的重要性。这场崩溃源于一个不可持续的经济模型(算法稳定币),该模型没有准备好应对极端市场条件。经济审计可以通过模拟这些极端情况,揭示协议的脆弱性。
缺乏足够储备和未能考虑极端市场波动,是 Terra Luna 崩溃的关键原因,这也凸显了在经济审计中对这类风险进行测试的重要性。
这一案例强调了无论一个协议的代码多么技术上完善,如果没有充分进行经济模型的压力测试和市场环境的考量,它仍然容易遭遇经济崩溃。
DeFi 协议通常由多个层次构成,每一层都在协议的整体功能中扮演着特定角色。这些层次通常包括:
1. 核心协议层: 这是协议的基础,包含定义协议操作的智能合约,例如借贷、质押或交易等。技术审计通常专注于这一层,确保智能合约按照预期执行,且没有漏洞或编程错误。
2. 预言机层: DeFi 协议通常依赖预言机来从外部源(如价格数据、利率等)获取实时数据。该层对于协议的正常运作至关重要,因为错误的数据可能导致价格错误、抵押品不足或其他风险。经济审计会检查协议对预言机的依赖以及可能存在的预言机操控风险,而这一点技术审计通常无法完全涵盖。
3. 治理层: 许多 DeFi 协议采用去中心化治理结构,决定协议的关键变动。治理层涉及投票、基于代币的决策以及协议变更等方面。经济审计会分析治理结构中的漏洞,如投票权操控或闪电贷攻击,攻击者通过临时获得大量投票权来影响协议决策
4. 流动性层: 流动性层确保协议具有足够的流动性,保证协议的正常运作。在借贷或交易协议中,流动性层决定用户能否访问资金或执行交易。经济审计会模拟流动性压力场景,测试协议在流动性不足的情况下的表现,比如大规模提现或市场突然下跌等情况。
在 DeFi 协议的分层架构中,层与层之间的相互作用可能会带来一些经济风险,这些风险通常不会被传统的技术审计所涵盖。
DeFi 协议的互连接性意味着风险往往会在多个层级之间传播。某一层的漏洞(如预言机或治理层)可能引发连锁反应,导致其他层(如流动性层或核心操作层)的失败。技术审计主要聚焦于核心协议,确保智能合约按预期执行,但它们无法模拟这些层级之间相互作用所带来的系统性风险。
DeFi 协议的分层架构引入了复杂的经济风险,而仅凭技术审计无法全面捕捉到这些风险。经济审计则提供了对不同层级之间相互作用的关键评估,分析它们如何在现实世界的条件下被利用或面临压力,从而帮助识别潜在的风险点。
仅依靠技术审计不足以保护 DeFi 协议免受更广泛的经济风险。经济审计通过模拟现实市场条件,进行压力测试,评估协议在价格操控、流动性危机和治理漏洞等情况下的韧性。DeFi 行业必须重视经济风险管理,以保障协议免受系统性威胁。目前,经济审计市场尚未得到充分发展,这为专注于这一领域的公司提供了巨大的机会。未来的 DeFi 安全将需要技术审计和经济审计相结合,以确保协议能抵御更广泛的漏洞风险。
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。