什么是并行化(并行事务执行)?
在区块链上,并行化是指构建网络以同时处理多个交易,而不是按顺序处理。这可以实现区块链的扩展、降低 Gas 成本并提高交易处理速度。
关键要点
区块链网络声称通过采用并行交易执行(也称为并行化)来实现更高的吞吐量。
并行化的工作原理是让区块链网络对交易进行排序并同时执行,利用所有可用的网络资源,并让网络在多个状态之间路由,最终达到一个由网络节点同意的共同状态,以维持共识。这与旧区块链网络使用的顺序交易执行方式不同。
并行交易执行是当代区块链网络的一种发展趋势,其共同目标是提供更高的交易处理速度和整体效率。这些网络包括 Sui、Aptos、Monad 和 Polygon。
较旧的区块链网络按顺序处理交易,即每笔交易都按顺序处理。然而,随着区块链技术的普及,对常规区块链网络的需求也成比例增长,导致 Gas 费用增加和区块链拥堵。为了满足需求,区块链网络正在尝试各种扩展解决方案,例如并行化、第二层和模块化。
在本文中,我们将研究并行化以及它如何提高区块链网络的整体灵活性,并与其他解决方案协同工作以提供高效且可扩展的区块链网络。
并行化(并行交易执行)和区块链扩展
并行性是计算和计算机编程中的一个概念,它描述了将任务拆分成可同时处理的部分的概念。这也是区块链技术中并行化背后的理念。
并行化也称为并行交易执行。这种交易处理方法构建了网络,使其能够同时处理交易。也就是说,它不是按顺序处理交易,而是同时处理多个交易。再次使用队列的类比,并行化摆脱了队列的束缚,提供了一种场景:这些交易可以分布在网络的各个节点上,并同时得到验证。它引导网络经历不同的状态,反映同时处理的交易的效果。每次运行结束时,网络都会达到一个统一的状态,并在不同节点之间达成共识。
并行交易执行优化了整个网络资源的利用率,从而通过跨网络节点或子组并发处理多个交易来加快处理速度。事实证明,这可以显著提高网络的整体吞吐量。实现并行化的网络声称其 TPS 比按顺序处理交易的网络快 100 倍。
并行事务执行的工作原理
并行事务执行有两种模型:
乐观并行化
状态访问并行化
乐观并行化
在乐观并行执行模型中,网络会跳过排序阶段,直接同时处理所有交易。它假设队列中的交易是独立的(互不相关的),并在执行出现错误时返回进行调整。在这种情况下,如果交易存在其他依赖关系,则该交易将使用正确的数据再次执行。
状态访问并行化
状态访问并行执行模型的第一步是对交易进行排序。网络根据交易对网络状态的影响对其进行分组。RPC 向共识系统提供多笔交易。网络会相应地对这些交易进行排序,例如,将其分为相关交易和不相关交易。
相关交易可能包括与网络上同一智能合约或同一账户交互的交易。不相关交易可能包括与不同合约交互的单向交易。网络会同时执行不相关的交易,从而节省时间和成本,而相关交易则会在处理之前重新协调。
交易排序的另一个标准是每笔交易支付的 Gas 费用。费用较高的交易可以并行执行,从而为用户提供更好的处理速度体验。
并行化的好处
现在,让我们看看并行事务执行的一些好处。
可扩展性
区块链网络面临着扩展方面的挑战,而这正是并行化应运而生的地方。通过拆分任务并将其分布到网络节点,并行化不仅能够加快网络处理速度,还能实现网络的水平扩展。在需求高峰期,网络可以通过收缩更多节点来增加可用资源;在需求下降时,网络也能恢复正常。这种扩展能力能够确保网络在需求波动时保持良好状态。
降低天然气成本
并行化不仅节省时间,还能降低其他成本,例如每笔交易的费用。由于交易被分发到不同的节点子组,与在网络上每个节点都进行验证相比,每笔交易的费用更低,就像顺序交易处理模型中那样。
此外,更高的交易速度意味着排队的交易更少,验证这些交易的竞争更少;因此,每笔交易收取的费用更低。
高交易处理速度(TPS)
通过将任务分散到多个节点,网络在执行每笔交易时节省了大量时间。实现并行化的区块链网络声称其 TPS 比使用顺序处理模型的网络高出 100 倍,而像 Solana 这样的网络声称其 TPS 超过 50,000,尽管实际记录的速度可能会因实际需求条件而异。
复杂性:并行事务处理的主要挑战
虽然并行事务处理显著提升了网络灵活性,但它也更加复杂。复杂性挑战源于需要对事务进行排序,并解决每次运行过程中产生的多个状态。
在乐观并行的情况下,网络在处理相关交易时可能会遇到问题。例如,同一账户可能存在来自不同地址的多笔转账。网络必须解析这些交易,以确保每个钱包的余额准确无误。为了解决这个问题,使用乐观并行交易处理模型的网络可以使用调度程序来确保仅在先决条件交易完成后才执行依赖交易。
虽然状态访问模型从一开始就解决了这个问题,但节点必须处理快速的信息流以及定期与网络其余部分同步的需要。
现在,我们来看看不同类型的并行处理网络。
并行化 EVM
以太坊虚拟机(EVM)是我们今天所知的去中心化虚拟机的首个实例。它也是最受欢迎的虚拟机,因为开发者可以轻松移植流行的 dApp,而无需从头构建。并行化的 EVM 吸引了以太坊开发者,因为它提供了一种无需进行任何更改即可将代码部署到更高吞吐量区块链上的方法。
以下是一些并行化 EVM 的示例。
Sei网络
Sei是一个专为去中心化金融开发的区块链网络,使用 Tendermint 核心和 Cosmos SDK 开发。它提供并行订单执行功能,来自不同市场的订单可以同时处理(但来自同一市场的订单仍按顺序处理)。在 2023 年 11 月发布的一份新闻稿中,Sei 分享了其 v2 升级计划。V2 升级将包括系统重新设计,引入 EVM 兼容性和乐观并行化。在 Sei v2 中,EVM 和非 EVM 协议都将共存于同一条区块链上。
单子
Monad 是一个兼容 EVM 的 Layer 1 区块链网络。它拥有高达 10,000 TPS 的交易速度,并声称能够解决当前困扰区块链网络性能的主要问题。Monad 实现这一目标的方法之一是采用乐观并行执行。为了避免错误执行的可能性,Monad 使用静态代码分析器来预测先决条件交易,并优先执行这些交易。
多边形
受 Aptos 区块链在交易并行化方面的努力启发,Polygon计划最早于 2022 年将这一概念引入 Polygon POS 链。然而,Polygon 指出,关联交易的排序和执行是这一概念的挑战之一。为了克服这一挑战,Polygon 实施了一种“最小元数据方法”,即在并行执行后将元数据附加到发现的关联交易中,从而告知验证者如何处理这些交易以及如何以最高效率填充区块。
Neon EVM
Neon 是第一个基于 Solana 区块链构建的并行化 EVM。得益于 Solana 的并行交易执行技术,它结合了 EVM 的优势和 Solana 区块链的高吞吐量。其工作原理是使用代理将以太坊交易打包到托管在 Solana 上的 Neon EVM 中,并通过此设置在 Solana 区块链上解析交易。
其他并行处理网络
除了尝试将并行交易执行集成到以太坊虚拟机的项目之外,还有其他并行处理网络,包括:
索拉纳
Solana Network 是并行交易执行概念的先驱之一。据 Solana 联合创始人 Anatoly Yakovenko介绍,并行化是 Solana 区块链高吞吐量的八大关键特性之一。Solana 使用 SeaLevel,这是一个并行智能合约运行时,可以处理数万个合约,并充分利用验证器可用的所有核心。由于每笔交易都能尽快得到验证,因此可以节省大量时间。
Solana 的并行化是由智能合约结构和账户功能实现的。Solana 智能合约的构建是为了声明它们想要交互的状态。每个程序都会事先声明它们想要交互的账户,这使得根据状态访问权限对这些交易进行排序变得更加容易。虚拟机会调度不重叠(不相关)的交易并行执行。
隋
Sui除了其运行的状态访问并行化模型外,还引入了对象和共识绕过的概念。智能合约交易基于 Sui 引用对象,这些对象是 Sui 区块链上的资产。每笔交易分为简单交易和复杂交易。简单交易包括不涉及共享对象的常规交易,例如资产转移,这些交易无需通过共识系统进行合约即可立即执行。
复杂的交易需要大量的智能合约交互,并涉及一个共享对象。这些交易会根据其对网络状态的影响进行排序,其中不相关的交易并行执行。相关的交易则按顺序执行。Sui 声称,通过这种方法,交易速度可达到约 10,000 TPS,最高可达 290,000 TPS,具体取决于网络需求和条件。
阿普托斯
Aptos声称其交易处理速度高达 160,000TPS。这部分归功于其并行交易执行系统的构建。Aptos 使用乐观并行执行模型,假设交易之间互不关联,并并行执行交易。虽然这种方法可以加快处理速度,但存在一个问题:错误可能会导致交易重新运行。
然而,Aptos 声称其系统能够在执行后自动检测相关事务。它使用块软件事务内存 (Block STM)方法来跟踪每个反应所做的更改以及这些更改的位置。对于并行运行的每个产生不准确结果的相关事务,结果将被擦除并重复执行,直到获得准确的结果。
最后的想法
当代区块链项目致力于提升去中心化网络处理交易的速度,同时避免重大的安全风险。Layer 2 解决方案以及如今的并行化是该领域的主要进展。尽管并行化的实现过程复杂,但其背后的理念却很简单。在顺序交易方法中,区块链网络的大部分资源在交易逐一处理的过程中处于休眠状态。并行化摆脱了这种“队列”系统,带来了更动荡的处理场景,但正如本文所述,它能够提升速度。