区块链并行执行是什么?为什么下一代区块链并行执行很重要?区块链是虚拟机一种软件基础的计算模型,它运行在任何人都可以加入但极难被单一实体控制的分布式物理计算机网络之上。区块链的概念最初在中本聪2008年发表的比特币白皮书中被提出,作为支持比特币中加密安全点对点支付的核心基础设施。对于区块链而言,交易就像是社交媒体和互联网公司的日志;它们作为特定网络活动记录,关键的区别在于区块链上的交易是不可篡改的,通常也是公开可查询的。
一文读懂什么是区块链并行执行?
区块链上的交易涉及将数字资产从一个地址转移到分布式账本上的另一个地址,这一过程通过公钥密码学技术来保护。交易不仅可用于去中心化的点对点转账,还可用于各种认证和验证流程。
当一笔交易被发起时,比如Bob向Alice发送一些代币,Bob的交易会被广播到底层的区块链网络。随后,网络中的一群专门节点开始工作,验证并确认交易的合法性。一旦足够多的节点验证了交易内容,这笔交易就会被添加到一个区块中,并与其他用户交易一起被打包。当一个区块满了,它就会被添加到区块链上,这就是区块链名称的由来。此时,Bob的交易成为了一个安全且透明的账本的一部分,他和Alice都可以验证交易内容。
一般来说,所有区块链交易都包含了元数据,这些数据帮助操作和保护网络的节点识别并执行一组给定的指令和参数。每一笔交易都会有发送者输入的高层级数据,比如要转移的金额、目的地地址和用来确认交易的数字签名,以及自动创建和附加的各种低层级数据,尽管这些数据会根据网络和设计的不同而有所变化。
然而,交易执行前在网络层面背后所涉及的过程会根据区块链的设计而有所不同。
内存池(memorypool)简称mempool,是区块链设计中的一个常见特性,传统区块链网络如比特币和以太坊都存在内存池。Mempools本质上是缓冲区或等待室,用于存放那些尚未被添加到区块中执行的待处理交易。
为了更好地理解,我们可以概述一下在采用mempool的区块链上,交易的生命周期:
用户发起并签署一笔交易。
参与区块链网络的专门节点验证交易内容的合法性,并确保其包含适当的参数。
一旦验证通过,交易就会被路由到公共mempool,并与其他待处理交易一起等待打包。
最终,根据用户为交易支付的燃气费相对于mempool中其他交易的燃气费,用户的待处理交易会被选中,并与其他待处理交易一起形成区块链上的下一个区块。此时,交易状态将显示为成功。
在一定时间或区块生成阈值过后,区块本身将被最终确定,交易成为记录在区块链上不可篡改的日志,除非发生51%攻击,否则这是极难实现的。
值得注意的是,一些区块链,如Solana,并不使用mempool,而是直接将交易转发给区块生产者,以此来实现高速和高吞吐量,通过连续的区块生产。
让我们继续通过非mempool区块链上的交易生命周期来了解:
用户为其正在使用的应用程序发起并签署交易。
应用程序将交易信息路由到远程过程调用(RPC)服务器。
RPC提供商将交易发送给当前指定的区块生产者,以及接下来的三个生产者;这是在当前领导者无法及时执行交易时的预防步骤。Solana采用了时隙领导者计划,这有助于RPC更容易地路由交易。
区块生产者随后将已签名的交易发送给共识节点进行验证。
共识节点投票验证交易内容,一旦完成,交易状态就会被路由回RPC>应用程序>用户,显示为成功或失败。
与基于mempool的区块链类似,区块本身在一定时间或基于区块的阈值通过后会被最终确定。
较老的区块链,尤其是比特币和以太坊,采用交易的顺序执行机制。每笔添加到区块链上的交易都会引发网络状态的变化,而虚拟机(VM)被设计为仅为了安全起见一次只处理一个状态变化。
这导致了底层网络吞吐量的显著瓶颈,因为能够添加到区块中的交易数量受到限制,导致等待时间变长,交易成本的空前飙升,有时甚至使网络无法使用。此外,顺序执行模型使用硬件组件的效率相当低,因此无法从计算的突破性进展中受益,比如多处理器核心。
并行计算是计算机架构的关键组成部分,其起源可以追溯到20世纪50年代末,尽管其理念和理论甚至可以追溯到1837年。根据定义,平行计算指的是同时使用多个处理元素来解决一个操作,其中将一个更大更复杂的任务分解为更小的任务,以便比串行方式更有效地完成。
最初仅在高性能计算系统中实施,随着互联网时代对计算的需求呈指数级增长,以及过去几十年频率缩放限制的加剧,平行计算已经演变成当今计算机架构中的主导范式。
这种架构标准同样适用于区块链,只是计算机解决的主要任务是处理和执行交易,或者从智能合约A到智能合约B的价值转移,因此称为并行执行。
并行执行意味着,区块链不是按顺序处理交易,而是可以同时处理多个不冲突的交易。这可以大大增加区块链网络的吞吐量,使其更具有可扩展性,更有效地处理更高的活动负载和区块空间的需求。
为了简化理解,可以想象一下杂货店的结账效率:有多个通道供顾客结账,与只有一个通道供所有人使用相对比。
区块链中的并行执行旨在提高网络的速度和性能,尤其是在网络看到更高的流量和资源需求时。在加密生态系统的背景下,如果Bob想铸造最新的流行NFT系列,而Alice想购买她最喜欢的模因币,网络将同时为两个用户服务,而不会影响性能和用户体验。
虽然这可能看起来只是一个直观的生活质量特性,但并行执行所开启的网络性能提升为开发创新的用例和应用程序铺平了道路,这些应用程序可以利用低延迟和高容量,这本身为将下一批大规模用户群体引入加密生态系统奠定了基础。
尽管并行执行的概念相对直接,但底层区块链设计的细节影响了并行执行过程本身的表现。设计具有并行执行的区块链的最重要特性是交易能够访问其底层网络的状态,包括账户余额、存储和智能合约。
区块链上的并行执行可以被归类为确定性或乐观性。确定性并行执行,如Solana所采用的,本质上要求交易事先声明所有内存依赖关系,即它们事先想要访问的全局状态的哪些部分。虽然这一步为开发人员创造了额外的开销,但它允许网络在执行前对不冲突的交易进行排序和识别,创建了一个可预测和高效的优化系统。相反,乐观的并行执行结构是为了并行处理所有交易,基于没有冲突的假设。这使得底层区块链能够提供更快的交易执行速度,尽管如果发生冲突,可能需要之后的潜在重新执行。如果发现两个冲突的交易,即尝试访问相同网络状态的交易,系统可以重新处理和重新执行它们,无论是并行还是顺序。
以上就是区块链并行执行是什么?为什么下一代区块链并行执行很重要的全部内容,望能这篇区块链并行执行是什么?为什么下一代区块链并行执行很重要可以帮助您解决问题,能够解决大家的实际问题是非常好学习网一直努力的方向和目标。