了解以太坊和 Solana 在达成共识方面的差异。
众所周知,以太坊和 Solana 的共识机制均采用 PoS(权益证明)。它们都通过基于权益的验证器生成区块。尽管它们从根本上采用相同的共识,但以太坊目前记录的 TPS(每秒交易数)约为 30,而 Solana 则拥有 4000 TPS。这种差异间接表明了共识如何显著影响区块生成速度。本章将深入探讨这两条链之间的差异。

以太坊最初的共识

以太坊最初采用的是工作量证明(PoW)方式,比特币至今仍在使用这种方式。在 2022 年 8 月合并升级后,以太坊从工作量证明过渡到权益证明,现在采用上述的 PoS。

以太坊目前的共识

以太坊的核心是 PoS,但它特别采用了一种称为 Gasper 的共识算法。Gasper 是 Casper 友好最终性小工具 (Casper-FFG) 和 LMD-GHOST 分叉选择算法的组合。在深入研究 Gasper 之前,需要注意的是,以太坊最初是根据基于 PoW 的 Nakamoto 共识生成区块的。Nakamoto 共识遵循最长链规则,在分叉期间选择区块链中最长的链。因此,以太坊并没有完全放弃 PoW;它保留了 PoW 下的基本区块生成,同时在其上集成了 PoS 元素。

Casper (Casper-FFG) 是 Gasper 的一部分,它将某些区块升级为“最终确定”状态,确保网络参与者与常规链同步。它最初是在 Merge 升级期间为从基于 PoW 的链到 PoS 的过渡阶段提出的,现在部分贡献于更大的 Gasper 算法。LMD-GHOST(最新消息驱动最贪婪最重观察子树)是一种分叉选择算法,用于在各种分叉中选择最有效和最值得信赖的链。如果分叉生成多个新区块,验证者将通过证明消息进行投票,以确定将哪个区块附加到现有链。这些证明遵循从创世区块到最新区块(叶区块)的路径,选择由最新证明支持的区块。

Solana 的共识

Solana 中与以太坊各个共识算法对应的技术组件是什么?答案就在支持 PoS 的 Tower BFT 中。

首先,让我们了解一下 BFT 和 PBFT。BFT 是一种在分布式系统中实现节点间可靠共识的方法,源自“拜占庭将军问题”。即使某些节点是恶意的或不可靠的,它也能确保系统正常运行。PBFT 是 BFT 的一种实际实现,它通过确保所有节点之间对所有交易达成一致来保证系统的最终性和一致性。

Tower BFT 采用了 PBFT 的变体,但有一个根本区别:历史证明 (PoH) 在达成共识之前充当全局时钟。在 Solana 的实现中,PoH 用作网络时钟,用于安排区块、交易和数据的顺序。

以太坊经常会低效地更新其整个网络状态以用于特定交易,并且交易可能无法按顺序处理。相比之下,Solana 利用 PoH(历史证明)来支持 PoS。要确定两个事件之间的加密时间,需要一系列计算步骤。例如,考虑两张照片:一张是苹果,另一张是正在拍摄的照片。我们可以推断苹果的照片是先拍摄的。Solana 通过在数据中添加时间戳来跟踪它们的顺序,确保其结构不会混淆。

Tower BFT 使用 PoH,通过时间戳验证有效地确定区块、交易和数据的顺序。因此,验证者可以最终决定分叉,选择最受投票信任的链。以太坊缺乏像 PoH 那样的时间戳概念来进行整体状态同步,迫使验证者根据之前的哈希值进行计算以选择分叉。相反,基于 PoH 的 Solana Tower BFT 可以轻松达成共识,而无需进行完整的区块验证。

因此,比较可以总结如下:

以太坊 Solana
Proof of Work » Proof of Stake Proof of Stake
Casper 友好最终性小工具(Casper-FFG) Tower BFT + PoH
LMD-GHOST 分叉选择规则 Tower BFT

概括

以太坊共识:基于 PoS 的 Gasper = Casper 友好最终性小工具(Casper-FFG)+ LMD-GHOST 分叉选择规则
Solana 的共识:基于 PoS 的 Tower BFT + PoH

原文:https://solana.com/developers/evm-to-svm/consensus