Skip to main content
LIVE
BTC $—| ETH $—| BNB $—| SOL $—| XRP $— · · · BITAIGEN · · · | | | | · · · BITAIGEN · · ·
区块链智能合约并发与并行挑战:以太坊性能瓶颈与提升路径

区块链智能合约并发与并行挑战:以太坊性能瓶颈与提升路径

Bitaigen Research Bitaigen Research 5 分钟阅读

本文深入剖析以太坊在并发和并行处理上的根本瓶颈,阐释账本模型对交易吞吐的限制,并对比传统金融TPS,探讨多链、分片、Rollup 等技术路径,为实现高效智能合约执行提供前瞻思路。

本文由比特根编辑团队撰写,聚焦区块链智能合约在并发与并行处理上的根本挑战。我们将剖析以太坊当前的性能瓶颈,探讨底层账本模型对交易吞吐的影响,并提出可能的技术路径。想了解未来高效合约执行的关键因素,请继续阅读。

区块链智能合约中的并发性和并行性

以太坊很慢——极其缓慢。

最近我做了一个简单的 USDC 授权交易,花了约 3 小时才完成验证。

还有一个更具启发性的统计数据:以太坊平均每 10~20 秒产生一个区块,每个区块容纳不足 350 笔交易,折算下来大约是每秒 30 笔交易。

在批评以太坊的慢时,常会拿 Visa 的 2000 TPS 进行对比。也许这并不公平,因为以太坊仍处于持续研发阶段。

无论如何,以太坊在短期内难以主导数字金融。其低吞吐量是一个根本性瓶颈。

区块链智能合约中的并发性和并行性

以太坊是基于账户的区块链:账本状态被表示为从账户地址到一段数据的键值映射。

一次普通的 ETH 转账(价值转移)只会增减相应账户的 ETH 余额;更复杂的交易(合约调用)则会修改指定账户的数据。

因此,以太坊交易本质上是全局账本状态的转换函数,这正是以太坊虚拟机(EVM)能够实现图灵完备并支持智能合约的原因——智能合约实际上是可交互的账户数据。

下面来看 EVM 如何处理或验证这些交易。并行处理所有交易并不可行。按照设计,所有交易都可能改变全局状态。

如果交易并行执行,EVM 将面临竞争条件:例如两个交易同时尝试递增同一个 uint 变量,结果只会增加一次而不是两次。

为避免此类并发错误,以太坊选择顺序执行交易。换言之,EVM 是一个单线程的状态机。

所以,以太坊实现的是 并发(Concurrency),而非 并行(Parallelism)。

可以把以太坊想象成只有一个出纳员的排队系统,排队的对象是待验证的交易,唯一的出纳员就是虚拟机。考虑到 gas 费用后,情况更为复杂——任何人都可以额外付费“插队”。当队列过长时,那些不愿或无法支付更高费用的用户只能等待更久。

低吞吐量在 Web3.0 场景下尤为突出。以太坊已经成为众多 Web 应用的底层平台。如果其吞吐量保持现状,诸如为 Reddit 上的一条评论加赞这样微不足道的操作,可能需要两个小时以上才能完成。我们处在一个速度决定成败的时代,以太坊的慢速已成为瓶颈。

有人会问,为什么不对冲突的交易采用并发处理,例如对同一账户的价值转移进行并行,而对其余交易并行执行?遗憾的是,Saraph 与 Herlihy 已经证明,此类加速最多只能带来适度提升。

为提升以太坊的可扩展性,已经提出了多种方案。近期的 EIP‑1559(伦敦硬分叉)虽不直接提升交易速度,但理论上能通过降低普通用户在交易处理前需等待的潜在区块数量,减缓大额交易高峰期的波动。随后出现的 Layer‑2 Rollup,则有望在不牺牲区块链去中心化信任的前提下,显著提升吞吐量。

与此同时,其他模拟通用虚拟机的区块链也在积极研发中。一些项目已经实现并行处理,承诺的吞吐量远超以太坊的 30 TPS。值得关注的包括 Algorand、Solana、Cardano 等,它们各自采用了在智能合约层面实现并行化的独特方式。

以上即为区块链智能合约中并发性与并行性的概述,更多相关资料请关注 Bitaigen(比特根)的其他文章。

关键要点

  • 以太坊每秒约30笔交易,吞吐量有限
  • EVM 采用顺序执行,避免状态冲突
  • 以太坊实现并发而非并行处理
  • Layer‑2 Rollup 可提升交易吞吐量
  • Algorand、Solana 已实现并行

常见问题

以太坊的交易吞吐量大约是多少?

根据文章统计,以太坊平均每 10~20 秒产生一个区块,每个区块容纳不足 350 笔交易,折算下来约为每秒 30 笔交易(约 30 TPS),远低于传统支付网络的吞吐量。

以太坊为什么只能顺序执行交易?

以太坊的账本是全局状态映射,任何交易都可能修改同一份状态。若并行执行会产生竞争条件,例如两个交易同时递增同一变量只能生效一次。为避免此类并发错误,EVM 采用单线程顺序执行,确保状态一致性。

以太坊实现的是并发还是并行?

文章指出,以太坊实现的是并发(Concurrency),即多个交易在排队等待处理,但实际执行是单线程的顺序处理,属于并发而非真正的并行(Parallelism)。

EIP‑1559 对提升交易速度有何作用?

EIP‑1559(伦敦硬分叉)本身不直接提升区块链的处理速度,但通过引入基本费用和小费机制,降低用户在交易被打包前需要等待的潜在区块数量,从而在高峰期缓解拥堵,间接改善用户体验。

哪些区块链已经实现了智能合约并行处理?

文章提到 Algorand、Solana、Cardano 等项目在智能合约层面采用了并行化设计,承诺的吞吐量远超以太坊的约 30 TPS,展示了在并行处理方面的技术探索。

💡 注册币安使用邀请码 B2345 享平台手续费折扣。详见 币安完整教程
注册币安,享最高手续费折扣邀请码 B2345 · 现货手续费低至 0.075%

常见问题

以太坊的交易吞吐量大约是多少?

根据文章统计,以太坊平均每 10~20 秒产生一个区块,每个区块容纳不足 350 笔交易,折算下来约为每秒 30 笔交易(约 30 TPS),远低于传统支付网络的吞吐量。

以太坊为什么只能顺序执行交易?

以太坊的账本是全局状态映射,任何交易都可能修改同一份状态。若并行执行会产生竞争条件,例如两个交易同时递增同一变量只能生效一次。为避免此类并发错误,EVM 采用单线程顺序执行,确保状态一致性。

以太坊实现的是并发还是并行?

文章指出,以太坊实现的是并发(Concurrency),即多个交易在排队等待处理,但实际执行是单线程的顺序处理,属于并发而非真正的并行(Parallelism)。

EIP‑1559 对提升交易速度有何作用?

EIP‑1559(伦敦硬分叉)本身不直接提升区块链的处理速度,但通过引入基本费用和小费机制,降低用户在交易被打包前需要等待的潜在区块数量,从而在高峰期缓解拥堵,间接改善用户体验。

哪些区块链已经实现了智能合约并行处理?

文章提到 Algorand、Solana、Cardano 等项目在智能合约层面采用了并行化设计,承诺的吞吐量远超以太坊的约 30 TPS,展示了在并行处理方面的技术探索。

原文来源: jb51.net

Bitaigen Research
关于作者
Bitaigen Research

Bitaigen 编辑团队专注于区块链资讯、市场分析与交易所教程。

加入 Telegram 社区 讨论本文
Telegram →

订阅 Bitaigen 快报

每周精选加密货币资讯、BTC 行情分析直达您的邮箱

🔒 我们重视您的隐私,绝不发送垃圾邮件

⚠️ 风险提示:加密货币价格波动极大,本文不构成任何投资建议,请理性投资,风险自担。