什么是并行执行 以 Aptos、Sui、Linera 和 Fuel 为例给你讲透

本文旨在通过 Aptos、Sui、Linera 和 Fuel 来阐明并行执行技术的原理,以及这些项目之间的异同和面临的挑战。

当观察区块链技术的发展时,我们可以看到一个强大的趋势,即新的 L1 侧重于并行执行。这一想法并不新鲜,比如目前在 Solana 的 Sealevel 执行环境中就使用了并行执行。然而,上一轮牛市中,DeFi 和 NFT 令人印象深刻的表现表明了对改进的迫切需求。目前采用并行执行理念的一些知名项目有 Aptos、Sui、Linera 和 Fuel。

什么是并行执行  以 Aptos、Sui、Linera 和 Fuel 为例给你讲透

本文讨论了这些项目之间的异同,以及它们面临的挑战。

问题所在
智能合约平台能够创建广泛的去中心化应用。为了执行这些应用,需要一个共享的计算引擎。网络中的每个节点都会运行这个计算引擎,并执行应用程序以及用户与应用程序的交互。当节点从执行中得到相同的结果时,他们就会达成共识,并推动链的发展。

以太坊虚拟机是最主要的智能合约 (SC) 执行引擎,有大约 20 种不同的实现方式。自从 EVM 发明以来,它已经被开发人员广泛采用。除了以太坊和以太坊的 L2 外,Polygon、BNB Smart Chain 和 Avalanche c Chain 等其他几个链都采用了 EVM 作为执行引擎,并致力于改变共识机制以提高网络吞吐量。

EVM 的一个主要限制特性是顺序的顺序执行。EVM 本质上每次执行一个交易都会将所有其他交易置于暂停状态,直到交易执行完成,区块链状态被更新。即使两个交易是独立的,例如,从 Alice 到 Bob 的付款和从 Carol 到 Dave 的另一个付款,EVM 也不能并行执行这些交易。虽然该执行模式允许使用闪电贷等有趣的用例,但它既不高效,也不可扩展。

交易的这种顺序执行是网络吞吐量的主要瓶颈之一。首先,它导致区块中的交易执行时间变长,从而限制了区块时间。此外,它还限制了可以添加到区块中的交易数量。以太坊的平均吞吐量约为 17 tx/ 秒。这种低吞吐量意味着在高活动时期,网络矿工 / 验证者不能处理所有的交易,并会引发确保交易优先执行而推高交易费用的费用竞标战。以太坊的平均费用在某些点超过 0.2 ETH( 约 800 美元 ),让许多用户望而却步。顺序执行的第二个问题是网络节点的低效。顺序指令的执行不能从多核处理器中受益,这会导致硬件利用率低,效率低下。这阻碍了可扩展性,并导致了不必要的能源消耗。

并行执行可以解决这个问题?
EVM 结构的基本限制为专注于并行执行 (PE) 的 L1 新领域奠定了基础。并行允许在多个处理器核心之间划分交易处理,提高了硬件利用率,从而实现了更好的可扩展性。在高吞吐量链中,硬件资源的增加与可执行的交易数量直接相关。在高频活动期间,验证者节点可以委托更多的核心来处理额外的交易负载。计算资源的动态扩展允许网络在高需求时期实现更高的吞吐量,从而显著改善用户体验。

这种方法的另一个优点是改善了交易确认延迟。节点资源的动态扩展使低延迟确认交易成为可能。交易不需要等待数十或数百个区块,也不需要支付过多的费用来确定优先级。确认时间的改进提高了交易的最终确定性,为低延迟区块链打开了大门。保证执行交易的低延迟可以实现以前不可能实现的几个用例。

改变链的执行模式,以允许 PE 并不是一个新想法,已经有一些项目已经对此进行了探索。一种方法是将 EVM 使用的会计模型从帐户模型替换为未支出交易输出 (UTXO) 模型。比特币就使用了 UTXO 执行模型,它允许并行处理交易,这使其成为了支付的理想选择。由于 UXTOs 的功能有限,因此需要扩展来实现智能合约所需的复杂交互。作为示例,Cardano 为此使用了一个扩展的 UTXO 模型,Findora 使用了一个实现了两种会计模型,并允许用户在其间进行更改资产类型的混合 UTXO 模型。

PE 的另一种方法并不改变账户模型,而是专注于改进链状态的架构。这种方法的一个例子是 Solana 的 Sealevel‌框架,本文主要讨论后一种方法。

暧昧贴