并行区块链:设计原理及未来发展趋势
内容提要:区块链领域快速发展,投资人寻求新热点。区块链技术从1.0的比特币发展到2.0的以太坊,并催生了Web3、DeFi、NFT等多种创新。区块链面临效能问题,如不可能三角,但已有链上扩容(如分片、并行区块链)和链下扩容(如闪电网路)等多种解决方案。本文探讨区块链交易原理,涉及交易验证、记忆体池(mempool)和无记忆体池(如Solana)的区块链交易生命周期。
如果说以分散式记帐方式的比特币是区块链 1.0,那么,以分散式状态机的方式实现去中心化应用( dApp )的以太坊则是区块链 2.0。区块链网路从 2008 年发展到现在,不过才十几年的历史,但诞生了无数技术和商业模式的创新,从 Web3 基础设施到以 DeFi 、 NFT 、社交网路和 GameFi 等为代表的各种赛道,行业的蓬勃发展不断吸引新使用者参与,这反过来也对产品体验提出了更高的要求。
而区块链不可能三角(Blockchain Impossible Triangle),又称为区块链三难问题,根据当前的技术,目前还无法很好的在同一个系统中同时实现所有要素。
因此自诞生以来,人们提出了各种各样的解决方案试图解决效能问题。这些解决方案大致可以分为两类:一类是链上扩容方案,如分片( sharding )和并行区块链;一类是链下扩容方案,如闪电网路、侧链和 Rollups 等。
今天我们就以 Solana、Sei 和 Monad 等案例,来看看业内的并行区块链的设计原理和发展状况。
以下为正文:
区块链交易
区块链是虚拟机器,一种基于去中心化物理电脑网路的软体计算模型,任何人都可以加入,但对于任何单个实体来说,想要控制它是极其困难的。
区块链的概念首次在中本聪(Satoshi Nakomoto)2008 年撰写的比特币白皮书中出现,以作为实现比特币加密安全的点对点支付的核心基础设施。 交易对于区块链来说就像日志对于社交媒体和网际网路公司来说一样,它们作为该特定网路的活动记录,其关键区别在于区块链上的交易是不可变的,并且通常是公开可观察的。
但是交易到底是什么呢?
区块链上的交易是将数位资产从分散式帐本上的一个地址转移到另一个地址,通过使用公钥密码学进行安全保护,可以用去中心化的点对点转帐、也可以用于各种认证和验证过程来记录交易。
区块链交易的工作原理
当发起一笔交易时,例如 Bob 向 Alice 传送一些 Token,Bob 的交易会被分享到底层的区块链网路中。随后,网路上的专门节点群开始验证和确认该交易是否合法。 一旦足够多的节点验证了交易的内容,该交易就会与其他使用者的交易一起新增到一个区块中。当一个区块被填满后,它就会被新增到链上,因此得名为 「区块链」。 Bob 的交易现在成为了一个安全透明的帐本的一部分,他和 Alice 都可以验证其内容。
总的来说,所有区块链交易都包含元资料,指的是帮助执行和保护网路的节点识别和执行一组给定的指令和引数。 每个交易都有原始传送者输入的高阶资料,例如需要转移的金额、目标地址以及用于确认交易的数位签名,以及各种低阶资料,这些资料会自动建立并附加,不过具体资料的形式会根据网路和设计的不同而有所差异。
然而,最终,在交易执行之前,在网路层背后涉及的过程会根据区块链的设计而有所不同。
记忆体池
记忆体池(或称为 mempool)是传统区块链网路(如比特币和以太坊)中常见的一部分。 记忆体池实际上是一种缓冲区或 「等候室」,用于存放待处理的交易,这些交易尚未被新增到区块并执行。
为了更好地理解,我们可以描述一下在使用记忆体池的区块链上交易的生命周期:
- 使用者发起并签署一笔交易;
- 参与区块链网路的专门节点验证交易的内容,确保其合法,幷包含适当的引数;
- 一旦验证通过,该交易与其他待处理交易一起被发送到公共记忆体池中;
最终,根据交易支付的 gas 费用相对于记忆体池中其他交易的情况,我们使用者的待处理交易与其他待处理交易一起被选中形成区块链上的下一个区块。此时,我们的交易状态将显示为 「成功」。
经过一段时间或基于区块数的阈值后,区块本身被最终确认,并且该交易成为记录在区块链上的不可变日志,除非发生 51% 攻击,否则几乎无法被篡改,而进行这样的攻击是一项非常困难的任务。
无记忆体池(Solana)
需要注意的是, 一些区块链,如 Solana,并不使用记忆体池,而是直接将交易转发给区块生产者,以实现通过连续的区块生产来实现高速度和吞吐量。
在无记忆体池的区块链上交易的生命周期是怎么样的呢?一起来看看:
- 使用者为其正在使用的应用程式发起并签署一笔交易;
- 应用程式将交易资讯路由到远端过程呼叫(RPC)伺服器;
- RPC 提供者将交易传送给当前指定的区块生产者以及接下来的三个生产者;这是一种预防性措施,以防当前的领导者不能及时执行交易。Solana 采用了一个槽位领导者计划,有助于 RPC 更轻松地路由交易;
- 区块生产者将已签名的交易传送给共识节点进行验证;
共识节点投票验证交易的内容,一旦完成,交易状态将通过 RPC→ 应用程式→ 使用者的路径返回,状态为 「成功」 或 「失败」。
与基于记忆体池的区块链类似,区块本身在一定时间或达到基于区块的阈值后被最终确认。
顺序执行
较早的区块链,即比特币和以太坊,采用了顺序执行机制来处理交易 。每次新增到区块链的交易都会引发网路状态的变化,为了安全起见,虚拟机器结构被设计成一次只能处理一个状态变化。
这导致了底层网路吞吐量的严重瓶颈 ,因为可以新增到区块的交易数量受限,从而导致等待时间更长,交易成本出现前所未有的飙升,有时甚至使网路无法使用。 此外,顺序执行模型在使用硬体元件时效率较低 ,因此无法从计算方面的突破,如多个处理器核心,获得好处。
并行执行
什么是并行执行?
平行计算是电脑体系结构的关键组成部分,其起源可以追溯到 20 世纪 50 年代末,尽管其理论和构想甚至可以追溯到 1837 年。 按照定义,平行计算是指同时利用多个处理元素来解决一个操作的行为,其中将一个更大且更复杂的任务分解为较小的任务,比序列方式更高效地完成。
最初只在高效能运算系统中实施,随著网际网路时代对计算需求的指数增长,平行计算已经发展成为如今电脑体系结构中的主导正规化。
这种计算体系结构标准在区块链中也同样适用,只是电脑解决的主要任务是处理和执行交易,或者是从智慧合约 A 向智慧合约 B 的价值转移,因此称为并行执行。
并行执行意味著区块链不再按顺序处理交易,而是可以同时处理多个不冲突的交易。这可以极大地提高区块链网路的吞吐量,使其更具可扩展套件性和高效性,以处理更高负载的活动和对区块空间的需求。
举个简单的类比,考虑一家设有多个收银通道的杂货店的效率,与只有一个通道供所有顾客使用相比。
延伸阅读:并行EVM是什么、如何提升区块链网路效能?新兴的SVM能挑战以太坊地位?
为什么并行执行很重要?
区块链中的并行执行旨在提高网路的速度和效能效率,尤其是在网路面临更高的流量和资源需求时。在加密货币生态系统的背景下,并行执行意味著如果 Bob 想要铸造最新的热门 NFT 收藏品,而 Alice 想要购买她最喜欢的 Memecoin,网路将为两个使用者提供服务,而不会在效能和使用者体验方面有任何损失。
虽然这可能只是一个直观的生活品质特性,但通过并行执行解锁的网路效能改进为开发新的创新用例和应用提供了机会,这些用例和应用可以利用低延迟和大容量的特性,为将下一批大规模使用者引入加密货币生态系统奠定了基础。
并行执行是如何工作的?
虽然并行执行的前提相对简单,但底层区块链设计的细微差别会影响并行执行过程的具体实施。 设计具有并行执行功能的区块链最相关的特性是交易能够访问其底层网路的状态,包括帐户余额、储存和智慧合约。
区块链上的并行执行可以分为确定性和乐观性两种方式 。确定性并行执行,比如 Solana 等区块链采用的方法, 需要交易事先宣告所有的记忆体依赖关系,即它们事先希望访问全域性状态的哪些部分 。虽然这一步骤为开发人员增加了额外的开销,但更广泛地说,它允许网路在执行之前对非冲突的交易进行排序和识别,从而创建出一个可预测和高效的优化系统。相反, 乐观性并行执行的结构是为了同时处理所有交易,基于这样的假设,即不存在冲突 。这使得底层区块链能够提供更快的交易执行速度,尽管在冲突发生时可能需要重新执行。如果发现提交了两个冲突的交易,系统可以重新处理和重新执行它们,无论是并行还是顺序执行。
为了更好地理解这些设计细节的影响,通过研究当前推动并行执行前端的团队,可能会有所帮助。
如今并行执行的现状
为了更好地理解这些设计细节的影响,通过研究当前推动并行执行前端的团队,可以更好地分析并行执行的意义。
虚拟机器
Solana 虚拟机器(SVM)
Solana 是第一个围绕并行执行设计的区块链网路 ,灵感来自创办人 Anatoly Yakovenko 在电信行业的经验。Solana 旨在提供一个开发者平台,以物理学允许的速度执行,因此平行计算所释放出的速度和效率是一个简单而直观的设计选择。
实现 Solana 快速的速度和高吞吐量的关键组成部分是 Sealevel(一项技术),该网路的并行智慧合约执行时的环境。与基于 EVM 和 WASM 的环境不同, Sealevel 采用了多执行绪架构,意味著它可以同时处理多个交易,以符合验证节点核心的容量。
实现 Solana 并行执行的关键在于,当启用一个交易时,网路会分配一系列指令来执行该交易,具体包括要访问的帐户和状态以及要进行的更改,这是确定哪些交易是非冲突的并可以同时执行的关键,同时也使得试图访问相同状态的交易可以并发执行。 参考标签在机场行李系统中提供的效率。
Solana 还利用了自己订制的帐户资料库 Cloudbreak,用于储存和管理状态资料,以实现并发读写事务。Cloudbreak 经过优化以实现并行执行,通过水平扩展套件将状态资料分布和管理在多个节点上。
由于其并行架构,Solana 可以处理大量交易并且仍然快速执行,使交易几乎即时达到最终性。 Solana 目前平均每秒处理 2000 到 10000 个交易。此外,针对 SVM 的用例正在逐渐扩大,例如 Eclipse 团队正在推出旨在利用 SVM 作为执行环境的 Layer 2 基础设施。
并行 EVM
并行 EVM 描述了一种新的区块链执行环境,旨在将 Solana 和以太坊的设计优点结合起来,具有 Solana 的速度和效能以及以太坊的安全性和流动性。 通过并行处理交易而不是按照传统的 EVM 设计顺序执行,并行 EVM 使开发人员能够在高效能网路上构建应用程式,并能够利用与 EVM 流动性和开发工具的连线。
Sei Network
Sei Network 是一个与 EVM 相容的开源 Layer1 区块链,托管了许多围绕高效能构建的去中心化应用程式。 Sei 旨在为使用者和开发人员提供快速速度和低成本,并行执行是实现这种效能和使用者体验的关键组成部分。 目前,Sei 的主网提供了 390 毫秒的区块确认时间,并处理了超过 19 亿个交易。
最初,Sei 采用了确定性并行执行模型, 在该模型中,智慧合约事先宣告其所需的状态访问,以便系统能够同时执行非冲突的交易。 随著 V2 升级的开始,Sei 正在转向乐观性并行模型 ,这意味著所有交易在提交到网路后将被并行处理(执行阶段),然后将被与之前的交易进行冲突资讯验证(验证阶段)。如果存在两个或多个冲突的交易,即试图访问相同网路状态的交易,Sei 将识别冲突点,然后根据冲突的性质重新执行交易,可以是并行或顺序执行。
为了储存和维护交易资料,Sei 还将引入 SeiDB,这是一个订制资料库,旨在通过优化并行执行来改进 V1 的不足之处 。SeiDB 旨在降低储存冗余资料的开销,并实现高效的磁碟使用,以提升网路效能。 V2 减少了追踪和储存所需的元资料量,并引入了预写日志,以在发生故障时帮助进行资料恢复。
最后,Sei 最近还宣布推出了其 Parallel Stack,这是一个开源框架,用于使 Layer2 扩展套件解决方案(例如 Rollups)能够利用并受益于并行执行。
Monad
Monad 是一种即将推出的并行 EVM Layer1 区块链,为以太坊应用程式和基础设施提供完整的位元组码和 RPC 相容性。 通过一系列创新的技术实现,Monad 旨在提供比现有区块链更互动的体验,同时通过优化效能和可移植性来降低交易成本,具有 1 秒的区块时间和每秒高达 10,000 个 TPS 的最终性。
Monad 实现了并行执行和超标量流水线技术,以优化交易的速度和吞吐量。 类似于 Sei V2,Monad 将采用乐观执行模型,意味著网路开始同时执行所有传入的交易,然后分析和验证交易以查询冲突,并根据需要重新执行,最终目标是如果交易按顺序执行,结果将完全相同。
值得注意的是,为了与以太坊保持同步,Monad 按照线性顺序对一个区块中的交易进行排序,每个交易按顺序更新。
为了比当前以太坊客户端提供更高效地维护和访问区块链资料,Monad 建立了自己订制的 MonadDB,原生构建用于区块链。 MonadDB 利用先进的 Linux 核心功能进行高效的非同步磁碟操作,消除了同步输入 / 输出访问的限制。 MonadDB 提供非同步输入 / 输出(非同步 I/O)访问,这是实现并行执行的关键功能,系统可以在等待读取先前交易的状态时开始处理下一个交易。
举个简单的类比,考虑做一道复杂的餐(义大利肉酱面)所涉及的步骤:1)准备酱料,2)煮肉丸,3)煮意面。一个高效的厨师会先烧开煮意面的水,然后准备酱料的材料,然后将意面放入沸水中煮,然后煮酱料,最后再煮肉丸,而不是一次只做一步,完成一个任务后再进行下一步。
Move
Move 是一种程式语言,最初由 Facebook 团队于 2019 年为其已停用的 Diem 专案开发。 Move 旨在以安全的方式处理智慧合约和交易资料,消除其他语言本地攻击向量(如重入攻击)。
MoveVM 作为基于 Move 的区块链的本地执行环境,利用并行化来提供更快的交易执行速度和更高的整体效率。
延伸阅读:分析》Move 语言超越 Solidity 的时候到了吗?
Aptos
Aptos 是基于 Move 开发的 Layer1 区块链,由前 Diem 专案成员开发,它实现了并行执行,为应用程式开发人员提供了高效能环境。 Aptos 利用了 Block-STM,这是对软体事务性记忆体(STM)并发控制机制的修改实现。
Block-STM 是一个多执行绪并行执行引擎,可以实现乐观并行执行。 交易在区块内进行预排序和策略性排序,这是高效解决冲突并重新执行这些交易的关键。Aptos 进行的研究发现,使用 Block-STM 的并行化技术,理论上可以支援高达 160000TPS 的吞吐量。
Sui
与 Aptos 类似,Sui 是由前 Diem 专案成员开发的 Layer1 区块链,使用 Move 语言。 然而,Sui 使用了自定义的 Move 实现,改变了原始 Diem 设计中的储存模型和资产许可权。特别是,这使得 Sui 能够利用状态储存模型来表示独立的交易作为物件。每个物件在 Sui 的执行环境中具有唯一的 ID,通过这种方式,系统可以轻松识别非冲突的交易并并行处理它们。
与 Solana 类似,Sui 实现了确定性的并行执行,这要求交易预先宣告它们需要访问的帐户。
Movement Labs 是什么?
Movement Labs 正在构建一套开发者工具和区块链基础设施服务,以便开发者能够轻松地利用 Move 进行开发。 作为面向 Move 开发者的类似 AWS 的执行即服务提供商,Movement Labs 将并行化作为核心设计特性,以实现更高的吞吐量和更高的整体网路效率。 MoveVM 是一个模组化的执行环境,使区块链网路能够根据需要扩展套件和调整其事务处理能力,以支援日益增长的交易量,增强其并行处理和执行交易的能力。
Movement 还将推出 M2,这是一个与 EVM 和 Move 客户端相容的 ZK-rollup 解决方案。M2 将继承 Block-STM 并行化引擎,并有望实现每秒数万笔的吞吐量。
小结
当今并行系统面临的挑战
在开发并行区块链时,需要思考一些重要的问题和考虑因素:
- 为了通过并行执行实现更好的效能,网路做出了哪些权衡?
- 少量的验证者可以提高验证和执行速度,但这是否会损害区块链的安全性,使验证者更容易共谋对抗网路?
- 是否有大量的验证者共同部署?这是一种在加密和非加密系统中都常见的减少延迟的策略,但如果特定资料中心受到威胁,网路会发生什么变化?
- 对于乐观并行系统,重新执行无效交易的过程是否会在网路扩展套件时造成瓶颈?这种效率如何进行测试和评估?
从高层次来看,并行区块链面临著分类帐不一样的风险,即双重支付和交易顺序的变化(事实上,这是顺序执行的主要优势)。 确定性并行化通过为底层区块链上的交易建立内部标记系统来解决这个问题;实施乐观处理的区块链必须确保用于验证和重新执行交易的机制安全且可用,并且为了效能而进行的权衡可以合理实现。
未来展望和机遇
电脑的发展历史告诉我们,并行系统随著时间的推移往往比顺序系统更高效和可扩展套件。 后 Solana 时代的并行区块链的崛起凸显了这一概念在加密基础设施中同样适用。甚至以太坊创办人 Vitalik 最近也提到并行化是提高 EVM Rollup 可扩展套件性的潜在关键解决方案之一。
总体而言,加密 / 区块链的采用增长需要比当前系统更优化的系统,包括并行区块链。 Solana 最近的网路问题凸显了在开发并行区块链方面仍有很大改进空间。 随著更多团队寻求推动链上领域的边界,并吸引下一批大规模使用者和采用区块链本地应用和生态系统, 并行执行模型为构建能够轻松处理大规模网路活动的系统提供了直观的框架, 以达到与 Web2 公司相匹配的规模。
- 相关资讯
-
比特币突破63,000点,七月市场展望与矿机投资分析,AI技术成未来关键 - Robert李区块链日记2178
加密货币:未来世界活动的凭证与区块链技术展望
预见未来的先驱:罗伯特·卡恩谈互联网、人工智能和区块链
AI与区块链:融合创新,共塑未来
BORING币的官方是否在运营?未来发展趋势分析
以太坊VS Solana:区块链未来之争谁主沉浮
Solana:高性能区块链重塑未来
以太坊创始人Vitalik Buterin倡议网络重大革新,引领区块链未来趋势!
比特币BTC供应紧张,山寨币陷熊市:实体与AI结合揭示未来,AI音乐惊艳体验——Robert李区块链日记2167
比特币、以太坊:未来两年投资热门?创新挑战与规则敬畏并存!BSF圣经学习小组组长任命,Robert李区块链日记2147更新