
误区一:区块数量越多,就一定胜出
比特币开发者指南说明,节点在有效候选分支中选择最难重新构造的链,核心指标是累计工作量。只有各区块对应的工作量相同时,比较区块数量才等价于比较累计工作量。
因此,“最长链”是一种容易引起歧义的简称。理解它时,应先问协议用什么衡量分支权重,再看长度是否能够代表该权重。
误区二:工作量足够大,就能让违规区块有效
比特币全节点独立验证区块。累计工作量的比较以符合共识规则为前提,不能让不合法的交易或区块获得认可。
这里有两个先后问题:候选链是否有效,以及有效候选链中应选择哪条。把两者混在一起,就会误以为选链规则可以覆盖交易验证规则。
误区三:出现分叉就说明网络遭到攻击
矿工近乎同时产出区块,也可能产生暂时分叉。节点接收区块的顺序不同,会暂时拥有不同的链头视图;后续区块使分支工作量出现差距,推动选择收敛。
因此,看到同一高度存在不同区块,不能直接判定发生攻击。高度表示位置,并不是区块的全局唯一标识;区分具体区块通常使用区块头哈希。
误区四:交易进入区块,就绝不可能改变
比特币分支切换可能使原先位于主链上的区块退出主链。后续区块增加,会提高重写相应历史所需的工作量,但不能据此推导出绝对不可逆。
交易被收录与交易历史稳定是不同层面的问题。确认深度表达的是后续区块的积累,理解其意义仍需要考虑网络和算力条件。
误区五:所有区块链都按同一种方式选最长链
以太坊权益证明文档描述的分叉选择采用LMD-GHOST,依据验证者证明的权重选择分支,并通过Casper-FFG检查点机制处理最终性。它不能简化为比较区块数量或累计工作量。
选链回答当前沿哪条分支继续,最终性回答历史记录获得了怎样的协议保障。两者有关联,但应分别理解;比特币的解释不能直接推广到所有权益证明网络。
常见问题:怎样判断一段最长链解释是否准确
可以检查三个条件:是否交代适用协议,是否先要求候选链有效,是否明确权重指标。讨论确认与不可逆性时,还应说明使用的是工作量积累形成的保障,还是协议定义的最终性机制。缺少这些条件,“更长就更可信”的说法容易失真。