
先明确“重构”的含义
在本文讨论的共识语境中,“区块链重构”指链重组:节点原本采用一个分支,随后依据规则改为采用另一个分支。这会改变共同祖先之后被采纳的区块历史。它与修改协议规则、重写软件属于不同问题。
理解重组可以从三个问题入手:区块是否有效,多个有效分支中选择哪一个,已被采纳的历史达到什么程度的稳定性。这三个问题分别涉及有效性验证、分叉选择和确认或最终性。

比特币:有效性是选择分支的前提
Bitcoin Developer Guides介绍,全节点独立验证区块;出现有效竞争分支时,节点遵循累计工作量最大的链。因此,常见的“最长链”说法需要结合累计工作量理解,不能只比较区块个数。

两个矿工在相近时间产生区块,就可能造成短暂分叉。分叉本身不等于攻击。同一高度也可能对应不同区块,因此识别区块应使用区块哈希,不能仅靠高度。即使一个分支工作量更多,其中违反节点共识规则的区块也不会因此变得有效。
以太坊:区分链头选择和最终性
以太坊开发者文档介绍,权益证明机制中的LMD-GHOST按验证者证明的权重选择分支,Casper-FFG则通过检查点投票提供最终性。前者处理链头选择,后者约束已经确认到更强程度的历史。
据此讨论重组时,应明确区块是否已经最终确定。尚未最终确定的链头变化,与推翻已最终确定的历史具有不同的安全条件;后者涉及严重的共识安全破坏和罚没风险。比特币的累计工作量规则不能直接套用于这一机制。
重组对交易意味着什么
交易被收录在某个区块中,表示它进入了该分支的历史。如果该区块不再被采用,就需要检查新分支是否也包含这笔交易。不能仅凭旧分支的收录记录,继续认定交易保持原有确认状态。
重组也不必然使交易本身失效:新分支可能仍包含它。若新历史中出现冲突支出,交易能否再次被纳入则取决于相应有效性规则。因此,交易有效与交易已被当前链确认需要分别判断。
常见问题与适用范围
确认越多是否就绝对不会变化?对工作量证明链,后续工作量增加会提高改写历史的成本,但不能解释为数学上的绝对不可逆。以太坊的最终性也有其协议条件,不能简单等同于某个固定确认次数。
所有区块链是否采用相同重组规则?并不相同。本文以比特币和以太坊的机制说明基础概念。分析其他网络时,需要分别了解其区块验证、分叉选择和最终性设计,不能仅凭“区块链”这一名称推断其行为。