区块重组:一笔已确认的交易,什么时候才算真的定了?

钱包显示「1 个确认」,说的是一件真事,也是一件不完整的事。有用的问题不是「会不会发生重组」,而是「要多深的重组才能推翻这一笔」——以及那个深度,会让出钱的人付出多少。

发布2026-08-23
最近复核2026-08-23
阅读时长34 分钟
署名共识解读台
一次区块重组替换掉钱包此前显示为已确认的最后四个区块的示意图
Meansline 编辑部制图 · 重组不会抹掉你的交易。它改变的是:网络认哪一条区块链。

关于一笔区块链交易,有两件事都是真的,而大多数解释只是碰巧才没把它们搅在一起。第一,一旦交易被打包进区块,网络就有了一份关于它的共同记录。第二,网络对于「哪一条区块链才是真的那条」的共识,是可以改变的;而它一旦改变,某些原本属于这份记录的区块,就不再属于它了。第二件事,就叫区块重组,通常简称重组。

这个词听起来很灾难,实际上通常很平淡。在工作量证明网络上,两个几乎同时被挖出的有效区块之间短暂竞争,是物理规律的正常结果:区块在一个全球网络里传播不是瞬时的,所以两个矿工完全可能在听说对方之前,各自在同一个父区块上延伸。其中一个区块进入被接受的链,另一个成为陈腐区块。任何只存在于陈腐区块里的交易,会回到待处理交易池,通常几分钟内就会被重新打包。

破坏性的版本,是同一个机制被刻意操作、而且深得多。2020 年 8 月,以太坊经典网络在一次事件中被重组了 3,594 个区块,四天后又被重组了 4,446 个区块;这两次攻击合起来,与两家交易所约 890 万美元的双花价值相关联。从无害的那种到这一种,机制本身什么都没变。变的只有深度——而这份指南接下来讲的,就是深度。

不要问「这条链会不会被重组?」要问:「要多深的重组,才能推翻我这一笔交易?那个深度要花多少钱?」

决定一则公告含义的那些术语

确认

确认是一个计数,不是一张证书。当你的交易被打包进区块,它就有了 1 个确认。之后每在那个区块上垒一个区块,就多 1 个。这个数字是一个代理指标,代表现在有多少工作量或权益压在你这笔交易后面——因此也代表:对手要花多少钱,才能造出一条不包含它的竞争链。

这就是为什么不同资产、不同平台之间,确认数差得离谱。比特币上的 6 个确认,代表着行业里最大的工作量预算跑了大约一小时。而一个小型工作量证明币上的 6 个确认,代表的算力可能几百美元就租得到。脱离了它所指的那条网络,这个数字本身毫无意义。

陈腐区块与孤块

陈腐区块,是一个构造有效、但最终没进入被接受那条链的区块。日常用语里它常被叫作孤块,尽管严格来说,孤块指的是节点还没见过其父区块的那种块。这个区别主要在读节点日志和浏览器页面时才要紧——它们用这两个词的精确度不一样。

陈腐区块不是攻击的证据。出块快的网络会产生更多陈腐区块,因为「两个出块者撞车」的那个窗口,占出块间隔的比例更大。一个快链的区块浏览器上出现陈腐区块,展示的是正常运行。

重组与重组深度

当一个节点得知有一条它认为比手上更好的链时,它会做一件事:回滚那些与新链不共享的区块,然后应用新链的区块。这就是重组。深度,就是被回滚掉的区块数。深度为 1 的重组丢掉一个区块。深度 3,594 的重组,丢掉半天的历史。

深度是任何一份严肃记录都该带上的数字。「X 网络发生了一次重组」几乎什么都没说。「X 网络发生了一次 15 个区块的重组,移除 15 个、新增 16 个」——这是一个可以拿去和确认数策略、和平台敞口相互对照的事实。

分叉

「分叉」至少被用来指三件不同的事,而这份歧义的代价由读者承担。临时分叉,是重组解决它之前那个短暂的双链状态。共识分叉或链分裂,是节点执行不同规则所导致的持续性分歧。协议分叉——硬分叉或软分叉——则是对这些规则的计划内升级,属于排期和软件问题,不是意外。我们的 网络升级指南 讲的是计划内的那一种。

意外也能产生持续性的那种。2013 年 3 月,运行 0.8.0 版本的比特币节点接受了一个旧版本会拒绝的区块,于是网络一度跑着两条链——它们分歧的不是排序,而是有效性。这是一次以分叉形式表现出来的软件兼容性故障,它的修复方式,和一次挖矿攻击完全不同。

双花

双花,是攻击者用一次深度重组通常想买到的那个结果,而不是重组本身。套路是:把币转给一个平台,等平台为这笔充值入账、并允许提现或换出,然后发布一条更长的竞争链——在那条链里,最初那笔充值交易从来没发生过。攻击者既留住了币,也留住了提走的东西。

注意这需要什么。攻击者需要一个「照着确认数办事」的对手方,而且重组必须比那个对手方的门槛更深。这就是为什么标准靶子是交易所,而不是普通钱包用户;也是为什么有据可查的攻击里,重组深度往往刚好卡在某个平台公布的确认数要求之上一点点。

多数算力攻击

通常被叫作 51% 攻击,指的是掌握了足够的出块能力,可以稳定地造出比诚实网络更快的竞争链。在工作量证明里,这意味着算力;门槛并不是一个神奇的 51%,而是一个随份额增长的概率优势。对读者来说,真正相关的问题是:所需的算力是不是便宜就能租到——而对较小的网络来说,答案经常是「是」。

最终性

最终性,指的是一个区块除非经由一个被明确定义、且代价极其高昂的事件,否则无法被回滚。工作量证明的链不提供最终性;它们提供的是随深度增强、但永远不会正式抵达的概率性结算。而以太坊这样的权益证明设计,确实提供最终性,并且代价是被写明的——这就把问题的形状整个改变了。

阅读规则

确认数回答的是「推翻它要花多少钱?」最终性回答的是「要推翻它,必须先毁掉什么?」这不是同一种主张;一则把它们混着说的公告,是不清楚的。

为什么浅层重组是常态,而不是警报

想想两个竞争区块要同时存在,得发生什么。一个矿工或验证者挖出、或被指派了一个区块,并广播出去。这个区块要通过普通互联网基础设施在节点之间传播,这需要可测量的时间。如果第二个出块者在这段传播窗口之内,也在同一个父区块上完成了一个区块,那么两个区块都有效、都被广播,于是网络的不同部分暂时持有不同的链顶。

只要有一边先被延伸,局面就会解决。此前持有失败分支的节点会重组到胜出的那条上,失败的区块变成陈腐区块,只存在于它里面的交易回到待处理池。而对任何一个没在盯节点日志的人来说,什么都没发生。

这件事的频率,取决于出块间隔相对传播时间的比例。一条十分钟出一个块的链,很少见到;一条两秒出一个块的链,则会不断见到——因为相对于全球传播可能耗费的时间,两秒这个窗口太短了。两种情况都不是缺陷;它们只是同一个取舍上的不同位置:延迟,与「一个确认代表多少结算量」之间的取舍。

这也是为什么一条快链,不会自动就是一个结算更快的平台。如果一条网络每 0.75 秒出一个块、而某平台要求 15 个确认才入账,那么区块时间上的等待大约是 11 秒——但这个平台可能同时还在等它自己的批处理、风控核查和对账,而那些是策略上的延迟,不是网络上的延迟。快出块缩短的只是等待中的一个组成部分,不是全部。

对读者的实际结论是:在浏览器、节点日志或监控面板上看到「重组」,本身不是新闻。让它成为新闻的,是超出该链常规范围的深度,或者一次恰好伴随着某平台暂停充值的重组。

深度就是全部

把这套算术直白讲一遍是值得的,因为它正是确认数存在的理由。要推翻一笔有 n 个确认的交易,对手必须造出一条从至少 n 个区块之前算起、能压过诚实链的链。而在他们干这件事的同时,诚实网络还在继续延伸自己的链。随着 n 增大,对手追上的概率急剧下降——除非对手控制了非常大份额的出块能力;那种情况下,追上最终几乎是必然的,剩下的只是需要多久。

最后这半句,就是一条小链的全部安全模型;而有据可查的记录,展示了它在现实中意味着什么。2020 年 1 月针对 Bitcoin Gold 的攻击,产生了 14 个和 15 个区块的重组。相关技术报告估算,每次重组的成本约为 0.2 枚 BTC——按当时价格约 1,700 美元——而对应的双花金额约为 1.9 万和 5.3 万美元。这次攻击一点都不高深。它只是租来算力之上的一道算术题。

2019 年 12 月 1 日的 Vertcoin 攻击,是「深度是一个瞄准决策」最干净的例证。它移除了 603 个区块,替换成 553 个攻击者区块。被双花的价值约为 125 枚 VTC——大约 29 美元。为了 29 美元,为什么要挖到 603 个区块那么深?因为某家主要交易所对 Vertcoin 充值要求约 600 个确认。这个深度不是按收益挑的,而是为了跨过一个特定门槛;而按已公布的数字,这次尝试并不划算。

深度还告诉你,你面对的是哪一类事件。一条健康的大链上出现个位数深度,那是传播造成的自然产物。一条小型工作量证明链上出现几十个区块、且刚好越过某个公布的确认数要求,那几乎一定是一次蓄意的双花尝试。而以千计的深度,意味着攻击者持有多数出块能力长达许多小时——2020 年 8 月 29 日那次以太坊经典事件,持续了 26 小时 20 分钟,重组了 7,278 个区块。

1–2 个区块

几乎任何链上都会有的普通传播竞争。它本身不构成新闻。

3–10 个区块

在大链上不寻常。先去查软件版本割裂、客户端缺陷或异常延迟,再考虑攻击。

10–100 个区块

在小型工作量证明链上,通常是一次按某平台确认数策略量身定做的双花尝试。

100 个以上

持续的多数算力控制、灾难性客户端故障,或一次刻意回滚。在平台另行说明之前,把该链上所有已入账的充值都当成存疑。

一套确认数策略,到底给你买到了什么

每一个为链上充值入账的平台,都得挑一个数字。这个数字是一项风险决策,一边定价的是用户的耐心,另一边是潜在损失。比如 Kraken 就按资产分别公布充值确认数要求,而不是给一个全局数字——因为适合某条网络的数字,放到另一条上就是错的。

这套策略不是对网络作出的承诺。它是关于平台自身敞口的一份声明。当一个平台在 6 个确认后为你的充值入账,它是判断:那条链上发生 6 个区块重组的概率,乘以它通常入账的充值规模,是一个可以接受的经营成本。这个决定里,没有任何东西保护你不受更深的重组影响;它保护的是平台的资产负债表,而且是靠「大多数时候大致是对的」来做到的。

为什么攻击之后这个数字会往上调

一条链被成功攻击,最可靠的信号,往往不是这条链自己发的公告,而是交易所悄悄提高确认数要求。2020 年 1 月 Bitcoin Gold 攻击之后,币安把 BTG 提现要求提高到 20 个确认——而此前它对充值用 6 个确认、对提现用 12 个,这两个数字都被那 14、15 个区块的重组轻松跨过了。

当你看到某个平台宣布某个资产的充值现在需要多得多的确认数时,请把它当成一则安全通告来读——哪怕它的措辞看上去只是一次例行运营更新。这个平台重新算过了它在那条链上的敞口。而这次重算,本身就是关于那条链的信息。

为什么有时候这个数字会被整个取消

在一次正在进行的攻击中,「正确的确认数」可能根本不存在。如果对手正在制造长达数小时的重组,那就没有哪个门槛能既保护平台、又让用户正常交易。平台的选项只有两个:暂停该资产的充提,或者承受损失——大多数选择暂停。所以,重组事件期间的一次充值暂停,是平台在正确行事,而不是平台出问题的证据。

这和我们 暂停提现 那篇指南里的阅读方法是重叠的。关键区别在于:由链级攻击引发的暂停,只影响一个资产或一条网络,并且会援引网络状况来说明;而由平台自身问题引发的暂停,影响的是平台系统,援引的是维护、升级或调查。别把两者读串。

为什么你钱包里的确认数不是一套策略

钱包把确认数当成一项观察结果展示给你。它不知道今天那条链上多深的重组是有可能的,也不知道你打算拿这笔交易去干什么。同样是 3 个确认:在一条大链上,从一个已知对手方收一笔小额付款,它完全够用;在一条小链上,用于一次不可逆的链下结算,它完全不够。

如果你是一笔大额转账的收款方,而你和发送方之间没有任何平台,那么设定确认数策略的人就是你。请有意识地设:考虑这条链的总出块能力、这份能力是不是租得到、涉及的金额,以及对手方是否已知。对那些有多数算力攻击历史的资产,诚实的答案往往是:没有哪个确认数能让这笔转账变得让人踏实。

权益证明改变的是问题,不是词汇

在以太坊的权益证明共识里,区块经过的是几个界定好的状态,而不是累积一个无上限的确认数。一个被提议的区块,在短期内可以像工作量证明区块一样被重组。但验证者同时会对检查点投票;一旦连续两个检查点获得质押 ETH 的绝对多数投票,靠前的那个就被最终确定了。正常情况下,这需要两个 epoch,大约 12.8 分钟。

「最终确定」这个词在这里有一个精确的后果。回滚一个已最终确定的区块,不只是「不太可能」;它要求攻击者接受至少三分之一的全部质押 ETH 被销毁——因为要投出的那些冲突票,是会被罚没的行为。以太坊自己的文档把它称为经济最终性:代价是事先定义好的,而且极其巨大。

这确实是一种与「工作量证明链上的 6 个确认」不同的主张。工作量证明的主张是:攻击成功的概率会越来越低。权益证明的主张是:一次成功的攻击,对攻击者有一个已知的、灾难性的价格。两者都不是「不可能」的保证;所以与其宣布哪一个绝对更优,不如把话说精确。

在最终确定之前,普通重组照样会发生

最终性之前那个窗口,正是权益证明重组存在的地方;而它们的行为,和工作量证明那边的同类很像:通常只有一个区块深,成因是时序。2022 年 5 月 25 日,以太坊信标链在约七十秒内经历了一次七区块重组,影响区块 3,887,075 至 3,887,081。成因不是攻击。实现了一项名为 proposer boost 的分叉选择变更的客户端软件,只铺开到了网络的一部分,于是运行不同版本的验证者,对一个迟到的区块作出了不同判断,视角短暂分裂。

那次事件在两个方向上都是有用的纠偏。它说明「权益证明」不等于「最终性之前不会有重组」;它也说明,一条主流链上出现多区块重组,远比「攻击」更可能是一次版本铺开的问题。参与其中的开发者把它描述为多个因素不巧凑在一起,而不是分叉选择规则本身的根本缺陷。

这对权益证明链上的平台策略意味着什么

一个在以太坊上为充值入账的平台,原则上可以等最终确定,而不是等一个区块数——有些平台就是这么做的。等最终性,是比任何确认数都更强的保证,代价是大约一刻钟。而一个只等几个区块就入账的平台,选的是速度,它暴露的正是上面说的那个「最终性之前」的重组窗口。

当你读一条权益证明网络上的充值入账政策时,看清楚它是用哪一种表述的。「充值在 64 个确认后入账」和「充值在最终确定后入账」,在耗时上很接近,在承诺上完全不同。

当链不是被重组,而是不再达成一致

还有第二种故障模式,常被归进同一类标题里,需要单独拎出来:链继续出块,但不再敲定它们;或者干脆不再出块了。没有任何历史被改写。问题在于,没有任何新的历史被结算下来。

以太坊在 2023 年 5 月 11 日和 12 日经历了这件事。信标链两次未能达到最终性——第一次约 25 分钟,第二次超过一小时。验证者参与率在第一次事件中跌至 40.9%,第二次跌至 30.7%。相关客户端团队发布的事后报告,把原因追溯到大量为旧信标区块投票的证明——当某些共识客户端的执行层客户端无响应时,这本身是标准行为。校验这些证明需要重建旧的信标状态,而一个本来用于防止重复重建的缓存被撑满了,于是同样昂贵的工作被一遍遍重做。Teku 与 Prysm 发布了修复。

注意什么发生了、什么没发生。区块仍在产出。交易仍被打包。中断的,是「近期区块不可逆」这个保证——而这恰恰是一个等待最终性的平台所依赖的东西。一个盯着区块浏览器的用户,会看到这条链在正常工作;而一个等待最终确定的平台,会看到自己的入账流水线停了。

Solana 在 2024 年 2 月 6 日的停摆,是更极端的版本。区块最终化于 UTC 时间 09:53 停止,共识于 14:55 恢复推进,事件持续约五小时,靠一次协同的集群重启和一个修复版本解决。同样:没有改写已结算的历史——但那五个小时里,也没有任何新东西被结算,而依赖那条链的每一条充提通道都是不通的。

对读者来说,这个区别是操作性的。重组意味着「你以为发生了的事,也许没发生」。停摆意味着「没有新的事情在发生」。前者要求你去重新核验过去的交易。后者要求你等着,并且不要惊慌地重发交易——因为在停摆期间重发,常常会在链恢复之后产生重复。

两种不同的公告

「我们正在调查一次区块重组」意味着过去的入账正在被复核。「网络已停止」或「链没有在最终确定」意味着新活动停了。只有前一种,会让你已经完成的交易变得存疑。

14 起有据可查的事件,各自说明了什么

以下事件取自一手警报、客户端团队事后报告、协议规范和技术攻击报告。选取它们是为了覆盖不同的成因,而不是为了构成一部完整历史;配套的追踪工具用同样的记录,提供按成因、网络和深度区间的筛选。

比特币,2010 年 8 月 15 日 —— 一次客户端故障,由 53 个区块的重组修复

一笔利用整数溢出的交易,造出了远超任何合法供应量的输出,并被打包进区块 74638。修补版客户端在数小时内发布,修正后的链在大约 53 个区块之后超过了有缺陷的那条。这是主流网络上最早有充分记录的深度重组,而它的成因是一个校验漏洞,不是攻击。修复用的,是攻击者会用的同一个机制。

比特币,2013 年 3 月 11 至 12 日 —— 一次版本边界劈开了网络

一个运行 0.8.0 版本的矿工产出了区块 225,430,而 0.8 之前的节点由于 Berkeley DB 锁配置不足而无法处理它。网络一度跑着两条对有效性存在分歧的链。运行 0.8.0 的大型矿池被要求退回 0.7,以恢复一条对所有软件都兼容的单一链;随后发布了 0.8.1。官方警报告诉用户,他们的软件会自动切换到正确的链。BIP 50 里的事后报告记录了分裂期间至少一次大额双花——由某个想验证这件事能否做成的人执行——并指出主要交易所的充值和通过 BitPay 的支付一度暂停,之后很快恢复。

比特币,2015 年 7 月 4 日 —— SPV 挖矿垒在了一个无效区块上

当 BIP66 的执行门槛达成——最近 1,000 个区块中有 950 个信号为版本 3——一个未升级的矿工产出了一个无效区块,而约一半的全网算力(挖矿时并未做完整校验)在它上面继续垒。第一次分叉跑出六个无效区块;7 月 5 日的第二次又跑出三个。警报建议使用轻钱包、Bitcoin Core 0.9.4 或更早版本以及网页钱包的用户,额外多等 30 个确认,并告诉矿池运营者切换到一个会正确校验的矿池。大矿工损失了五万多美元收入。第一次事件中没有被确认的双花。

Vertcoin,2019 年 12 月 1 日 —— 为跨过某个平台门槛而选的深度

GMT 时间 15:19:47,603 个区块被移除,替换为 553 个攻击者区块。约 125 枚 VTC 通过五个输出被双花,价值约 29 美元,同时攻击者拿走了 13,825 枚 VTC 的区块奖励。这个重组深度,对应的正是某家主要交易所对该资产的确认数要求——这是目前最清楚的证据,说明重组深度是一个瞄准参数,而不是严重程度的度量。

Bitcoin Gold,2020 年 1 月 23 日 —— 14 个区块,约 1.9 万美元

GMT 时间 18:01:32,一次重组移除 14 个区块、新增 13 个,双花约 1,900 枚 BTG。制造这次重组的成本估计约为 0.2 枚 BTC。

Bitcoin Gold,2020 年 1 月 24 日 —— 15 个区块,约 5.3 万美元

GMT 时间 00:24:08,同一个攻击者地址制造了第二次重组,移除 15 个区块、新增 16 个,双花约 5,267 枚 BTG。两次的深度都超过了某家主要平台当时采用的「充值 6 个确认、提现 12 个确认」的托管期;该平台随后把 BTG 的提现要求提高到 20 个确认。

以太坊经典,2020 年 8 月 1 日 —— 12 小时内 3,594 个区块

自区块 10,904,146 起,一次 3,594 个区块深的重组持续了 12 小时 12 分钟,与针对 OKX 约 560 万美元——超过 807,000 枚 ETC——的双花相关联。到了这个深度,「确认数策略」这个概念就不再有用了;面对以千计的重组,没有哪个现实的门槛能活下来。

以太坊经典,2020 年 8 月 5 日 —— 15 小时内 4,446 个区块

四天之后,自区块 10,935,622 起,一次 4,446 个区块的重组持续了 15 小时 37 分钟,与针对 Bitfinex 约 330 万美元——465,444 枚 ETC——的双花相关联。一周之内针对不同平台两次得手,这是一条「出块能力可以在公开市场上廉价买到」的链的典型特征。

以太坊经典,2020 年 8 月 29 日 —— 26 小时内 7,278 个区块

当月第三次攻击自区块 11,090,590 开始,重组了 7,278 个区块,持续 26 小时 20 分钟。这次事件没有留下有据可查的双花金额——这一点本身就值得注意:到这个时候,多数平台已经暂停或严格限制了该资产;而一个找不到入账对手方的攻击者,是收不到钱的。

以太坊经典,2020 年 10 月 —— 一个协议层面的回答

ECIP-1100 规定了 MESS(改良版指数主观评分),这是一项分叉选择改动,落实的原则是:小重组是正常且健康的,而大重组是可疑的。它让节点越来越不愿意放弃自己已经持有的链段,其上限要求攻击者持续投入约 31 倍于竞争链的难度。Core-Geth 提议在区块 11,380,000 激活,预计时间为 2020 年 10 月。该 ECIP 现已标记为被后续提案取代,所以请把它当作对 2020 年那几次攻击的、有据可查的应对,而不是 ETC 现行的共识策略。

Bitcoin SV,2021 年 8 月 3 日 —— 三条链被同时挖着

自 11:46 开始,一次区块重组攻击产生了三个被同时挖掘的链版本,观察到的最大重组深度为 14 个区块。Bitcoin Association 认为它与 2021 年 6 月 24 日以及 7 月 1 日、6 日、9 日的攻击出自同一行为者,建议诚实节点运营者把攻击者的链标记为无效,并表示正在与执法部门合作。注意这里用的防御手段:靠人的协调去拒绝一条链——它是有效的,同时也偏离了纯机械的共识。

以太坊,2022 年 5 月 25 日 —— 一次只铺开一半的客户端更新,造成七个区块的重组

UTC 时间 08:55:23 至 08:56:35 之间,信标链区块 3,887,075 至 3,887,081 被重组出局。proposer-boost 分叉选择变更没有在客户端软件之间完全铺开,于是验证者对一个迟到的区块作出了不同判断。这不是攻击,也不是分叉选择的设计失败——是一条版本铺开的缝隙。它至今仍是「客户端版本多样性在两个方向上都是运营风险」的标准例子。

以太坊,2023 年 5 月 11 至 12 日 —— 两次失去最终性,但没有重组

两次事件,分别约 25 分钟和一个多小时,期间信标链在出块,但不敲定它们。参与率先后跌至 40.9% 和 30.7%。成因是针对旧区块的证明洪泛;在一个预防性缓存溢出之后,触发了反复的信标状态重建。修复随 Teku 与 Prysm 发布。没有任何历史被改写。

Solana,2024 年 2 月 6 日 —— 五个小时里什么都没结算

区块最终化于 UTC 时间 09:53 停止,共识在一次协同重启后于 14:55 恢复,修复版本为 v1.17.20。工程师把它追溯到一个与此前排查某次 devnet 停摆时发现的漏洞表现一致的故障。同样:这是一次活性故障,不是重组。

怎么把一则重组或充值延迟公告,变成一条记录

先弄清楚是谁发的公告,以及他们控制的是哪一层。协议基金会或客户端团队,对网络的共识状态是权威。交易所对「它有没有为你的充值入账」、以及它打算怎么处理一笔它现在认为无效的入账,是权威。区块浏览器是一个有用的第三方观察者,但它对什么都不权威。当这三方说法不一致时,这个不一致本身就是发现。

把深度和受影响的高度区间记下来。「X 链发生了一次重组」没法和任何东西对照。「一次自区块 10,904,146 起的重组移除了 3,594 个区块」,则可以拿去和你自己那笔交易的高度对照,立刻告诉你有没有落在受影响范围内。如果一则公告漏掉了深度,那是一个值得记下来的缺口,而不是一个可以拿社交帖子去填的细节。

把公告里经常被糅在一起的三种后果分开。第一,被回滚的交易——它们在被接受的那条链上,确实没有发生过。第二,已经入账、现在正被追回或冻结的充值——这是平台针对某个账户的策略动作,它有自己的申诉流程。第三,被暂停的服务——这是向前看的,它对「你过去那笔交易活没活下来」什么都没说。

在决定做什么之前,先判断这件事是重组还是停摆。如果链没在最终确定、或者已经停了,那么你已完成的交易并不存疑,而重发交易是那个最容易避免的错误。如果发生的是一次深度重组,情况正相反:请去核实你的交易,是否仍然存在于被接受那条链的某个高度上——并且要用一个自己也已经完成重组的浏览器,而不是所有浏览器都会及时做到这一点。

把当时生效的确认数策略记下来。这是那个最容易过期、也最要紧的细节。一个平台在攻击前按 6 个确认入账、攻击后按 20 个,它已经通过这个变化告诉了你:它在事件两侧分别是怎么评估风险的。如果你是在几周之后回头重建一笔充值到底发生了什么,那么当天生效的那套策略,才决定这次入账是否合理。

最后,记下复核时间,并保存一手来源。攻击报告会随着分析深入而修订;尤其是最初的深度数字和双花总额,常常在几天内被更正。一张在重组进行期间截下的浏览器截图,记录的是某一个节点在某一刻的视角——而这恰恰是重组会改变的东西。请改为保存客户端团队的事后报告或协议警报,因为那些是有版本、也有署名的。

事件类型

重组、链分裂、最终性延迟还是完全停摆——它们需要不同的应对。

深度与区间

移除了多少块、新增了多少块、起始高度是多少。拿去和你自己那笔交易的高度对照。

成因

多数算力攻击、客户端软件故障、版本铺开割裂,还是基础设施故障。

平台敞口

哪些平台在受影响区间内为充值入了账,以及它们就那些入账说了什么。

策略变化

事件前后的确认数。一次调高的门槛,是一份用运营措辞写出来的安全披露。

处置结果

链被接受、服务恢复,以及任何追回或补偿决定——分成不同的行来记录。

一个普通持有者到底该做什么

对绝大多数重组事件,持有者正确的动作是:什么都不做。一条主流链上一两个区块的重组,不需要你去查任何东西。如果你的交易在一个陈腐区块里,它几乎一定会被下一个区块打包,钱包会显示确认数重新计数。而在这个窗口里把同一笔付款再发一次,正是人们不小心付两遍的典型方式。

如果你持有的某条链被报告发生了深度重组,要做的核查是具体而简短的。确认你自己的交易是否落在受影响的高度区间内。查看你的平台有没有暂停该资产的充值或提现。攻击进行期间,不要在那条链上发起新的转账——因为攻击者的整个商业模式,就依赖于转账在他们控制的那个窗口里被入账。

如果你持有的资产在一条有多数算力攻击历史的小型工作量证明链上,那么诚实的说法是:你暴露在一个已经反复发生、且你这一侧任何确认数都控制不了的风险里。这是一个应当在知情之下持有的仓位,而不是一个靠把钱包里的确认数调高就能解决的问题。

停摆或停机期间,要靠的是耐心。不要重发。不要给一笔在停摆的链上根本没被处理过的待处理交易加手续费。也不要把「平台在那条特定网络上处理不了提现」当成关于平台偿付能力的证据——关于网络级暂停和平台级暂停的区别,请读我们的 暂停提现指南

而对于那些由你充当结算点的大额收款,请在转账之前就把确认数定下来、白纸黑字写清楚,依据是这条链和这个金额——而不是一边盯着钱包、一边越等越不耐烦。

网络和平台为此做了什么

网络能用的手段不多,而且每一个都有代价。提高出块成本,能抬高多数算力攻击的价格,但改变不了机制本身。像 MESS 提案那样的分叉选择改动,通过让节点不愿放弃已持有的链,使深度重组的代价不成比例地上升——代价是引入了一个主观元素:两个以不同顺序看到网络的节点,现在可能得出不同结论。检查点机制——不论由客户端设定,还是锚定到外部——则是同一套取舍的更强版本。

权益证明的最终性是另一种答案:它不是靠持续成本让深度重组变贵,而是靠被销毁的资本让它变贵,而且价格写在协议里。它同时也引入了上文那种活性故障模式,而工作量证明的链基本没有这个问题——一条参与度低的工作量证明链会变慢,而不是无法最终确定。

平台有三样工具,而且三样都在用。它们按资产设定确认数要求。它们监控重组,并在深度超出预期时暂停入账。它们还保留合同上的权利,去撤销一笔被重组作废的入账——这就是为什么,关于充值的条款值得在事发之前就读,而不是之后。Bitcoin SV 那次「请节点运营者把特定链标记为无效」的应对,算是第四样工具;它也提醒我们:到了极端情况,防御靠的是社会协调,而不是协议机制。

这些手段没有一个能让一条链彻底免疫重组;一则声称能做到的公告,是在夸大。它们真正做到的,是把「攻击变得不划算」的那个深度往上推。把一则防御公告读明白,意味着去问:它防的是多深、代价是什么——而不是问它有没有让问题消失。

读者常问的问题

我的交易是不是消失了?

几乎从不会。陈腐区块里的交易会回到待处理池,通常会被重新打包。它只有在一种情况下永久消失:一笔花掉同样输入的冲突交易,在被接受的那条链上被确认了——那正是双花,而那需要有人蓄意去构造它。

多少个确认才够?

没有一个普适数字。它取决于这条链的出块能力、这份能力是不是租得到、涉及的金额,以及你的对手方是谁。对它为你入账的那些充值,你正在用的那个平台已经替你做了这个决定;而对一笔点对点的直接收款,做决定的人是你自己。

比特币或以太坊会被深度重组吗?

这两条链的攻击成本,都远高于上文记录里的那些网络,而且都没有发生过攻击驱动的深度重组。两者倒是都因软件故障出现过多区块重组——比特币在 2010、2013 和 2015 年,以太坊在 2022 年——那是另一种成因,也有另一种修法。

重组和硬分叉是一回事吗?

不是。重组是在规则不变的前提下,改变哪一条由有效区块组成的链被接受。硬分叉改的是规则本身。一次软件兼容性事故可以同时产生这两者——这也正是 2013 年 3 月那次比特币事件读起来让人困惑的原因。

重组之后,交易所撤销了我的充值。这样可以吗?

一般来说,按该平台的充值条款是可以的——因为那笔底层交易已经不在被接受的链上了:平台为一件在网络最终记录里没有发生过的事入了账。这是你和平台之间的合同问题,答案在充值条款里。这不是区块链能仲裁的事。

最终性延迟,是不是意味着我的 ETH 有风险?

不是。2023 年 5 月那两次事件期间,链一直在出块,也没有任何历史被改写。暂停的是「近期区块不可逆」这个保证;它影响的是那些等待最终确定的系统,不是余额。

这个追踪工具是实时监控吗?

不是。它是一份截止到 2026 年 8 月 23 日的历史数据集,取自一手警报、事后报告和技术报告。它并不完整,也不观察实时链上状况。遇到正在发生的事件,请用网络自己的渠道和你所在平台的状态页。

打开 区块重组追踪工具 按成因、网络和深度筛选这些事件,或者回到 公告类型速查 看那几张更短的决策卡片。

来源

Meansline 已于 2026 年 8 月 23 日复核以下协议警报、规范、客户端团队事后报告与技术攻击报告。确认数策略和客户端版本具有时效性;一切以实时来源为准。以下来源为英文原文。

  1. Bitcoin.org:2013 年 3 月 11/12 日链分叉警报
  2. BIP 50:2013 年 3 月链分叉事后报告
  3. Bitcoin.org:2015 年 7 月 4 日 SPV 挖矿警报
  4. Bitcoin Wiki:数值溢出事件,2010 年 8 月 15 日
  5. Bitcoin Wiki:确认
  6. Ethereum.org:权益证明常见问题,含最终性
  7. Ethereum.org:权益证明的攻击与防御
  8. 客户端团队事后报告:以太坊主网最终性,2023 年 5 月 11 至 12 日
  9. Prysm v4.0.4 发布说明,2023 年 5 月 15 日:主网最终性事件后的修复
  10. 2022 年 5 月 25 日信标链七区块重组分析
  11. Solana:2024 年 2 月 6 日主网 beta 停摆报告
  12. ECIP-1100:MESS(改良版指数主观评分)
  13. 以太坊经典 51% 攻击风险评估
  14. 技术报告:Bitcoin Gold 51% 攻击,2020 年 1 月
  15. 技术报告:Vertcoin 51% 攻击,2019 年 12 月
  16. MIT 数字货币计划:51% 攻击检测项目
  17. Bitcoin Association:关于 2021 年 8 月 BSV 区块重组攻击的声明
  18. Kraken:按资产划分的充值确认数要求