在区块链的背景下,「终局性」可以分为不同的阶段:提交(Submitted)、确认(Confirmed)和最终确定(Finalized)。提交表示交易已经被广播到网络中并进入了内存池(Mempool);确认意味着交易被打包进了一个区块,并被成功地添加到当前的链上;而最终性是指这个区块已经被多个后续区块所验证和巩固,达到了不可更改的状态。因此,区块链中的最终性是确保账本一致性和安全性的一个重要属性,它为用户提供了高程度的确定性,尤其是在涉及大额转账和复杂金融交易时。 在以太坊中,终局性通过一种被称为「验证者投票」(Validator Voting)的机制来实现。每一个 Epoch(由 32 个区块组成的时间窗口)内,验证者会对当前和前一个 Epoch 的检查点区块(Checkpoint Block)进行投票,直到这些检查点区块达到三分之二(2/3)的多数共识为止。一旦某个检查点区块获得了三分之二的验证者投票支持,它就被视为 “被证明的”(Justified)。而当两个连续的检查点区块都被证明,并且它们之间存在超级多数链接(Supermajority Link)时,这些区块之前的所有区块将被视为最终确定(Finalized),无法被简单的重组(reorg)所影响。这种机制有效地防止了简单的分叉和攻击,因为要对这些最终确定的区块进行篡改,攻击者需要同时控制三分之二以上的验证者,这几乎是不可能实现的。因此,以太坊的最终性机制为其 PoS(权益证明)共识带来了很高的安全性。 尽管以太坊的 PoS 系统提供了较为明确的终局性机制,但在不同的区块链系统中,实现终局性的方式可能有所不同。例如,乐观型 Rollup(Optimistic Rollups)和零知识 Rollup(ZK Rollups)作为以太坊二层扩展解决方案,它们的终局性定义和实现方式存在显著差异。乐观型 Rollup 依赖于欺诈证明(Fraud Proof)机制,因此在提交交易后需要等待欺诈窗口(通常为 7 天)关闭,才能达到终局性。相反,ZK Rollup 由于使用数学证明(Validity Proof)来验证状态转换的正确性,因此可以在本地生成证明后立即达到局部终局性,而无需等待欺诈窗口期。对于 L2 网络而言,最终性通常分为「局部终局性」和「全局终局性」两个层次。局部终局性指的是在 L2 网络内部达成的状态确认,例如,当 ZK Rollup 生成有效性证明时,L2 状态就可以被认为是局部确定的。而全局终局性则发生在 L2 网络将其有效性证明提交到以太坊主链,并等待主链区块的最终确定(约 13 分钟)后,才能被视为完全不可更改。【原文为英文】\n原文链接