探索并行区块链的未来:前沿项目、挑战与机遇
Shoal Research 报道:Paul Timofeev | 翻译:善欧巴,金色财经
区块链交易解析
1.0 区块链交易简介
区块链,作为分布式计算机网络上的软件计算模型,向世人展现着其虚拟机的奥秘。自中本聪在 2008 年的比特币白皮书中提出该概念以来,区块链已成为比特币实现安全点对点支付的核心基础设施。交易在区块链中扮演着记录网络活动的角色,其不可篡改的特性使其与传统社交媒体和互联网公司的日志记录有着显著区别。
那么,何谓交易?
区块链上的交易指的是使用公钥密码学技术,将数字资产从一个地址转移到另一个地址的过程。这些交易可用于去中心化点对点转移,也可用于各种身份验证和核查过程。
1.1 区块链交易的运作方式
当进行交易时(例如,Bob 向 Alice 发送一些代币),Bob 的交易会被广播到整个区块链网络。接下来,网络中的专用节点集群开始验证和确认交易的合法性。一旦有足够数量的节点验证了交易内容,该交易就会与其他用户的交易一起添加到一个区块中。一旦区块填满,它将被添加到链上,因此得名“区块链”。Bob 的交易现在成为安全透明账簿的一部分,他和 Alice 都可以核实其内容。
总体而言,所有区块链交易都包含一些元数据,这些元数据有助于网络节点识别和执行给定指令和参数。每个交易包含原始发送者输入的高级数据,如要转移的金额、目标地址和确认交易的数字签名,以及各种自动生成和附加的低级数据,尽管这些数据会因网络和设计而异。
然而,在交易执行之前,涉及网络层的幕后过程因区块链设计而异。
1.1.1 内存池 (Mempool)
内存池是区块链设计的一个常见特征,在传统区块链网络如比特币和以太坊中有所体现。内存池实际上是一个缓冲区或“等待室”,用于存放尚未添加到区块并执行的待处理交易。
为更好理解,我们可以概括出区块链上交易的生命周期:
用户发起并签署一笔交易。
专用节点参与验证交易内容的合法性,并设置适当的参数。
验证后,交易与其他待处理交易一同进入公共内存池。
最终,根据交易支付的 gas 费用相对于内存池中其他交易的费用,用户的待处理交易将与其他待处理交易一同被选中,形成区块链上的下一个区块。此时,我们的交易状态将显示为“成功”。
在经过一定时间或基于区块的阈值后,区块本身会被最终确认,交易成为记录在区块链上的不可变日志,除非发生 51% 攻击(这在其他情况下极其难以实现),否则该交易将无法被篡改。
无内存池方案 (Solana)
据悉,并非所有区块链均采用内存池设计。以 Solana 区块链为例,其以持续生成区块的方式实现了高速吞吐量,不再使用内存池,而是直接将交易转发至区块生成者。
让我们来看一下无内存池区块链上的交易生命周期:
用户发起并签署他们正在使用的应用程序的交易。
应用程序将交易信息路由至远程过程调用 (RPC) 服务器。
RPC 提供者将交易发送至当前指定的区块生成者以及接下来的三个生成者。 这是一种预防措施,以防当前领导者无法及时执行交易。Solana 采用槽位领导者调度程序,协助 RPC 更轻松地路由交易。
随后,区块生成者将签名的交易发送至共识节点进行验证。
共识节点对交易内容进行投票验证,完成后,交易状态会路由回 RPC > 应用程序 > 用户,显示为“成功”或“失败”。
与基于内存池的区块链类似,经过一定时间或基于区块的阈值后,区块本身会被最终确认。
顺序执行
较早的区块链,例如比特币和以太坊,采用顺序执行机制来处理交易。每个添加到区块链的交易都会引发网络状态的改变,为了安全起见,虚拟机被设计为一次只处理一个状态更改。
这导致了底层网络吞吐量的瓶颈,因为可以添加到区块中的交易数量受到限制,从而导致更长的等待时间和交易成本前所未有的飙升,有时甚至会使网络无法使用。此外,顺序执行模型利用硬件组件的效率低下,因此无法从计算突破(例如多处理器内核)中受益。
并行执行
2.
``` ```html什么是平行执行?
As a software computing model on the distributed computer network, blockchain shows the mystery of its virtual machine to the world. Since Satoshi Nakamoto put forward the concept in the white paper on Bitcoin in, blockchain has become the core infrastructure for Bitcoin to realize secure peer-to-peer payment. The transaction in blockchain plays a role in recording network activities, and its unchangeable characteristics make it a journal with traditional social media and Internet companies. There is a significant difference between the records, so what is the transaction on the blockchain refers to the process of transferring digital assets from one address to another by using public key cryptography technology. These transactions can be used for decentralized point-to-point transfer and various authentication and verification processes. The operation mode of blockchain transactions, such as sending some tokens, will be broadcast to the whole blockchain network, and then the private node cluster in the network will begin to verify and confirm the legitimacy of the transactions. Once a sufficient number of nodes have verified the content of the transaction, the transaction will be added to a block together with other users' transactions. Once the block is full, it will be added to the chain, so the transaction named blockchain is now part of the safe and transparent account book. He and he can verify its content. Generally speaking, all blockchain transactions contain some metadata, which helps network nodes to identify and execute given instructions and parameters. Each transaction contains high-level data input by the original sender. The amount of money moved, the target address, the digital signature to confirm the transaction, and all kinds of automatically generated and attached low-level data, although these data will vary with the network and design, the behind-the-scenes process involving the network layer before the transaction is executed varies with the blockchain design. The memory pool is a common feature of blockchain design, which is reflected in traditional blockchain networks such as Bitcoin and Ethereum. The memory pool is actually a buffer or waiting room for storing pending transactions that have not been added to the block and executed. For better understanding, we can summarize the life cycle of a transaction on the blockchain. A user initiates and signs a transaction, and the dedicated node participates in verifying the legality of the transaction content and sets appropriate parameters. After verification, the transaction enters the public memory pool together with other pending transactions, and finally, according to the fees paid by the transaction relative to the fees of other transactions in the memory pool, the user's pending transactions will be selected together with other pending transactions to form the next block on the blockchain. At this time, our transaction status will be obvious. After a certain period of time or a threshold based on the block, the block itself will be finally confirmed, and the transaction will become an immutable log recorded on the blockchain. Unless an attack occurs, which is extremely difficult to achieve in other cases, the transaction will not be tampered with. It is reported that not all blockchains adopt the memory pool design. Take the blockchain as an example, it realizes high-speed throughput by continuously generating blocks. Instead of using the memory pool, the transaction will be directly forwarded to the block generator. Let's do it. Take a look at the transaction life cycle on the blockchain without memory pool. The transaction application initiated by users and signed the application they are using routes the transaction information to the remote procedure call server provider and sends the transaction to the currently designated block generator and the next three generators. This is a preventive measure to prevent the current leader from executing the transaction in time. The slot leader scheduler is used to help route the transaction more easily, and then the block generator sends the signed transaction to the total. After the transaction is verified by the consensus node, the transaction status will be routed back to the application, and the user will show it as success or failure. Similar to the blockchain based on memory pool, the blockchain itself will be finally confirmed after a certain period of time or based on the threshold of the block. The earlier blockchain, such as Bitcoin and Ethereum, adopts the sequential execution mechanism to process the transaction, and each transaction added to the blockchain will cause the change of the network status. For security reasons, the virtual machine is designed to Only one state change is processed at a time, which leads to the bottleneck of the throughput of the underlying network, because the number of transactions that can be added to the block is limited, which leads to longer waiting time and unprecedented soaring transaction costs, and sometimes even makes the network unable to use the sequential execution model, which makes the use of hardware components inefficient, so it cannot benefit from computational breakthroughs, such as parallel execution in multiprocessor cores. 比特币今日价格行情网_okx交易所app_永续合约_比特币怎么买卖交易_虚拟币交易所平台
并行计算是计算机架构的关键组件,其起源可以追溯到 1950 年代后期,尽管其思想和理论可以追溯到 1837 年。根据定义,并行计算是指利用多个处理单元同时解决一个操作的行为,其中一个更大更复杂的任务被分解成更小的任务,以比串行方式更有效地完成。
最初仅在高性能计算系统中实现,并行计算已经演变成当今计算机架构的主导范例,因为互联网时代对计算的需求呈指数级增长,这在过去几十年中由于频率扩展的限制而更加恶化。
这种架构标准在很大程度上也适用于区块链,只是计算机解决的主要任务是处理和执行交易,或者将价值从智能合约 A 转移到智能合约 B,因此称为平行执行。
平行执行意味着区块链可以同时处理多个非冲突的交易,而不是串行处理交易。这可以大大提高区块链网络的吞吐量,使其能够更具可扩展性并更有效地处理更高负载的活动和对区块空间的需求。
一个更简单的类比是,考虑一个杂货店有多个结账通道供购物者结账与只有一个通道的效率区别。
为什么平行执行很重要?
区块链中的并行执行旨在解锁网络速度和性能的效率,尤其是在网络流量和资源需求增加的情况下。在加密生态系统中,并行执行意味着如果 Bob 想铸造最新流行的 NFT 系列,而 Alice 想购买她喜欢的迷因币,那么网络将同时为这两个用户提供服务,而不会影响任何性能和用户体验。
虽然这看起来只是一个直观的提升生活质量的功能,但并行执行所带来的网络性能提升为开发新型创新用例和应用程序铺平了道路,这些用例和应用程序可以利用低延迟和大容量,这本身就为将下一批用户群体引入加密生态系统奠定了基础。
并行执行如何运作?
虽然并行执行的前提相对简单,但底层区块链的设计细微差别会影响并行执行过程本身的执行方式。设计具有并行执行功能的区块链最相关的特性是交易访问其底层网络状态的能力,包括账户余额、存储和智能合约。
区块链上的并行执行可以分为确定性执行和乐观性执行两种。确定性并行执行,例如 Solana 区块链所采用,本质上要求交易预先声明所有内存依赖关系,即它们希望预先访问全局状态的哪些部分。虽然此步骤会给开发人员带来额外的开销,但从更广泛的意义上来说,它可以让网络在执行之前对非冲突的交易进行排序和识别,从而创建一个可预测且高效的优化系统。相反,乐观性并行执行旨在并行处理所有交易,并假设不存在冲突。这使底层区块链能够更快地执行交易,但代价是在发生冲突后可能需要重新执行。如果发现提交了两个冲突的交易,系统可以重新处理并重新执行它们,可以并行执行或顺序执行。
为了更好地理解这些设计细节的影响,可以通过分析当今引领并行执行前沿的团队来更好地了解并行执行。
并行执行的现状
为了更好地理解这些设计细节的影响,可以通过分析当今引领并行执行前沿的团队来更好地了解并行执行。
3.
``````htmlSolana 虚拟机 (SVM) 加速区块链网络效率
Solana 以其独特的并行执行设计成为首个在区块链网络中应用并行计算的项目。这一设计灵感源自创始人 Anatoly Yakovenko 在电信行业的经验。Solana 旨在为开发者提供一个高效快速的平台,因此并行计算成为了一项简单而直观的设计选择。
Solana 实现高速高吞吐量的关键在于 Sealevel。Sealevel 是网络的并行智能合约运行时环境。与基于 EVM 和 WASM 的环境不同,Sealevel 采用了多线程架构,因此能够根据验证器核心的容量同时处理多个交易。
Solana 实现并行执行的关键在于,当交易启动时,网络会为该交易分配一个指令列表,指明要访问哪些账户和状态,以及要进行哪些更改。这一步是确定哪些交易是非冲突且可以同时执行的关键,同时也允许尝试访问相同状态的交易并发执行。这就好比机场值机托运行李系统中标签的效率提升一样。
Solana 还利用其自己的定制账户数据库 Cloudbreak 来存储和管理状态数据,以实现事务的并发读写。Cloudbreak 针对并行执行进行了优化,可水平扩展以跨多个节点分发和管理状态数据。
由于其并行架构,Solana 能够处理大量交易并且仍能够快速执行,使得交易接近即时确定性。Solana 目前平均每秒处理 2,000 到 10,000 笔交易 (TPS)。此外,SVM 的用例正在缓慢但稳步扩大,Eclipse 等团队正在推出 Layer 2 基础设施,旨在利用 SVM 作为执行环境。
并行 EVM:将速度与安全性相结合
并行 EVM 描述了一种新的区块链执行环境,旨在将 Solana 的速度和性能与以太坊的安全性和流动性结合起来。通过并行处理交易而不是像传统 EVM 设计那样顺序处理,使得开发者能够在高性能网络上构建应用程序,并且能够利用与 EVM 流动性和开发者工具的连接。
Sei Network:高性能去中心化应用的支撑
Sei Network 是一个兼容 EVM 的开源 Layer 1 区块链,可承载各种围绕高性能构建的去中心化应用程序。Sei 的构建目标是为用户和开发者提供低成本的高速交易,而并行执行是实现此性能和用户体验的关键组件。目前,Sei 的区块确认时间为 390 毫秒,在其太平洋主网上已经处理了超过 19 亿笔交易。
最初,Sei 采用了确定性并行执行模型,其中智能合约需要预先声明它们所需的状态访问,以便系统能够同时运行非冲突的交易。随着其 V2 升级的开始,Sei 正在转向采用乐观并行模型。这意味着所有交易在提交到网络 (执行阶段) 后将并行处理,然后将被审查是否存在与先前交易冲突的信息 (验证阶段)。如果存在两个或多个冲突交易,即尝试访问相同网络状态的交易,Sei 会识别冲突点,并根据冲突的性质并行或顺序地重新运行这些交易。
Sei 引入 v2 版本,带来全新科技革新
近日,为了更好地存储和维护交易数据,Sei 公司推出了全新的 Sei v2 版本,并宣布引入 SeiDB,这是一个定制数据库,旨在通过并行执行优化来改善 v1 版本中的缺陷。SeiDB 的推出旨在降低存储冗余数据和维护高效磁盘使用的成本,以提升网络性能。v2 版本减少了对跟踪和存储所需元数据的量,并且支持预写日志,有助于在系统崩溃时进行数据恢复。
此外,Sei 公司还宣布推出其全新的并行堆栈 (Parallel Stack)。这一开源框架的推出旨在为 Layer 2 扩展解决方案(例如 Rollup)提供并行执行的能力,从而使其能够得到更好的发展和应用。
Monad:下一代区块链技术即将问世
Monad 是即将推出的并行 EVM Layer 1 区块链,旨在为以太坊应用程序和基础设施提供完整的字节码和 RPC 兼容性。通过一系列创新的技术实现,Monad 旨在提供比现有区块链更具交互性的体验,同时通过优化性能和可移植性来保持较低的交易成本,实现 1 秒的区块时间和高达 10,000 TPS 的确定性。
Monad 通过实施并行执行和超标量流水线来优化交易的速度和吞吐量。类似于 Sei v2,Monad 将采用一种乐观执行模型,这意味着网络会开始同时执行所有传入的交易,然后分析和验证交易以查找冲突并相应地重新执行,最终目标是与按顺序执行交易的结果相同。
需要注意的是,为了保持与以太坊的同步,Monad 将按线性顺序排列区块中的交易,确保每个交易按顺序更新。
为了更有效地维护和访问区块链数据,Monad 创建了专有的 MonadDB,这是为区块链原生构建的数据库。MonadDB 利用高级 Linux 内核功能实现了高效的异步磁盘操作,消除了同步输入/输出访问的限制。MonadDB 提供异步输入/输出 (async I/O) 访问,这是启用并行执行的关键功能,系统可以在等待读取先前交易的状态时开始处理下一个交易。
一个简单的类比是烹饪一顿多方面的饭菜(例如意大利面配肉丸)。步骤包括 1)准备酱汁,2)烹饪肉丸,3)烹饪意大利面。一个高效的厨师会首先为意大利面烧水,然后准备酱汁的配料,然后将意大利面扔进沸水中,然后烹饪酱汁,最后是肉丸,而不是一次做完每一步,完成一项任务后再继续下一项。
Move:安全智能合约的未来
Move 是一种编程语言,最初由 Facebook 团队在 2019 年为其现已终止的 Diem 项目开发。Move 旨在以安全的方式处理智能合约和交易数据,消除其他语言(例如重入攻击)中常见的攻击向量。
MoveVM 是 Move 型区块链的原生执行环境,利用并行化来提供更快的交易执行速度和更高的整体效率。
``````html区块链新技术介绍
1 Aptos
Aptos是一种基于Move的Layer 1区块链,由Diem项目前成员开发,旨在为应用程序开发人员提供高性能环境。Aptos采用了Block-STM,这是一种经过修改的软件事务内存(STM)并发控制机制。
Block-STM是一个支持乐观并行执行的多线程并行执行引擎。交易在区块内预先排序并进行战略性排序,这对于有效解决冲突和重新执行这些交易至关重要。Aptos的研究表明,理论上可以使用Block-STM的并行化支持高达160K TPS。
3.3.2 Sui
Sui与Aptos类似,是一种由Diem项目前成员开发的Layer 1区块链,采用Move语言。但是,Sui使用了Move的自定义实现,改变了原始Diem设计中的存储模型和资产权限。具体而言,这使Sui能够利用状态存储模型将独立交易表示为对象。每个对象在Sui的执行环境中都有一个唯一的ID,这样系统就可以轻松识别非冲突的交易并并行处理它们。
类似于Solana,Sui实施确定性并行执行,要求交易预先声明它们需要访问哪些账户。
3.3.3 Movement Labs
Movement是一家正在构建一套开发者工具和区块链基础设施服务的公司,旨在使开发人员能够轻松享受构建Move应用的优势。Movement作为类似于AWS的执行即服务提供商为Move开发人员提供服务,并将其并行化作为核心设计功能,以实现更高的吞吐量和更大的整体网络效率。MoveVM是一个模块化的执行环境,使区块链网络能够根据需要扩展和调整其交易处理能力,以支持越来越多的交易量,从而增强其并行处理和执行交易的能力。
Movement还将推出M2,这是一个与EVM和Move客户端都互操作的ZK rollup。M2将继承Block-STM并行化引擎,预计因此能提供数万TPS的吞吐量。
总结
``````html1. 当今并行系统的挑战
在开发平行区块链的过程中,需要思考一些重要的问题和注意事项:
网络为了通过并行执行获得更好的性能而做出了哪些权衡?
更少的验证节点可以带来更快的验证和执行速度,但这是否会损害区块链的安全性,因为验证节点更容易串谋攻击网络?
是否有大量的位置相同的验证节点?这在加密和非加密系统中都是一种常用的最小化延迟的策略,但是如果那个特定的数据中心被攻破,网络会发生什么?
对于乐观并行系统来说,随着网络扩展,重新执行无效交易的过程是否会成为瓶颈?这种效率是如何测试和评估的?
总而言之,平行区块链面临着账本一致性问题的风险,例如双重花费和交易顺序的改变(这实际上是顺序执行的主要优点)。确定性并行化通过为底层区块链上的交易创建内部标签系统来解决这个问题。实施乐观处理的区块链必须确保它们用来验证和重新执行交易的机制是安全和有效的,并且为性能做出的权衡是可以合理实施的。
4.2 未来展望/机遇
计算机的历史告诉我们,与顺序系统相比,并行系统往往随着时间的推移变得更加高效和可扩展。Solana 之后兴起的平行区块链的崛起强调了这个概念也适用于密码基础设施。甚至 Vitalik 最近也暗示了并行化是提高 EVM rollup 可扩展性的潜在关键解决方案之一。从广义上讲,加密/区块链 adoption 的增长要求系统比当前可用的系统更加优化,其中包括平行区块链。Solana 最近的网络困境凸显了平行区块链开发存在巨大改进空间。随着越来越多的团队寻求突破链上应用的前沿,并将下一批用户群体和采用引入到区块链原生应用程序和生态系统中,并行执行模型提供了一个直观的框架,可以用来构建能够高效处理大量网络活动、轻松达到与 Web2 公司相当规模的系统。
注册有任何问题请添加 微信:MVIP619 拉你进入群
![](https://netpsp.com/zb_users/upload/2024/05/20240516050036171580683631813.png)
打开微信扫一扫
添加客服
进入交流群
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。
![](https://netpsp.com/zb_users/theme/ydlinuxse/include/avator/4.jpg)