以太坊的可扩展性危机:执行层

  • fuel__
  • 发布于 2024-07-18 12:47
  • 阅读 23

本文由 Fuel Labs 撰写,是关于以太坊可扩展性和执行系列文章的第一部分。

以太坊的可扩展性危机:执行层

这是 Fuel Labs 的一个分为多个部分的系列文章的第一部分, 该系列涵盖了与以太坊上的可扩展性和执行相关的主题。本系列旨在全面深入地了解与增强以太坊的性能和容量相关的挑战,以及当前正在努力使其更高效和可扩展以供广泛采用的解决方案。

以太坊的架构包括多个层,每一层在网络运行中都发挥着关键作用。在这些层中,执行层尤其重要。交易处理、智能合约执行以及维护一致且安全的状态都在执行层上完成。然而,这一层通常会成为瓶颈,限制以太坊网络的整体性能和可扩展性。

以太坊上的执行

执行是指在区块链上执行交易和执行状态更改所需的计算。这种计算通常涉及通过检查交易的签名和 token 余额来验证交易,以及执行更新状态所需的链上逻辑。当完整节点更新其账本副本以反映新的 token 转移、智能合约代码更新和数据存储更改时,会发生状态更改。

执行层的主要功能包括:

交易处理: 验证和执行用户发送的交易。

智能合约执行: 运行智能合约的代码,智能合约是自我执行的合约,协议条款直接写入代码中。

状态管理: 维护区块链的状态,包括账户余额、智能合约状态和其他重要数据。由于其复杂的状态树,以太坊的状态管理尤其具有挑战性,但像 Verkle trees 这样的创新正在开发中,它通过启用更小、更有效的数据证明来优化状态存储,以解决这个问题。与此同时,Solana 等其他区块链,尽管没有全局状态树,也一直在努力解决状态管理问题。

可扩展性的目标是通过提高交易速度(更快的最终性)和交易吞吐量(每秒更高的交易数量)来提高性能。人们通常会考虑 TPS 或每秒交易数来衡量性能。实际上,可扩展性是指区块链每秒可以处理的计算量,因为交易的复杂性和资源需求可能会有所不同。以太坊使用“gas”来衡量执行交易和智能合约所需的计算量。扩展执行层的挑战在于增加每秒的计算量,而不会显着提高在区块中验证交易的各个完整节点的硬件要求。有效解决此问题对于提高区块链网络的吞吐量和性能至关重要。

交易如何处理和验证

为了充分理解为什么需要从计算的角度来考虑可扩展性,更仔细地了解以太坊上如何处理交易非常重要。当用户在以太坊上发起交易时,该交易在最终确定之前会经过几个步骤。以下是此过程的简化概述:

  1. 交易发起:外部拥有账户 (EOA) 或智能合约所有者通过创建签名的 JSON-RPC 请求来发起交易。此请求包括详细信息,例如接收者地址、要转移的以太币数量(如果有)、要包含的数据(如果与合约交互)、gas 限制和其他交易参数。

  2. 数字签名验证:以太坊网络上的节点首先验证交易的数字签名,以确认其真实性并确保其在传输过程中未被篡改。

  3. Nonce 检查:网络检查发送者账户的 nonce,以确保交易是连续的,并防止重放攻击。 nonce 随着从账户发送的每笔交易而递增。

  4. Gas 计算:Gas 是一种用于衡量计算量的单位,对于执行交易和智能合约是必需的。交易指定一个 gas 限制,这是发送者愿意为该交易使用的最大 gas 量。 Gas 费用以以太币支付,用于支付以太坊网络上的计算和存储成本。

  5. 交易广播:验证后,交易将广播到以太坊点对点网络中的所有节点。节点接收交易并开始将其包含在区块中进行验证的过程。

  6. 区块创建: 以太坊的权益证明 (PoS) 共识机制中的验证者验证并提议一个新区块,其中包含成批的已验证交易,包括最近发起的交易。

  7. 区块验证: 其他节点也验证交易的正确性,检查签名,确认可用资金,并确保不会发生双重支出。

  8. 状态更新:当一个区块有效时,每个节点都会使用该区块中交易的新状态更改来更新其以太坊区块链的本地副本。这意味着更新账户余额、合约存储和其他重要数据。以太坊保留一个全局的 Merkle 树,它通过将所有状态数据组织成一个分层结构(其中每个区块的状态都经过哈希处理并链接)来整合所有状态数据,最终形成一个单一的根哈希。这为我们提供了一个单一、整洁的状态根,允许轻客户端验证特定交易或数据的完整性,而无需下载整个区块链。

  9. 交易确认:一旦交易包含在一个区块中,并且该区块被添加到区块链中,该交易就被认为是已确认的。确认表明该交易是不可逆的,并且已被以太坊网络接受。

  10. 最终执行和合约交互:对于与智能合约交互的交易,合约的代码根据交易中提供的输入数据执行。此执行可能涉及更新合约的内部状态变量、发出事件或触发进一步的交易。

  11. 交易收据:生成一个交易收据,可以对其进行检查以确认详细信息,例如使用的 gas 量、包含交易的区块号以及合约执行期间生成的任何日志。

执行瓶颈

虽然执行层是以太坊功能的核心,但它也是以太坊在任何给定时间可以处理的计算量的主要瓶颈。数据可用性 (DA) 是一个关键问题,但 EIP-4844 等解决方案在很大程度上缓解了这些挑战,该解决方案引入了临时的“blobs”数据,其存储成本远低于常规以太坊交易。通过增强数据分发和链下存储,像 EIP-4844 这样的创新已将焦点转移到执行层,使其成为以太坊可扩展性的主要障碍。

Twitter 嵌入

访问 X 上的这篇文章

Westie (rev/acc) 🟪\ \

@WestieCapital

·

关注

在 X 上查看

Base 昨天在交易费用中获得了高达 157 万美元的收入,仅花费 5 千美元将数据发布到以太坊。

这表明 1) DA 不是瓶颈,执行才是瓶颈,并且 2) 用户在这里并且对区块空间有很高的需求。我们将拭目以待这种活动水平是否会持续

Image

有几个因素导致了以太坊的执行瓶颈。

延迟瓶颈

延迟是从提交交易到确认并将其包含在区块链中的时间延迟。高延迟会导致交易确认速度变慢,用户等待时间更长,以及智能合约执行延迟。主要的延迟瓶颈包括:

区块时间和确认延迟:以太坊的平均区块时间目前约为 12 秒,这为交易确认设置了最短延迟。如果交易包含在下一个区块中,则平均等待时间约为区块时间的一半,即 6 秒。如果交易量较低,则延迟可能会增加,因为交易需要等待更长时间才能包含在区块中。

区块链同步(共识): 以太坊网络中的节点必须就每个区块的有效性达成共识。此过程可能会引入延迟,因为节点会验证交易、验证区块并与网络状态同步。区块传播时间的变化也会导致延迟。

吞吐量瓶颈

吞吐量是指网络在给定时间内有效处理和处理大量交易的能力。更高的吞吐量意味着网络每秒可以处理更多的交易。吞吐量瓶颈包括:

单线程执行:以太坊虚拟机 (EVM) 以单线程方式一次处理一个交易。这意味着交易无法并行化,从而限制了可以同时处理的交易数量。

浪费性执行:EVM 使用 256 位字和一个基于堆栈的方法而不是寄存器。这种设计选择导致计算资源的利用效率低下,从而增加了执行合约所需的时间和能源。

状态管理:以太坊维护着一个大型的、深度嵌套的状态树,具有 256 个级别。每次更新键值对时,都必须对数据库进行 256 次更新。这种广泛的更新过程会显着减慢网络速度。

Gas 计量开销:虽然 gas 计量的目的是防止过度使用资源并避免停机问题,但跟踪每个操作会增加显着的开销。这种开销会导致交易处理速度变慢。

节点容量限制:以太坊节点对其处理和存储容量有实际限制。当交易处理需求超过这些限制时,节点将难以跟上,从而导致区块验证和传播延迟。

状态增长:随着交易数量的增加,区块链的状态也会增加。这种增长需要更多的存储,并使状态验证和访问更加耗时,从而进一步减慢了网络速度。

执行瓶颈对可扩展性的影响

执行层产生的性能问题以各种方式表现出来,影响了网络的可扩展性和用户体验。以下是一些示例:

  • 网络拥塞:在需求高峰期,例如受欢迎的 TGE 或 NFT 投放期间,交易数量可能会压垮网络,导致拥塞。这会导致更长的确认时间和更高的 gas 费用,因为用户竞相处理他们的交易。

  • 高 Gas 费用:当网络拥塞时,gas 费用可能会飞涨,使得用户即使执行简单的交易也成本高昂。这限制了网络的可访问性和可用性。

  • 可扩展性挑战:EVM 的有限吞吐量阻碍了以太坊有效扩展的能力。随着用户和去中心化应用程序 (dApp) 数量的增长,网络难以在不显着降低性能的情况下适应增加的负载。

对可用性和采用的影响

执行瓶颈对最终用户和开发人员都有切实的直接影响,以重要的方式影响着更广泛的以太坊生态系统。

执行瓶颈如何影响最终用户和开发人员

高峰时段的高 gas 费用使得用户与网络交互的成本很高,无论是发送 ETH、参与 DeFi 协议还是铸造 NFT。网络拥塞会导致交易确认延迟,从而给期望实时交互的用户带来挫败感和不便。这些高成本和延迟降低了网络的整体可用性,从而阻止了潜在用户并限制了生态系统的增长。

从开发人员的角度来看,需要优化智能合约以最大限度地减少 gas 使用量,这增加了开发过程的复杂性和时间。他们还需要努力优化基础设施,通常通过第三方提供商(如节点服务)(例如,Infura)。这可能比仅仅优化智能合约更大的障碍。由于网络有限的吞吐量,在以太坊上构建可扩展的 dApp 变得更加复杂,通常要求开发人员实施链下解决方案或Layer2扩展技术以获得更好的性能。

值得注意的网络拥塞事件

2017 年末的 CryptoKitties NFT 热潮是一个关键时刻,它表明了网络的拥塞程度。用户繁殖和交易虚拟猫的交易激增导致了重大的网络延迟。在高峰时期,CryptoKitties 负责以太坊网络上近 16% 的所有交易,导致某些交易延迟数小时甚至数天。根据 一篇 Coindesk 文章,一度有大约 30,000 笔交易被卡住并等待处理。

Crypto Kitties 引发了以太坊 gas 费用的空前飙升,随后被随后的 P2E 热潮所维持。来源:Glassnode

Crypto Kitties 引发了以太坊 gas 费用的空前飙升,随后被随后的 P2E 热潮所维持。来源:Glassnode

2020 年的 DeFi 夏季标志着另一个网络拥塞的重要时期。Uniswap 和 Compound 等 dApp 的迅速采用导致网络活动大幅增加。这些因素(以及其他因素)导致对链上空间的高需求,从而导致 gas 费用飙升,每天在交易成本上花费数千个 ETH。

从 2021 年到 2022 年的 NFT 热潮进一步凸显了以太坊的可扩展性问题。Yuga Labs 推出 like 的备受瞩目的 NFT 投放和拍卖吸引了数千名参与者,导致 gas 费用飙升。Otherside 铸币日当天的平均 gas 费用超过每笔交易 400 美元

实际影响

除了 NFT 交易和 DeFi 投机等利基活动外,高成本和延迟也会损害 dApp 的用户体验,从而降低参与度和保留率。一些区块链项目已被迫迁移到其他区块链或完全关闭。例如,UniLogin 旨在简化用户登录到基于 ETH 的应用程序(这是主流采用的关键功能),但由于 gas 费用不断上涨使其在财务上不可持续而不得不停止运营,有时每次注册的费用超过 130 美元。此外,Publish0x 是一个用户可以通过创建和阅读内容来赚取加密货币的平台,由于成本高昂,不得不推迟支出并改为每月支付。为了使以太坊有效地扩展到金融、供应链管理和去中心化身份等现实世界的应用,它必须解决这些可扩展性问题以支持更广泛的采用。

总结思考

执行瓶颈的实际影响是深远的,影响着用户和开发人员。高 gas 费用、网络拥塞和可扩展性限制阻碍了以太坊生态系统的增长和可用性。解决这些挑战需要对执行层进行创新和改进。

在第二部分中,我们将探讨创新执行层对于以太坊未来的重要性。我们将仔细研究 EVM 当前的局限性、潜在的解决方案以及超越传统执行模型的好处。

推荐阅读:

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

0 条评论

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