Monad 如何重塑 EVM 吞吐量

  • imperator
  • 发布于 2025-05-16 19:29
  • 阅读 35

Monad 通过并行处理来解决以太坊的 EVM 吞吐量限制。它通过分析交易的输入和预测状态访问,识别不冲突的操作,并在不牺牲确定性的前提下并行运行它们。Monad 的并行执行模型通过构建依赖关系图来增强事务吞吐量,该图识别可以同时处理的事务,从而有效利用资源并最大限度地提高处理效率和可扩展性。

Monad 如何提高 EVM 吞吐量

Monad EVM 吞吐量通过安全的并行处理解决了以太坊的串行执行限制。请继续阅读以了解更多信息。

Monad 如何提高 EVM 吞吐量

Monad 区块链不同,以太坊从未设计用于在运行时或执行层进行可扩展的执行。区块确认速度很快,交易结算也很可靠。但一旦它们到达 EVM,速度就会变慢,因为执行仍然一次运行一个交易。EVM 吞吐量是每个拥塞问题的核心瓶颈。

然而,Monad EVM 吞吐量以不同的方式解决了这个问题。它不会破坏 EVM 或迫使开发人员重写智能合约。相反,它改变了交易的调度方式;在不影响确定性或兼容性的情况下,在它们不冲突时并行执行它们。本文将介绍 Monad 区块链如何实现所有这些以及更多。

什么是 EVM 吞吐量问题?

EVM 链中的吞吐量与区块产生的速度无关。它与链在区块最终确定后每秒可以执行多少交易有关。问题是什么?执行是串行的,至少在 以太坊 中是这样。

EVM 吞吐量问题

EVM 本身并非天生就是串行的。它是确定性的,这意味着相同的输入 + 相同的状态 = 相同的输出。然而,以太坊的 EVM 实现默认按顺序处理交易,以避免状态冲突。这不是 EVM 规范中的缺陷;这是以太坊客户端的保守选择。

因此,即使交易是独立的,例如,一个是代币交换,另一个是铸造 NFT,它们仍然是一个接一个地处理。以太坊假设任何交易都可能干扰另一个交易,直接影响 EVM性能 并迫使其对每个交易进行排队。

要突破这个上限,你需要一个可以提前分析状态访问的运行时,识别不冲突的操作,并在不牺牲确定性的情况下安全地并行运行它们。这正是 Monad 进入的地方。

Monad 如何处理执行限制

以太坊的 EVM 一个接一个地处理交易,不是因为它缺乏计算能力,而是因为它假设每个交易都可能干扰下一个交易。简而言之,以太坊将安全置于一切之上。

Monad 使用 并行执行 打破了这个界限。这不仅仅是猜测。它是通过在每个交易运行之前分析其行为来实现的。以下是它的工作原理:

假设一个区块包含四个交易:

  1. Alice 在 Uniswap Pool A 上将 USDC 兑换为 ETH

  2. Bob 从一个新的集合中铸造一个 NFT

  3. Charlie 将 ETH 转给 Dave

  4. Eve 也在 Uniswap Pool A 上进行兑换

Monad 读取输入并预测每个交易将访问区块链状态的哪些部分。因为 EVM 是确定性的,Monad 知道:

  • Alice 和 Eve 正在触及同一个 Uniswap Pool A,因此它们的交易与相同的状态(流动性储备)进行交互。

  • Bob 和 Charlie 在完全独立的合约和账户上运作,彼此之间或与 Alice 和 Eve 之间没有重叠。

基于此:

  • Tx1 (Alice) 和 Tx4 (Eve) 按顺序排队,因为它们触及相同的状态。

  • Tx2 (Bob) 和 Tx3 (Charlie) 并行执行;它们是独立的,所以没有冲突。

这种调度模型释放了高 Monad EVM 吞吐量,而无需更改合约行为。以下是它的实现方式:

Monad 区块链在重新设计执行吞吐量的同时保留了合约逻辑。请注意,它仍然没有引入推测执行。它只是对哪些交易可以安全地并行运行做出更明智的决策。因为执行仍然是确定性的:相同的输入 + 相同的状态 = 相同的输出,网络中的每个节点都会得到相同的结果,无论工作如何分配。

这就是 Monad EVM 吞吐量获得优势的地方:不是来自更快的区块或更大的 gas 限制,而是来自并行化 EVM 已经知道如何完成的工作。而这方面的核心是 Monad 的并行执行模型。

Monad 如何提高 EVM 吞吐量

了解 Monad 的并行执行模型

Monad 通过在执行前分析每个交易与区块链状态的交互来提高交易吞吐量。此分析构建了一个依赖关系图,用于识别哪些交易可以同时处理而没有冲突。

例如:

  • Tx1: Dana 在一个合约中抵押代币。

  • Tx2: Raj 从不同的 staking 池中领取奖励。

  • Tx3: Kim 投票支持 DAO 提案。

  • Tx4: Lee 在与 Dana 相同的合约中抵押代币。

在这种情况下,Tx1 和 Tx4 与同一个合约交互,并在图中链接,需要按顺序执行。Tx2 和 Tx3 在状态的不同部分上运行,可以并行执行。

Monad 的延迟执行将共识与执行分离。网络首先使用乐观共识就交易顺序达成一致。在最终确定区块后,Monad 根据依赖关系图安排执行,将不冲突的交易分组到分配给不同处理内核的线程中。

这种流水线执行确保了高效的资源使用,在整个网络中保持了确定性和一致的最终状态。通过识别安全并行的机会,Monad 最大限度地提高了处理效率和可扩展性。

Monad 如何帮助开发者更快地构建

大多数智能合约开发者在尝试扩展之前不会面临执行限制。然后事情就会变慢。区块 被填满,用户等待,简单的链上操作停滞不前。这不是网络延迟。这是一个吞吐量上限。

Monad 改变了这一点。启用安全的并行执行消除了串行处理的瓶颈。吞吐量变得有弹性,并与计算能力相关联,而不是受限于逐个执行。

你可以在 以太坊 上构建完全链上的游戏,但前提是它们是轻量级的、回合制的或支持非常少的玩家。每一个移动、攻击或交易都是一笔交易。以太坊按顺序处理每一个。随着使用量的增加,延迟会上升,gas 成本会飙升。游戏会变慢。

Monad 通过随需求扩展执行来实现实时的链上交互。

Monad 与其他 EVM 链的不同之处

大多数 EVM 兼容 链都试图通过减少区块时间、增加 gas 限制或依靠 Rollup 来卸载执行来扩展。这些方法可以暂时有所帮助,但不能解决核心问题:EVM 仍然单独处理交易。

Monad 采取了不同的方法。它不会绕过瓶颈。它会消除瓶颈。Monad 没有像 Rollup 那样将执行推离链下,而是将其保留在 Layer 1 上,并使用确定性调度程序将其分配到多个线程上。这提高了吞吐量,而不会分割状态或牺牲可组合性。

像 Solana 或 Sui 这样的链使用新的语言来实现速度。Monad 保留了标准的 EVM 运行时。开发人员仍然使用 Solidity 编写代码并使用熟悉的工具,但在幕后,Monad 在并行执行引擎上运行该逻辑,而不是在串行引擎上运行。

Monad 不仅仅是更快。它通过使 EVM 本身更高效来实现垂直扩展。这使其与 L2、alt-EVM 和试图在缓慢的基础上堆叠补丁的单体链区分开来。

结束语

Monad EVM 吞吐量不依赖于捷径。它通过并行而不是按顺序运行交易来释放 EVM 的全部潜力。逻辑保持不变,但性能会随着可用处理能力而扩展。

对于旨在扩展的构建者来说,执行成为基础。串行处理不再需要成为限制。有了 Monad,并行执行不再是理论上的。它是真实的、可靠的,并且已准备好投入生产。

常见问题解答

  1. Monad 是否要求开发人员更改他们编写智能合约的方式?

不。Monad 完全兼容 EVM。你使用 Solidity 编写代码,使用相同的工具进行部署,并且逻辑保持不变。不同之处在于该逻辑的执行方式。

  1. 并行执行是否会导致竞争条件或不确定的结果?

不。Monad 的执行仍然是确定性的。它会在交易运行之前对其进行分析,并且仅并行化那些不触及共享状态的交易。始终保持最终状态的一致性。

  1. Monad 是 Rollup 还是 Layer 2?

都不是。Monad 是一个 Layer 1 区块链。它不依赖以太坊来实现安全性或结算。它通过重新设计的执行层提供原生的 EVM 兼容性。

  1. 哪些类型的应用程序从 Monad 的执行模型中受益最大?

任何具有高频率、多用户活动的应用程序:实时交易、实时游戏、链上拍卖和复杂的 DeFi 逻辑。Monad 的吞吐量使这些响应迅速,而不会影响结构。

  • 原文链接: imperator.co/resources/b...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
imperator
imperator
江湖只有他的大名,没有他的介绍。