2026 年 4 月 18 日凌晨,KelpDAO 攻击事件发生几个小时后,Solidity 开发者 0xQuit 在 X 上发了一条帖子。
「希望我能带来更好的消息,但 Aave 上的 WETH 似乎完蛋了。如果可以的话就撤回,但可能已经太晚了。在 Umbrella 结算后,正常存款应该可以部分提取。这对 DeFi 愿景是一个巨大的打击。」

这条帖子发出的时候,Aave 的创始人 Stani Kulechov 刚刚在同一平台发出了另一条声明:rsETH 已被冻结,Aave 的智能合约「未受损」,问题出在 Kelp DAO 那边。两条帖子在同一个时间线上并排滚动。

两条帖子说的都是事实。但它们在回答不同的问题。Stani 回答的是谁动了代码,0xQuit 回答的是谁要承担后果。
答案是:什么代码都没有被动。而后果,落在了每一个在 Aave 存入 WETH、以为自己只是在赚一点利率的人身上。
攻击发生之前的六个月里,Aave 的治理系统批准了每一个让这件事成为可能的决定。没有人破解了什么代码。有人用了一套被批准的规则,让协议按照设计好的方式崩塌。这件事值得从头说清楚。
十二天
4 月 6 日,Chaos Labs 创始人 Omer Goldberg 在 X 上发帖宣布,Chaos Labs 与 Aave DAO 的合作将正式结束。
过去三年,Chaos Labs 主导了 Aave 的风险参数管理。这期间,Aave 的 TVL 从 52 亿美元增长到超过 260 亿美元。每一亿美元的增长背后,都有 Chaos Labs 的模型在测算边界:哪个参数能推,哪个不能动。
Goldberg 给出了三个离职理由。一是风险策略上的「根本性分歧」,尤其是 Aave V4 引入新架构后。二是 V4 带来的运营复杂度显著增加,但资源补偿没有跟上。三是即使在 500 万美元的预算方案下,Chaos Labs 仍然处于亏损状态,经济上不可持续。
「这种合作关系不再反映我们认为风险应该如何管理的方式,」他写道。
Aave 那边的回应来得很快。Stani Kulechov 表示协议不会中断运营,风险管理机构 LlamaRisk 将承接全部职责,「两层风险管理体系继续维持」。LlamaRisk 随即发声明,承诺「全面运营连续性」,并在一周内向 Aave DAO 提交了正式续约提案。从外部看,这是一次有序的交接。
三天后,4 月 9 日,LlamaRisk 作为新任风险管理人提交了首批常规调整:将 rsETH 在 Aave V3 主网的供应上限从 48 万枚提高到 53 万枚。依据是链上数据,利用率健康,流动性充足,仓位集中度在阈值以内。没有任何异常标注。
九天后,4 月 18 日 17:35 UTC,攻击者在以太坊主网调用了 LayerZero 的 EndpointV2 合约,向 Kelp DAO 的 rsETH 桥接合约传入了一个伪造的跨链数据包。桥接合约没有识别出这条消息是假的。116,500 枚 rsETH 流向了攻击者控制的地址。

四十六分钟后,Kelp DAO 的紧急暂停机制启动,阻止了攻击者后续两次额外的盗取尝试,那两次加在一起大约还有 1 亿美元。但最初的那批已经无法追回。攻击者的目标约为 3.9 亿美元,他们得到了其中的四分之三。
在暂停机制启动之前,攻击者已经把盗来的 rsETH 存入了 Aave V3 作为抵押品,借出了大量 WETH 和 ETH。rsETH 的市场价格在攻击消息扩散后开始崩跌,抵押品价值随之蒸发。原本还在技术上有效的仓位,变得无法清算。坏账由此形成。
那份从未写出来的文件
2026 年 1 月 19 日,Aave 社区通过了治理提案 434。提案的核心是将 WETH 加入 rsETH 的 LST E-Mode,同时把 rsETH 在这个模式下的最高贷款价值比从 92.5% 提升至 93%。数字变动不大,但含义很清晰,用户可以用 100 美元的 rsETH,在 Aave 上借出价值 93 美元的 WETH。
推动这项提案的是 ACI(Aave Chan Initiative,Aave 的核心治理服务机构)。提案文本里写明了预期:通过引入 rsETH/WETH 循环策略,吸收协议里闲置的 ETH 流动性,预计将带来「高达 10 亿美元的 rsETH 流入」,同时让 WETH 池的利用率回到最优区间。
提案还有另一个理由,表述更加直接,是为了和 ezETH、weETH「保持水平竞争」。既然竞争对手的 LRT 资产在 Aave 上已经拿到了类似参数,rsETH 也应该对齐。
这是 DeFi 里一种很常见的决策逻辑,叫做竞争性对标。你的对手拿到了什么,你就应该有什么,否则流动性会流走。在追求资本效率的语境里,这个逻辑几乎无懈可击。它也有一个内在的单向压力,参数只能往高拉,不能往低推。任何想收紧参数的提案,都会被冠上「削弱竞争力」的帽子。结果是整个行业在往同一个方向漂移,而没有人在问漂移到哪里去。
翻开提案 434 的治理文件,有一件事找不到:一份专门针对「rsETH 的 LTV 可以提高到 93% 吗」这个问题写就的风险评估报告。LlamaRisk 在 2024 年 11 月 rsETH 首次上市时,曾提交过一份完整的抵押品风险评估,分析了 rsETH 的收益累积机制、智能合约结构和流动性特征。但那份报告回答的是「rsETH 能不能上 Aave」。提案 434 把 LTV 推上 93% 时,治理文件里的依据是横向对标和协议收入预期。

另外两家接受了 rsETH 的 DeFi 协议给出了不同的答案,SparkLend 对 rsETH 设定的 LTV 是 72%,Fluid 协议采用的固定最低抵押率相当于约 75% 的 LTV。这两家在攻击发生后,都在数小时内完成了 rsETH 市场的冻结。Aave 的数字是 93%。差出来的那 21 个百分点,换来的是竞争优势。
4 月 6 日,Chaos Labs 宣布退出 Aave 风险管理。4 月 9 日,新接手的 LlamaRisk 提交了一份常规 Risk Stewards 调整建议,将 rsETH 的供应上限从 48 万枚提高到 53 万枚。理由是链上数据健康,利用率正常,流动性充足,仓位集中度在可接受范围内。所有指标都来自链上。
那些链上指标记录的是 rsETH 在 Aave 内部的流转状况,有多少人在用,风险是否分散,流动性是否充裕。它们覆盖不到的是:rsETH 到达 Aave 之前,穿越了一道什么样的桥。
一次没有被读懂的警报
今年 3 月 10 日凌晨,以太坊链上开始出现一批不寻常的清算交易。34 个使用 wstETH 作为抵押品的高杠杆仓位,没有任何预警,相继触发了清算线。用户还来不及反应,清算机器人已经完成了操作。
触发原因是 Aave 的 CAPO 预言机系统出现了一个配置错误,快照比率与快照时间戳之间产生了不一致,导致 wstETH 的上报价格约为 1.1939,而实际市场汇率约为 1.228。偏差是 2.85%,在普通情况下几乎可以忽略。
但在 E-Mode 环境下,2.85% 的价格低估足以把 34 个高杠杆仓位推过清算线,产生约 2700 万美元的错误清算损失。从 Chaos Labs 的 Edge Risk 系统发出建议,到 BGD 的 AgentHub 在下一个区块执行,再到清算机器人完成操作,整个链条在几分钟内走完。没有留给人类介入的窗口。
事后,Chaos Labs 发布了分析报告。结论是:「该事件并不反映底层 CAPO 或链下风险预言机设计的缺陷,而是链上配置在不同更新约束下导致快照比率和时间戳产生了不一致。」
配置问题,不是设计问题。意外,不是预警。
Aave 通过治理提案,从回收资金和 DAO 国库中对受影响用户进行了全额赔偿。事情以这种方式画上了句号。后来的一份行业报告写道,「尽管发生此事件,Aave 的整体存款和借款在 2026 年初保持稳定,对协议核心设计的信心没有实质性削弱。」
六周后,「核心设计」这个说法将接受另一次考验,规模换了一个量级。
账单寄到了
攻击发生大约一小时后,Stani Kulechov 在 X 上强调,Aave 的智能合约本身「未受损」。这在技术层面没有任何问题,没有代码被破解,没有私钥被盗,合约按照它被设置的方式精确地运行了。
问题正是在这里。当 rsETH 因攻击脱锚、价值骤降时,E-Mode 的「高度相关」设计反向发挥了作用:系统继续把已经大幅贬值的 rsETH 视为有效抵押品,贷出去的 WETH 和 ETH 无法被正常清算。设计用来提高资本效率的机制,在极端情况下变成了锁住坏账的锁。

坏账的估计规模在 1.77 亿到 2 亿美元之间(据 Phemex、Yahoo Finance 等多方来源),攻击者开立的借贷仓位总额超过 2.36 亿美元(据 CryptoBriefing)。以 116,500 枚 rsETH 为抵押品,93% E-Mode LTV 下最多可借约 2.72 亿美元 WETH,比标准 72% LTV 的上限多出约 6200 万美元,E-Mode 将安全缓冲从 28% 压缩到了 7%,任何轻微的价格波动都足以使仓位失控。
Aave 有一套为这种情况专门设计的安全机制,叫做 Umbrella。用户可以将 aWETH 质押进 Umbrella 的安全库换取额外收益,当协议出现坏账赤字时,这部分资产会被自动销毁来覆盖损失,全程无需治理投票介入。主动选择质押的用户,大多是了解了机制设计、愿意用本金换取更高收益率、同时承担协议兜底职能的人,是协议的主动支持者。Umbrella 在 2025 年底上线,取代了旧版 Safety Module,此次是它正式面对的第一场真实考验。

Umbrella 里大约有 5000 万美元的 WETH 可以用来吸收损失(据 Forbes)。坏账的规模是 1.77 亿到 2 亿美元。两个数字之间的缺口,约在 1.27 亿到 1.5 亿美元。
这部分由非质押的普通 WETH 存款人承担。Aave 官方文件对 Umbrella 机制的描述是:质押资产被销毁之后,「剩余 WETH 供应者应该可以部分提取,但不保证完全恢复,存款人可能面临 haircut」。「Haircut」的意思是损失一部分本金。
攻击当晚,Marc Zeller 站出来发声。他是 ACI 的创始人,也是提案 205 和 434 的主要推动者,将于今年 7 月离开 Aave。他驳斥了外界对坏账规模的「极端估计」,称实际数字「远低于那个数字」,并敦促用户从 Aave V3 提取 WETH 以降低风险。他还补充道,「此次事件将有效测试 Umbrella」,好像这是一次压力测试,而不是用户真实的本金损失。
当天,AAVE 代币下跌 10.27%,收于 105.73 美元。这发生在坏账规模尚未确定、大批 WETH 存款人等待 Umbrella 结算时间节点的时候。
尾声
0xQuit 那条帖子在攻击当晚被广泛转发。发它的人里,很多是 Aave 的 WETH 存款人。他们在转发之前,把那几行字反复读了好几遍。「在 Umbrella 结算后,正常存款应该可以部分提取。」「部分」是多少?「正常」是什么意思?「应该」这个词,又意味着什么?
0xQuit 最后那句话,是「这对 DeFi 愿景是一个巨大的打击。」DeFi 的愿景里有一条:你的资产,你的规则,没有人可以在背后替你做你不知道的决定。
那些决定,是在过去六个月里、在治理论坛的提案文本里做下来的。没有黑客蛮力破门而入,没有任何一个代码漏洞在最初就注定了这个结局。是一次次对「效率」的追求,一次次对「信号」的忽视,以及一段关键的空窗期,共同送出了这张账单。治理的代价,最终由那些既没有参与治理、也不知道治理曾经发生过的人来支付。
代码是按照被批准的方式运行的。账单寄到了没有参与那些批准的人手上。
