Cardano 自 2017 年上线以来遭遇最严重的技术中断,一笔畸形交易在 11 月 21 日触发长达 14 小时的链分裂,将这条市值 140 亿美元的区块链分裂成两个竞争分叉,并引发激烈争论:这究竟是一次蓄意攻击,还是一次失控的测试失误。
这一事件被开发者称为“Poison Piggy(毒储蓄罐)”,暴露了 Cardano 节点软件中一个存在三年的 Bug,该 Bug 造成了两种彼此不兼容的区块链视图。
虽然创始人 Charles Hoskinson 坚称这次分裂是一次需要 FBI 介入的“有预谋攻击”,但一位自称 “Homer J” 的开发者公开“认领”了此事,称这只是他在尝试复现测试网异常时一次“粗心大意的行为”。
分叉是如何发生的
根据 Intersect 的事故报告,链分裂源于一个序列化 Bug,该 Bug 最早在 11 月 20 日出现在 Cardano 的 preview 测试网。有人提交了一份带有超长哈希值的畸形委托证书——本质上是将委托对象从 “RATS”(Hoskinson 的个人质押池)错误地写成了 “RATSRATS”。
旧版本节点正确地拒绝了这个无效哈希,而运行 2024 年 11 月更新代码的节点则会截断该哈希并将其视为有效。
这种版本偏差导致了两条不兼容的链,正如区块链开发者 Pi Lanningham 在其详细的事后复盘报告中描述的:一条是运行更严格验证代码的“鸡链”(chicken chain),另一条是接受畸形交易的“猪链”(pig chain)。在 11 月 21 日约美国东部时间凌晨 3:02,一笔几乎相同的畸形委托交易被提交到主网,从而导致网络分裂。
延伸阅读: Cardano 的 Hoskinson 称法币体系为“庞氏骗局”,在自 10 月以来市值蒸发 1 万亿美元背景下劝“纸手”坚守
服务降级与影响
Lanningham 的分析显示,损害虽显著但总体可控。在这 14 个小时内,猪链产出 846 个区块,而鸡链大约生成了 13,900 个区块。通过主流基础设施进行的交易打包速度显著放缓,交易确认延迟最高接近 400 秒,最糟糕时区块间隔被拉长到约 16 分钟。
在观测到的 14,383 笔交易中,有 479 笔(约占 3.3%)仅出现在最终被丢弃的猪链上,从未进入最终的规范历史。多数此类交易在重新提交时已因有效期过期或输入冲突而变为无效。区块浏览器在解释这一撕裂的网络时表现吃力,部分出现卡死或展示相互矛盾的数据。
“这对于用户而言构成了严重的服务质量下降,但仍在高可用系统的预期范围内。”Lanningham 写道。他强调,尽管服务质量受损,资金始终是安全的,网络在整个危机期间仍在持续推进。
攻击还是意外?
这起事件在动机上引发激烈争论。Hoskinson 将其描述为一名“心怀不满的质押池运营者”发起的定向攻击,对方花费数月时间寻找伤害网络的方式。“这是一次定点攻击,是有预谋的。光是 figuring out 怎么做就可能花了好几个小时……这是恶意行为。”Hoskinson 表示,并补充已经联系了 FBI。
然而,交易背后的人则在社交媒体上以“Homer J” 的身份给出了不同说法:“抱歉(我知道这句话不足以弥补我的行为带来的影响),Cardano 社区,是我昨晚的粗心行为让网络陷入危险。一开始只是一个‘看看我能不能复现这笔坏交易’的个人挑战,后来我又蠢到把它发到了主网。”
事件的时间点也加深了外界的怀疑——同样的异常在 24 小时前刚刚出现在测试网,表明该行为极可能先在测试网上完成“演练”,再被搬到主网。
网络如何通过共识恢复
尽管事故严重,Cardano 的应对过程展示了其去中心化治理结构的运作方式。由于此前测试网已暴露该问题,修补后的节点版本已经就绪。随后一整夜里,Input Output Global、Cardano 基金会、Emurgo、Intersect、各大交易所和质押池运营者通过紧急电话会议协调,升级到修复版本,并共同追随验证更严格的鸡链。
网络并未进行协议层面的回滚,也没有任何中心化的“重启”。随着质押权逐步迁移到升级节点,猪链的区块产出逐渐放缓,而鸡链则加速前进。一旦健康分叉在长度和密度上超越被污染的分叉,Ouroboros 的概率终局性就会驱使节点自动切换到那条更长、更密的链上。
“这就是 Nakamoto 共识按设计工作、将网络收敛到单一规范历史的具体证据。”Lanningham 认为。Hoskinson 则更进一步,称这起事件“本可以杀死其他公链”,但 Cardano 的设计为协调恢复争取了足够时间。
经验教训与未来加固
Hoskinson 和 Lanningham 都承认,这次事故暴露出严重弱点。“这个 Bug 能够存在本身,就说明我们的测试严谨性不够。”Lanningham 坦言。生态在很大程度上依赖 cardano-db-sync,当该组件在畸形交易上崩溃时,整个生态几乎“失明”。许多质押池运营者在没有独立推演分叉选择的情况下就进行了升级,更多是出于对创始团队建议的信任。
事后改进路线图包括:加强模糊测试和基于规范的测试;丰富节点到客户端的协议,使钱包和交易所能够基于真实共识健康状况实现“熔断”;在监控基础设施上增加多样性;并进一步教育运营者,让他们理解 Ouroboros 在压力情境下的行为模式。
ADA 价格在事故期间下跌约 6%,表现弱于更广泛加密市场的反弹,目前约在 0.41 美元附近交易。相对于事故严重程度,跌幅相对温和,表明市场更将其视作对网络韧性的一次考验,而非根本性失败——Cardano 最终经受住了这次考验,但也清晰地暴露出亟需改进的领域。

