在协议继续运行很长一段时间后,旧的智能合约可能仍然很危险。最近 SlowMist 对 Aztec Connect 219 万美元失窃案的分析让人们重新关注去中心化金融 (DeFi) 中的这一关键问题。
被利用的合约是已弃用的遗留系统的一部分,而不是活跃的 Aztec 网络,并且初步分析并未表明当前 Aztec 基础设施受到任何损害。尽管如此,这一事件还是一个鲜明的提醒:弃用并不意味着无害。
在传统软件中,停产的产品通常可以被修补、关闭或完全从用户访问权限中删除。链上系统的运作方式不同。如果智能合约是不可变的并且继续持有资产或权限,那么它仍然是一个实时攻击面——即使在项目团队正式废弃该产品之后也是如此。
这正是 Aztec Connect 漏洞利用中发生的情况。尽管已被弃用,遗留合约仍然可以访问和利用。虽然一些报告对其他遗留合同提出了更广泛的担忧,但最明确的证据表明 219 万美元的损失与 Aztec Connect 过时的基础设施有关。
重要的是,这并不是一个关于当前 Aztec 网络遭到破坏的故事。相反,它说明了区块链系统固有的“长尾”风险:用户可能会错误地认为,一旦产品不再推广或维护,其风险就会消失。事实上,不可变的代码会无限期地保留在链上。
加密货币对不变性的接受通常被视为核心功能——防止中心化运营商任意更改规则。然而,同样的特征也带来了重大的运营挑战。当有缺陷或暴露的合约无法暂停或升级时,开发人员就失去了有效应对新出现威胁的能力。
阿兹特克人的情况就体现了这种权衡。即使团队迁移到新的系统,旧的基础设施仍然在链上。留下资金或继续与已弃用的接口进行交互的用户将不受该协议当前开发工作的保护。
对于日常用户来说,教训很明确:谨慎对待旧合同。熟悉的协议名称并不能保证安全。在使用任何旧版接口或桥接器之前,用户应验证协议是否仍然支持它、资金是否受到主动监控以及是否存在官方迁移路径。
对于开发人员来说,要点同样重要:弃用计划必须集成到初始协议设计中。仅仅宣布产品生命周期结束是不够的。有效的日落需要明确的警告、提款窗口、持续监控以及(如果可能)紧急干预机制,即使在有意限制管理控制的系统中也是如此。
核心见解并不是不可变代码本质上是不好的。相反,不变性需要更严格的操作纪律。一旦部署,不可更改的合约可能会在协议的安全边界中保留多年——在其预期用途结束很久之后仍会带来风险。
本文由 News Desk 撰写,Samuel Rae 编辑。它基于慢雾提供的信息。
