您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。 [国盛证券]:区块链行业专题研究:并行的区块链,技术路线、硬件新机遇 - 发现报告

区块链行业专题研究:并行的区块链,技术路线、硬件新机遇

信息技术 2024-06-23 国盛证券 记忆待续
报告封面

早期区块链的共识机制(尤其是交易的顺序执行特点)降低了扩展性、限制了节点算力的发挥。区块链并行执行能够显著提升了网络的吞吐量和扩展性,目前已成为一个重要的发展方向。并行执行下,如何处理交易冲突又产生了确定性并行和乐观并行等技术方向;另外,交易执行与共识解耦、流水线模型以及链下计算都在挖掘并行执行的效能,使得单节点服务器的算力性能得到了发挥的空间。这些努力,又进一步使得硬件性能(如GPU的优秀并行处理能力)成为区块链发展的又一推动力。 并行执行的好处是显而易见的,核心是如何确保并行执行不会降低系统共识。一旦同时执行的两笔或多笔交易是互相冲突的,那需要重新处理这些交易,这是区块链并行执行面临最重要的问题。如何处理交易冲突又产生了确定性并行(deterministic parallelism)和乐观并行(optimisticparallelism)等技术方向。另外,交易执行与共识解耦、流水线模型都在挖掘并行执行的效能。链下计算的思路又进一步释放了限制,使得单节点服务器的算力性能得到了发挥的空间。这些努力,也许会使得算力性能成为区块链发展的又一推动力。 Move语音生态、Monad、Nervos等在不同技术路线和框架下进行了并行执行的探索。在交易执行方面,Move的并行处理相较Solidity(以太坊的编程语言)带来区块链扩展性的极大提升。并行执行(PE)通过识别独立交易并同时执行,这极大提升了区块链的扩展性。Monad采用流水线模型来提升并行执行的性能,流水线模型——顾名思义,是一种将任务分解为几个小任务,然后在这些小任务间实现并行处理——这像极了流水线。AO是构建于AR上的一台“超并行计算机”,提供去中心化信任的的协作计算范式,更为关键的是,由于上面提到的类似SCP的计算模式,AO的计算性能不受任何实际规模限制——相对于一致共识的区块链网络来说,从另外一个角度打破了不可能三角。它将区块链网络的去中心化信任的优势与传统计算机的高性能和可扩展性相结合,相当于解放了每个计算节点的算力。Nervos CKB继承了比特币UTXO的架构并创建了Cell Model(细胞模型),这是一种作为状态存储的通用UTXO模型,保持了UTXO的简单性和一致性。在CKB中,所有状态都存储在Cell中,计算在链下完成,由节点进行交易验证、上链。 区块链并行执行将算力和共识解耦,解放了算力的应用场景,推动了区块链与AI的融合,因此其对硬件的新需求是一个新的焦点。GatlingX团队推出GPU-EVM,利用图形处理单元(GPU)的强大功能并行运行以太坊虚拟机。 利用现代GPU在并行处理和通用计算方面卓越的能力,GPU-EVM并不是如之前那样按照交易内存池一个一个地顺序地执行任务,而是可以同时处理许多任务,提升交易速度和扩展性。借助GPU-EVM强大的能力,用于训练与EVM交互的AI模型,对区块链扩展(包括L1和L2层)有着突破性的意义。 ApusNetwork使用类似于乐观汇总系统的交互式欺诈证明协议,使区块链系统能够执行AI模型推理。基于AO和Arweave的架构,可以很容易地实现乐观汇总系统下的交互式欺诈证明协议,它可以在AO上实现TrustlessAI模型训练。由于Apus Network并非专门为智能合约设计,因此它不需要被WebAssembly(Wasm)的设计限制用于AI推理,在AO上实现Trustless AI的目标。 风险提示:区块链技术研发不及预期;监管政策的不确定性;Web3.0商业模式落地不及预期。 1.核心观点 早期区块链的共识机制(尤其是交易的顺序执行特点)降低了扩展性、限制了节点算力的发挥。区块链并行执行能够显著提升了网络的吞吐量和扩展性,目前已成为一个重要的发展方向。并行执行下,如何处理交易冲突又产生了确定性并行和乐观并行等技术方向;另外,交易执行与共识解耦、流水线模型以及链下计算都在挖掘并行执行的效能,使得单节点服务器的算力性能得到了发挥的空间。这些努力,又进一步使得硬件性能(如GPU的优秀并行处理能力)成为区块链发展的又一推动力。 本文对区块链并行执行模式进行了分类、分析,对硬件算力和区块链AI模型训练进行了展望。 2.并行的区块链:扩展性提升是永恒的焦点 区块链的工作原理需要分散的节点达成共识、确认,这必然带来效率的下降,所以在处理任务(转账或执行合约程序)的时候自然不如中心化节点快,这是一个典型的不可能三角问题(安全、可扩展性、去中心化不可同时最优)。站在提升扩展性的角度,二层网络(Layer2,L2)是一种广泛采用的方案,但努力提升一层(Layer1)区块链的扩展性依旧是行业永恒的焦点——从比特币诞生起至今都是如此。 较早的区块链,尤其是比特币和以太坊,采用顺序执行机制进行交易。每笔提交到区块链上的交易都会成为所有节点需要共享、更新的状态,如以太坊虚拟机(EVM)每次只处理一个状态变化,确保网络的安全与一致共识——然后将处理好的多笔交易打包写入区块。这是很容易理解的,毕竟需要全网众多计算机节点对每一个区块都达成一致共识,只能部分牺牲性能,就好比众人投票,也要按照顺序一项一项事项来做决议。 图表1:以太坊20040195高度区块内交易情况 按照这种模式,于是产生了交易内存池(Mempool),即那些还未被全网共识确认的交易只能进入交易池排队,按照顺序(通常是市场竞价决定)一个个等待被确认后打包写入区块。 这是一种典型的串行模式,显然这是限制区块链性能的一个因素。 图表2:以太坊交易池(Mempool)排队情况(截至2024年6月7日) 与串行对应的是并行计算(执行),即将多个任务同时处理,更进一步的,通过将复杂的任务细分成更小的任务模块,以达到优于串行模式的工作性能。并行执行的模式使得区块链能够同时处理多个互不冲突的交易,这大幅提升了网络的吞吐量和扩展性。 这里举一个Taproot的案例。我们都知道,比特币Taproot升级是激活隔离见证(SegWit)以来经历的最重要的升级。Taproot旨在进一步提高网络的隐私性和效率。Taproot升级最显著的变化是允许将多个复杂的签名(例如多重签名钱包)一起聚合和验证,而不是单独进行验证。通过聚合签名,网络的性能更快、费用更低,且节省区块空间。Taproot通过增强用户的隐私性和灵活性,提供了一种执行比特币交易的新方式,将极大地提高比特币的可扩展性。这显然也是一种并行执行的思路。 图表3:通过聚合签名、Taproot提升了比特币的扩展性 并行执行的好处是显而易见的,核心是如何确保并行执行不会降低系统共识。一旦同时执行的两笔或多笔交易是互相冲突的(最简单的,如用户A将同一笔资产同时转给其他多个用户,这会造成“双花”),那需要重新处理这些交易,这是区块链并行执行面临最重要的问题。如何处理交易冲突又产生了确定性并行(deterministic parallelism)和乐观并行(optimisticparallelism)等技术方向。 另外,交易执行与共识解耦、流水线模型都在挖掘并行执行的效能。链下计算的思路又进一步释放了限制,使得单节点服务器的算力性能得到了发挥的空间。这些努力,也许会使得算力性能成为区块链发展的又一推动力。 图表4:并行执行的市场格局 3.区块链并行执行 3.1.Move生态提升扩展性:并行处理、执行与共识解耦 3.1.1Block-STM引擎:并行执行带来扩展性提升 在交易执行方面,Move的并行处理相较Solidity(以太坊的编程语言)带来区块链扩展性的极大提升。并行执行(PE)通过识别独立交易并同时执行,这极大提升了区块链的扩展性。Solidity并不支持并行处理,如以太坊上的交易按顺序执行,其他交易置于暂停(排序)状态——因此产生了mempool(内存池)和MEV市场。对于两个不关联的交易,如果能够并行处理,则高效且可扩展。 如基于Move的公链Aptos,利用Block-STM(Software Transactional Memory)引擎实现并行处理,带来性能的明显提升。其工作理念类似以太坊二层网络的Optimistic Rollup(乐观汇总),交易在区块内是预先排序的,先假设交易之间是没有依赖关系,执行并行交易。执行后验证所有交易结果,如果发现一个交易访问了由先前交易修改的内存位置,则该交易无效——因为很明显两个交易是相关的。刷新交易的结果,然后重新执行交易。重复该过程,直到区块中的所有交易都被执行。Block-STM的特点是支持比较复杂的事物,适合多种应用负载工况。 如下图,将Block-STM与区块按交易顺序执行进行了比较。每个区块包含一万笔交易,账户数量决定了区块处理的交易的竞争复杂程度。在低竞争和高竞争情况下,Block-STM比顺序执行的方案实现了8-16倍的加速。当交易任务是顺序的情况下,Block-STM的消耗也更小。由此可见,Move带来的并发性能是非常突出的。 图表5:并行执行的市场格局 由此可见,在L2(二层网络)之前,主链的并行处理能力亦是公链扩容积极考虑的方案。 这为Move生态带来更多的可能性。 3.1.2交易执行与共识解耦 交易流程批量化执行进一步挖掘扩展性潜力。在Move语言并发执行的基础上,在交易执行流程方面,Aptos尝试进一步挖掘并发执行的吞吐量和扩展性,其区块链上的交易处理被分阶段并行处理——也就是说,交易执行流程被分为几个阶段,每个阶段都是完全独立且单独可并行化、批量化——如果说Move的并行处理相当于把Solidity的一条包装流水线变成了并行的N条流水线,Aptos在此基础上将N条流水线进一步细化分工,包装工序每个阶段都互相独立、在阶段层面进一步批量化处理。带来性能优化的同时,可以在客户端本地快速执行交易,降低验证节点的压力,这种特点带来了更多的互动和灵活性。如在一批交易中,一些特定的、持久有效的交易可以立即提交,且可以在客户端本地执行,而不必等远端的验证节点执行。就好比包装工序中一些确定的、持久有效的流程(比如印logo),可以在流水线排队的时候外部独立进行。 需要说明的是,这里提到的处理方式,与Aptos将共识协议与交易执行分开的特点有关,这将在后面详述。Aptos这种批量化、模块化的并行执行为系统的升级和新版本发布带来更多的灵活性、缩短系统演进周期。因为更新可以仅仅针对单个模块进行,此外这种模块化特点将验证者节点扩展更多的客户端节点算力,这些非验证节点资源可以提供额外的计算、网络和存储资源。 图表6:Aptos区块链在交易周期内每个阶段都是独立、可并行的 Aptos的共识协议本质上是最终同步的平行执行引擎,将相互依赖的执行层和共识层解耦,从而实现扩展。上面提到,交易传播、交易执行、存储和账本认证等环节都是批量、独立运行的,基础便是执行层和共识层解耦。在交易传播过程中,交易被每个验证者分组为批次,而在共识过程中,批次再次被合并为区块——这其中与协议无关的交易流程可以不必通过一般区块链的节点验证过程(根据不可能三角,共识过程会降低效率),极大提升了效率。将这些非协议相关的任务从共识阶段解耦出来,进行排序将消耗极小的算力资源(仅限区块元数据和证明,如前区块哈希值、梅克尔树数据、时间戳等),从而实现交易高吞吐量和最小化延迟。共识协议接受节点提议的交易顺序,在关联性的甄别后,非协议相关的交易验证可以在远离关键路径的不同协议中执行交易,验证节点会对最终交易排序和执行结果达成一致。通过消除共识和执行之间的相互依赖性,可以实现更高的吞吐量和延迟。 在批量化执行方面,执行、存储和账本认证阶段也分批工作,以便在重新排序、减少操作(例如,重复计算或签名验证)和并行执行之间权衡机会。 图表7:Aptos区块链的交易传播和元数据排序互相独立 3.2.Monad:流水线模型挖掘并行执行潜力模型挖掘并行执行潜力 Monad是一个兼容EVM的并行区块链,较大程度兼容以太坊应用程序(意味着以太坊上的Dapp程序可以几乎无缝地部署到Mona