区块链难以同时处理多个交易。在去中心化应用程序中,并行执行至关重要,因为它允许智能合约平台同时处理多个交易,从而提高网络的整体吞吐量和响应能力。
区块链领域中一个经常被忽视的方面是网络如何处理并行执行以及如何比较这些方法, 本文点关注如何实现并行执行的解决方案,并比较它们克服现有区块链网络限制的方法。通过研究这些下一代区块链采用的各种策略和技术,希望为并行执行的未来及其在推动区块链创新中的作用提供有价值的见解。
EVM
EVM 无法并行处理交易,在处理速度方面受限,例如以太坊TPS 10, BSC 通达到200的TPS.
![](https://img.haomeiwen.com/i7973505/db8b8d1ac8524159.png)
如何并行执行
实现并行执行的主要挑战是确定哪些交易是不相关的,哪些是独立的。这包括了解每个交易如何影响区块链的数据。对于许多相互连接的应用程序,确定哪些交易相互依赖可能很棘手。
![](https://img.haomeiwen.com/i7973505/2058920062450b7d.png)
区块链系统中实现并行执行的三种不同方法:状态访问/optimistic、分片和基于计算的并行执行。
并行执行:状态访问和Optimistic 模型
大多数具有并行执行功能的区块链依赖于两种流行的方法:状态访问方法和Optimistic模型。状态访问方法是一种战略性方法,它可以先发制人地识别哪些交易可以访问区块链状态的哪一部分,从而允许区块链轻松声明哪些是独立的。另一方面,Optimistic模型在所有交易都是独立的假设下运行,只是回顾性地验证这一假设并在必要时进行调整。
Solana
Solana已经成为区块链领域的先驱,开创了一种独特的方法来管理交易和扩大可扩展性。它的突破性创新是确定区块链状态的哪些部分——所有账户或资产的综合记录——可以通过特定操作访问。
把它想象成一个庞大的归档系统。每个交易提交一个访问特定文件的请求。如果文件请求是唯一的,则可以独立处理交易。但如果它们请求相同的文件,这些交易就会交织在一起,需要协调。真正的诀窍是确定哪个交易请求哪个文件。
作为第一个并行区块链,Solana引入了一种解决方案。每个交易必须预先声明它打算访问哪个文件。这一要求包含在Solana的“Sea Level”执行模型中,其中所有功能都在基于账户的框架内运行。每个帐户只能由与其关联的交易访问,从而防止潜在的冲突。
Sui
Sui的并行化策略与Solana相似,但有一个独特的要点:用一个被称为“objects”的结构代替账户。Sui交易不引用账户,相反,它们改变objects的属性,这些objects可以是资产或智能合约。如果一个交易被指定为独立的(也就是说,如果没有其他交易与目标对象交互),它将完全绕过共识机制——这一特性被称为拜占庭一致性广播。
Fuel
Fuel是区块链领域的佼佼者,它充分利用了UTXO(未使用交易输出)模型。如果你把UTXO模型看作是一种实物现金交易,它就类似于用10美元的钞票买7美元的东西,然后得到3美元的零钱。通过使用UTXO模型,Fuel可以高效地并行处理事务。这是因为UTXO模型允许轻松地识别独立的交易—那些在与之交互的对象或“账单”中没有重叠的交易。这种独立性意味着可以同时处理这些交易而不产生冲突,从而显著提高交易吞吐量。
Fuel通过开发新的虚拟机FuelVM和创新的编程语言Sway,将这一概念变为现实。FuelVM被设计为以太坊虚拟机(EVM)的精简但完全兼容的替代品,这使得开发者更直接地融入Fuel生态系统。
除此之外,Fuel强调模块化的区块链结构。这种模块化方法允许在Fuel内执行的交易在以太坊主网网络上结算。因此,Fuel有能力处理大量交易,所有这些交易都在以太坊上进行整合和结算。这一战略举措使Fuel能够有效地管理繁重的交易负载。
Aptos
在我们对区块链并行化的探索中,我们首先描述了区块链如何在交易启动时建立依赖关系。我们称之为状态访问方法,其中智能合约或开发者定义哪些交易可以访问状态的哪一部分。现在我们转向另一种技术,叫做optimistic执行。optimistic执行是一种策略,在这种策略中,每个交易都被处理,就好像它没有连接到任何其他交易一样,允许所有交易同时处理。但是,如果结果证明某些交易有联系,则会停止,其结果也会被清除,继而重新运行。当交易大多是独立的时候,这可以加快速度,但当许多交易相连时,处理过程必须经常停止和重置,这可能会使交易变慢。
Aptos使用一种称为区块软件事务性内存(Block-STM)的方法来应用optimistic执行。Aptos是建立在Diem的Move语言和MoveVM之上的,它可以自动发现交易链接。它不需要交易说明它们触及区块链状态的哪个部分(如内存位置)。
Monad
Monad在EVM兼容区块链中开创了一种新方法,是第一个在EVM第一层引入并行架构的区块链。与Aptos一样,它采用optimistic执行路径,在交易不相互连接的假设下操作,并在出现依赖关系时加以解决。
这一新颖的方法并非没有挑战。对区块链技术进行重大修改是一项复杂和长期的承诺。尽管如此,Monad仍然致力于创新,并已成为其他区块链网络的灯塔,旨在增强自己的架构。
以Polygon和Binance Smart Chain为例,这两个知名的区块链现在都在努力升级其系统,采用类似的策略。Monad在optimistic执行方面的开创性工作的重要性怎么强调都不为过,因为它影响了大型平台重新评估和修改自己的架构。
基于分片的并行执行
到目前为止,我们已经讨论了各种区块链如何通过帐户、对象(objects)、UTXO和optimistic模型等概念打破顺序排序并实现并行化。然而,我们即将研究的下一代区块链采用了一种独特的并行化方法。这些平台类似于分片模型,而不是拥有能够并行处理交易的单个区块链。区块链被划分为多个部分,每个部分负责处理自己的交易。
Shardeum
Shardeum通过动态分片为区块链可扩展性带来了突破性的方法,实现了线性可扩展性。分片是网络的子部分,每个分片处理网络交易的一部分,从而提高了资源效率和吞吐量。考虑到一个用户在Shardeum上托管的去中心化应用程序(dapp)上进行交易,该交易根据其关联数据分配给特定的分片。分片与其管辖范围内的其他分片并发处理交易,就像一个迷你区块链。用户受益于更快的处理,优化用户体验。
Shardeum的一个关键特性是它与以太坊虚拟机(EVM)兼容性。开发者可以轻松地将他们基于以太坊的dapp迁移到Shardeum,将Shardeum的动态分片和并行处理与广泛的以太坊生态系统相结合。
动态分片保证了网络对波动需求的适应性,促进了系统的可扩展性和高效率。Shardeum自动执行跨分片交易,允许无缝执行需要多个用户输入的复杂应用程序,从而增强可扩展性。
Shardeum的独特之处在于它的线性扩展能力。随着节点的增加,网络呈线性扩展,这意味着交易吞吐量与节点数量成比例地增加。这种线性扩展,结合节点灵活性和自动扩展功能,使Shardeum能够以最佳方式处理不同的工作负载和网络增长。Shardeum通过增强复杂应用程序的可扩展性并为现实世界的交易需求提供实用的解决方案,并为现实世界的交易需求提供了一个实用的解决方案。
Linera
Linera对区块链可扩展性的创新解决方案通过其动态多链协议脱颖而出,该协议包括用户链、公共链和临时链。
![](https://img.haomeiwen.com/i7973505/b638fe8e25e4f0e0.png)
上图显示了Linera系统中的三种不同的链类型:用户链、公共链和临时链。每种链类型都有一个独特的角色,对协议的整体功能和可扩展性做出贡献。
与Shardeum不同,Linera开创了用户控制链的概念,Shardeum将其网络划分为许多碎片链,每个碎片链负责一个子集的交易。这一细化的方法为用户提供了更多的控制和自主权,同时优化了整个网络的资源分配。
由用户单独拥有和控制的用户链构成了Linera架构的支柱。这些链独立地处理特定最终用户的交易,允许并行执行,并在减少延迟的同时显著提高吞吐量。
公共链是Linera设计的另一个重要组成部分。这些链是去中心化的应用程序,如自动做市商(Automated Market Makers, amm)的所在。公共链对所有网络参与者开放,为需要开放和不受限制的交互的应用程序提供一个公共平台。
Linera还引入了临时链的概念,专门用于处理原子交换等复杂操作。与需要在主链上记录交易的协议相比,该特性提供了一个显著的优势,后者可能会造成瓶颈。在Linera中,在原子交换期间创建一个临时链,独立于其他交易并与其他交易并行处理。一旦交换结束,临时链就会消失,更新后的状态会反映在相关的用户链中。
Quai Network
Quai Network以其独特的可扩展性方法在区块链行业中开辟了自己的道路。通过实现动态和可互操作的多链架构,Quai为可扩展性问题提供了独特的基于工作量证明的解决方案,通过无限执行分片实现交易并行化。这种方法将Quai与Linera等协议区分开来,Linera利用用户控制的链,同时与Shardeum的动态分片有一些相似之处。
Quai使用的分片版本类似于用于增强中心化系统中数据库性能的传统方法。然而,Quai不同于典型的分片方案,它具有动态、适应性强、深度交织的多链架构。这有点类似于Shardeum的动态分片,其中网络被划分为独立处理交易的分片链。然而,Quai使用合并挖掘层次结构来协调这些不同的分片,创建了一个独特的互联结构,允许跨网络并行执行操作。与所有现有的分片实现不同,它们引入了一些新的信任机制来促进互操作性(跨分片交易),Quai网络使用合并挖掘来互连分片,确保处理跨链交易所需的唯一机制是挖掘。Quai Network通过合并挖掘实现互操作性的独特方法显着提高了吞吐量,并提供了在不牺牲去中心化或性能的情况下容纳大量并发交易的能力。
为了能够协调无限数量的执行分片,Quai网络引入了一种新的共识机制,称为PoEM。PoEM基于工作量证明(PoW)共识,但与其他共识机制不同,它是第一个消除基于共识的分叉的共识机制。在运行 PoEM 时,所有节点将始终立即对序列中的下一个区块具有相同的偏好,给定相同的信息集。PoEM允许所有节点立即公平地比较任何提议的区块,从而消除了共识的所有不确定性。通过确保共识始终是即时的,PoEM为无限分片提供了必要的先决条件。如果建立共识需要任何时间,那么可以协调的执行分片数量就会受到严格限制。PoEM作为第一个达成共识的“零时间”方法,是第一个也是唯一一个适合协调无限增长的链集的共识算法。
Quai架构的一个突出特点是引入了并行执行线程(PETs),在Quai中称为“区域”。每个“区域”或并行执行线程独立且异步地处理事务。每个Quai执行线程独立处理事务的能力支持网络的并行处理能力,这是Quai可伸缩性背后的核心概念之一。
此外,Quai的编织结构支持可组合的多链智能合约,并允许高效的跨链合约交互。每个Quai执行线程都有一个EVM,并引入了新的操作码,以便与位于备用分片上的EVM进行通信。这种能力使开发者能够跨多个或所有Quai链部署合约,确保整个网络中去中心应用程序(dapps)的可操作性。
Quai Network的分片创新应用,加上其合并挖掘的互操作性和并行执行线程,代表了基于工作的共识机制下区块链可扩展性的重大进步。跨链交易的强大处理和先进的智能合约功能使Quai成为可扩展区块链协议不断发展的领域中值得注意的贡献者。
基于计算的并行执行
区块链并行执行中的一个新兴范例是基于计算的模型,它描述了一种在共享环境中同时处理计算任务的方法。与状态访问和optimistic模型不同,基于计算的模型并不严格依赖于基于顺序内存的计算。相反,它按照高度并行的虚拟机的原理运行。这种设计促进了健壮和高效的并行执行。
Kindelia
Kindelia已经成为区块链中基于计算的并行执行模型中一个很有前途的解决方案。它由Higher Order 公司开发,基于称为Higher-Order 虚拟机 (HVM) 的独特运行时,可实现高效的并行计算。
Kindelia的创新是建立在一种被称为“交互网络”的新型计算模型上的,这一概念与支撑大多数现代计算机的图灵机模型有所不同。交互网络基于交互节点的图,每个节点都拥有一组重写的规则,这些规则规定了它如何与网络中的其他节点交互。计算是通过减少交互网络,并根据其重写规则系统地从网络中删除节点,直到达到最终状态来实现的。该模型允许并行进行计算,而不需要中央时钟来指示过程,因为节点在本地交互而无需任何全局协调。
这种模式的优点是多方面的。由于其固有的并行性,它促进了更快和更有效的计算,大大优于传统的顺序计算模型。此外,它还在计算机科学的各个领域开辟了一个应用领域。在区块链背景下,Kindelia作为第一个真正的并行虚拟机脱颖而出,实现了许多alt L1所渴望的目标。然而,由于它们依赖于基于图灵机的架构,这些竞争对手可能永远不会达到相同的并行化水平。
虽然Kindelia和HVM的理论基础有些超前,但实际意义很容易理解:提高区块链计算的速度、效率和安全性。通过Kindelia,我们见证了区块链技术的革命性飞跃,标志着这一变革领域不断发展的重要里程碑。
对并行执行的关注
当我们探索并行区块链的潜力时,重要的是要承认,虽然它们具有可观的可扩展性和速度优势,但它也带来了独特的挑战和潜在的缺点。经常提及的两个主要问题是增加中心化的可能性和高交易冲突率。
并行区块链将交易处理分布在众多节点之间,从而提高了交易处理吞吐量。然而,这种分布也可能导致权力集中在几个节点内,从而带来一定程度的中心化。这种中心化可能会破坏区块链的可信度和安全性,使其更容易受到攻击。此外,并行区块链会增加网络停机的风险。例如,由于交易请求过多,Solana网络在2021年9月经历了停机事件。这一事件强调了与扩展区块链网络相关的潜在风险,并强调了在不影响稳定性的情况下处理高交易量的解决方案的必要性。
交易冲突率是另一个重要问题。此比率指的是由于冲突而无法同时执行的交易的百分比。高冲突率可能导致并行区块链中的大量交易重做。根据Flashbots报告,2017年以太坊交易的冲突率约为35%。随着OpenSea和Uniswap等主要应用程序主导以太坊网络,冲突率可能会更高。
在optimistic执行的情况下,如果冲突率超过30%,则交易重做的数量会严重破坏管道。每次重做都会减慢交易处理速度,降低并行化带来的好处。因此,管理交易冲突率对于确保并行区块链的效率至关重要。
结论
区块链领域正在发生重大变化,因为它试图解决其设计中固有的可扩展性和效率问题。我们已经探讨了实现并行执行的各种方法,每种方法都有其独特的优势和挑战。基于状态访问的模型标志着克服区块链的顺序性质的第一步。optimistic执行虽然有希望,但也带来了冲突的风险,需要有效的冲突解决策略。分片通过将网络划分为更小的、可管理的部分,使我们更进一步,每个部分都能够独立处理事务。最后,基于计算的并行执行使用尖端的计算机科学来最大化节点性能和应用程序安全性。尽管存在挑战和潜在的问题,但这些模型显示出显著提高区块链技术性能的潜力。随着这些技术的不断发展和成熟,我们正站在区块链技术新时代的风口。
网友评论