返回快讯

隐私公链Iron Fish将终止网络剩余支持,确认2019年Merkle树通胀漏洞

隐私公链Iron Fish于2026年10月30日在X平台发文表示,将在当天晚些时候终止对Iron Fish网络的所有剩余支持。团队表示,近日发现wIRON与ChainPort跨链桥出现异常活动。经与ChainPort协作排查并审查日志后确认,根因是Iron Fish区块链自身的通胀漏洞,而非跨链桥。

该漏洞可追溯至2019年初Merkle树实现中的一次提交。当时的开发者实现了一个标准的Merkle树,但由于票据nullifier(允许用户使用其资金的机制)在计算方式上的细微差异,攻击者得以多次使用同一笔票据。随后,攻击者利用这一漏洞将多笔票据进行汇总,并通过ChainPort跨链桥完成了资金转移。团队指出,该代码路径虽在内外部审计范围内,但漏洞未被发现。Iron Fish已提交修复补丁并附详细事后分析报告(相关PR中包含postmortem),随后将关闭并归档Iron Fish代码库。

Iron Fish在声明中指出,无法即时升级的软件(加密领域多数项目均属此类)处于极度脆弱地位;发现与利用复杂代码漏洞的能力正日益“商品化”。团队对社区表示感谢,并祝愿加密行业找到出路。GitHub上的事后分析进一步说明,旧实现中空右分支通过复制左分支填充,导致同一票据可在不同位置产生有效证明与不同nullifier,从而绕过重复花费检查;修复仅适用于从新创世块启动的新链,与现有主网历史不兼容。

原始来源:

  1. 标题:Iron Fish官方X平台公告
    发布者:Iron Fish (@ironfishcrypto)
    发布日期:2026-10-30
    URL:https://x.com/ironfishcrypto/status/2116278010802586090
    来源性质:当事人原帖
    核验情况:本次读取原帖全文,核验日期2026-10-31
    支持内容:终止剩余支持、异常活动发现、与ChainPort协作确认通胀漏洞、追溯至2019年Merkle树提交、nullifier计算差异导致重复花费、通过桥转移、审计未发现、提交补丁与postmortem后归档、对不可即时升级软件与漏洞发现商品化的表态。

  2. 标题:Merkle note position alias postmortem
    发布者:Iron Fish(GitHub仓库)
    发布日期:2026-10-30(相关提交)
    URL:https://github.com/iron-fish/ironfish/blob/master/docs/merkle-note-position-alias-postmortem.md
    来源性质:官方文件
    核验情况:本次读取全文,核验日期2026-10-31
    支持内容:漏洞机制(空右分支复制导致位置别名与不同nullifier)、修复仅适用于新链、与Zcash相关设计对比等技术细节。

ABAB AI 解读

Iron Fish是一条以隐私交易为核心的Layer-1网络,采用与Zcash Sapling类似的note commitment与nullifier机制来隐藏金额与交易方。其Merkle树用于证明note存在于承诺树中,而nullifier则作为公开标识防止同一note被重复花费。2019年初的Merkle树实现选择了“空右分支复制左分支”的填充方式,这一规则在后续生产代码中沿用。由于nullifier计算依赖note在树中的私有位置,攻击者控制自身note的花费权限后,可构造不同路径产生相同根但不同nullifier的证明,从而多次花费同一note并形成超额输出。

ChainPort作为wIRON的跨链出口,成为攻击者将利用结果转移出原生链的通道。团队在发现Base上wIRON异常发行后与桥方协作,最终将根因定位回原生链而非桥本身。GitHub事后分析明确指出,修复改变了共识根计算规则,因此仅适用于从新创世块启动的新链,现有主网与测试网历史无法通过简单升级兼容。这与多数早期隐私或自定义共识链面临的升级约束一致:状态一旦按旧规则积累,规则变更即构成硬分叉且难以向后兼容。

与Zcash在Orchard等池中曾披露的相关电路问题相比,Iron Fish此次属于树填充规则与nullifier位置绑定之间的交互缺陷,而非直接允许花费他人note。审计覆盖了该代码路径但未捕获该别名情况,反映出隐私证明系统中“跨组件不变式”(根绑定、位置唯一性、nullifier唯一性)的验证难度。Iron Fish选择终止支持并归档仓库,而非尝试强制升级现有链,意味着持有原生IRON或通过桥持有wIRON的用户需自行处理剩余资产与桥头寸,且无团队后续维护路径。

对隐私公链而言,此类事件凸显了长期运行的复杂密码学实现在不可即时升级环境下的风险。漏洞发现能力的提升(包括模型辅助)使历史代码中的细微差异更易被利用,而桥接则放大了原生链通胀向其他链的传导。观察指标之一是相关桥与包装资产的实际赎回与供应调整情况,以及类似非升级型隐私或自定义树实现的项目是否开展针对性审查。

ABAB News · 认知定律

  1. 审计覆盖代码路径,不等于捕获跨组件的位置别名不变式。

  2. 不可即时升级的共识规则一旦积累历史,修复即与旧链不兼容。

  3. 桥接出口将原生链通胀转化为跨链可转移的供应失衡。