🤖 新推出:《Quicknode 》AI 烹饪指南 10个经过验证的AI编程教程agents 。
查看食谱 区块链拥堵解析:手续费、延迟与限制 |Quicknode答案>了解可扩展性与性能>是什么导致了区块链拥堵? 简而言之:当发送到网络的交易数量超过下一个区块的容量时,就会发生区块链拥堵。 每条区块链对每个区块可处理的计算量或数据量都有上限。当需求超过该上限时,未确认交易的等待区——内存池(mempool)中就会积压交易。拥堵会导致用户为争夺有限的区块空间而竞相提高手续费,从而导致确认速度变慢,用户体验变差。其根本原因包括:区块容量固定、热门事件引发的需求激增、手续费市场的动态变化,以及在设计上优先考虑安全性和去中心化而非原始吞吐量。
简明解释
区块链以称为“区块”的批次处理交易。每个区块都有容量限制:
Ethereum:Gas 限制,目前约为每个区块 3000 万 Gas
Bitcoin:每个区块的重量上限为400万重量单位
Solana:每个插槽中计算单元与账户锁定的混合配置
无论机制如何,每条区块链在单个区块中能容纳的工作量都存在上限。
当到达的交易数量少于区块能容纳的数量时,一切都会运行顺畅。交易会被纳入下一个区块,手续费低,确认速度快。
当待处理的交易数量超过区块的容量时,就会形成一个队列。该队列即为内存池(mempool):这是每个节点上用于存放有效但尚未确认的交易、供其等待被纳入未来区块的暂存区。
交易池并非遵循“先到先得”的原则。它是一个按手续费排序的优先级队列。区块生成者(矿工或验证者)会选择手续费最高的交易,因为这样能为他们带来最高收益。
当内存池(mempool)已满时,希望快速确认交易的用户必须通过支付更高的手续费来压过其他人的出价。正是这种竞价战导致了网络拥堵期间 gas 价格飙升。那些无力或不愿支付更高手续费的用户,其交易会在内存池中滞留数分钟、数小时甚至数天。
通过 SOC 2 II 类认证 · ISO 27001
需求激增
拥塞最明显的原因是区块空间需求的突然激增。通常由特定事件引发这些需求激增:
NFT铸造:一次热门的铸造活动可能在几分钟内产生数万笔交易,因为收藏家们争相抢购限量代币。
上线与空投:一个新的DeFi协议或空投申领活动会立即为新的智能合约带来大量用户。
市场暴跌:价格急剧下跌引发了一波清算、平仓和恐慌性抛售,DeFi用户纷纷争相调整仓位。
Ethereum 上最严重的拥塞问题中,部分源于单个应用程序:
2017年12月爆发的“加密猫”(CryptoKitties)热潮导致网络瘫痪了数天。
2022年5月,Yuga Labs发行的Otherside NFT代币铸造活动将gas费用推高至8,000 gwei以上。部分用户支付了数千美元的手续费,但交易仍以失败告终。
Uniswap的UNI和Arbitrum 的ARB空投领取活动引发了持续数小时的网络拥堵,数百万符合条件的钱包蜂拥而至进行领取。
迷因代币的交易会导致Solana 和Base 等链上反复出现拥堵,一次爆红的发行可能在数小时内产生数百万笔交易。对于计划好的活动,用户至少知道拥堵即将到来。而迷因代币的暴涨则难以预测,往往在几乎没有预警的情况下就让网络不堪重负。
固定区块容量和产量
更深层的原因在于,区块容量和区块生成时间由协议固定,而需求却会波动,有时甚至波动剧烈。
Ethereum 每12秒生成一个区块,gas限制约为3000万。典型费用:
一笔简单的以太币转账:21,000 gas
一次 Uniswap 交易:150,000-300,000 gas
一项复杂的 DeFi 交互:500,000 gas 或更多
在理想条件下,这大约相当于每秒15至30笔交易,具体取决于交易的复杂程度。当成千上万的用户同时尝试铸造NFT、交换代币或领取空投时,15至30 TPS显然near 远远不够。
Bitcoin 它具有相同的限制,但限制条件更为严格。它每10分钟生成一个区块,每个区块可容纳约2,000至3,000笔交易。这大约相当于5至7 TPS。当需求旺盛时,Bitcoin 的内存池中可能会积压数十万笔未确认交易,而手续费较低的交易可能需要等待数天。
这些限制并非随意设定。它们旨在维护去中心化。如果区块更大或生成速度更快,能够跟上数据处理速度的节点就会减少,网络将逐渐集中于拥有昂贵硬件的运营商手中。吞吐量与去中心化之间的这种权衡,是区块链设计的核心。这通常被称为“区块链三难困境”:即难以同时实现可扩展性、安全性和去中心化。
MEV 与优先天然气拍卖
最大可提取价值(MEV)以一种不太明显的方式加剧了网络拥堵。MEV是指区块生产者和交易搜索者通过重新排序、插入或屏蔽区块中的交易所能获得的利润。
当出现有利可图的MEV机会时(例如两个去中心化交易所之间的套利),多名搜索者会竞相通过提交手续费越来越高的交易来捕捉这一机会。这种优先级Gas拍卖不仅占用了区块空间,还推高了所有人的手续费,甚至包括那些交易与此事毫无关联的用户。
“三明治攻击”是一种直接针对普通用户的MEV攻击模式。攻击者会在内存池中发现一笔大额交换交易,随后在该交易之前下达买单(抢跑),并在该交易之后下达卖单(追跑),从而利用受害者交换交易引发的价格波动获利。这些额外的交易不仅占用了区块空间,还导致了超出普通用户需求的网络拥堵。
第二层解决方案与拥塞缓解
Arbitrum 、Base 、Optimism 和zkSync 等第二层(L2)网络的构建,部分是为了缓解Ethereum 第一层(L1)的拥堵。它们在独立的链上处理交易,并将压缩后的摘要回传至Ethereum ,从而大幅提升了总吞吐量。在拥堵的Ethereum L1 上需要花费 5 美元 gas 费的交易,在 L2 上可能只需 0.01 美元。不过,在交易量极度激增时,L2 仍可能出现拥堵,而且它们会继承其结算所依托的 L1 的一些限制。
Solana 通过本地化手续费市场,以不同的方式处理网络拥堵。与所有交易都在同一个全球手续费市场中争夺相同处理空间的情况不同,Solana 试图将拥堵隔离在特定的“热门”账户中。涉及繁忙合约(如热门 DEX 资金池)的交易需支付更高手续费,而涉及无关合约的交易则不受影响。这虽然无法消除拥堵峰值,但能限制其溢出效应。
区块链拥堵会持续多久?
像大型 NFT 铸造或空投领取这样的预定活动,通常会引发价格的急剧飙升,但一旦抢购热潮消退,这种涨幅往往会在几分钟到几小时内回调。
持续的拥堵则有所不同。当一条区块链长期处于near 的满负荷运行状态时——例如在漫长的牛市期间或病毒式流行迷因代币周期中——高手续费和确认缓慢的情况可能会持续数天。
Bitcoin 拥堵通常比Ethereum 消散得更慢。其10分钟的区块时间意味着内存池会以更大、更不频繁的步长逐渐清空。拥堵正在缓解的最明显迹象是内存池规模缩小,同时优先级手续费也在下降。
不同区块链的区块限制有何差异?
每条区块链都会限制单个区块能容纳的工作量,因此各网络在出现拥堵前所能承受的负载量差异很大。下表列出了决定各网络在负载下出现拥堵速度的大致阈值。
区块链 | 时段 | 容量指标 | 约吞吐量 |
|---|
Bitcoin | 约10分钟 | 4M 重量单位 | 5 至 7 TPS |
Ethereum L1 | 约12秒 | 每个区块约3000万gas | 15 至 30 TPS |
Solana | 约400毫秒的时隙 | 计算单元和账户锁定 | 数千个临时保护身份(TPS) |
Arbitrum /Base (L2) | 亚秒 | L2 气,结算至 L1 | 数百至数千个 TPS |
拥塞和链式停机有什么区别?
对用户而言,拥塞和链停都可能表现为“网络故障”。但这两者是不同的问题,成因和解决方法也各不相同。在拥塞期间,区块链仍会生成区块;只是区块已满且生成成本高昂。而在链停期间,区块生成则完全停止。
方面 | 拥堵 | 链停 |
|---|
块生产 | 照常进行 | 停止 |
交易 | 确认过程缓慢,手续费高 | 完全不要确认 |
根本原因 | 需求超过区块容量 | 达成共识失败或客户端错误 |
典型分辨率 | 需求减弱,费用下降 | 验证者协调重启 |
简而言之,拥塞是一个定价和容量问题,而链上停滞则是一个可用性问题。优先级 gas 拍卖等 MEV 活动可能会加剧拥塞。了解什么是 MEV,有助于解释为何手续费的上涨速度比仅由用户需求所决定的要快。
开发商如何减轻拥堵的影响?
应用程序无法防止网络拥塞,但即使在拥塞期间也能保持稳定运行:
使用动态费用估算,而不是硬编码的gas价格。
添加重试逻辑,并做好非ce管理。
将非紧急交易排入队列,待较清闲时段处理。
对于数据,应采用推送式传输而非密集的轮询循环,以确保随着数据块的增长,数据摄入能够跟上节奏。
常见问题解答
为什么在网络拥堵时 gas 费用会飙升?
区块空间有限,而内存池(mempool)是一个基于手续费的优先级队列。当竞争的交易数量超过区块容量时,用户会提高手续费报价以争取优先被纳入区块。这种竞价战会推高当前的gas价格,直到需求回落至区块容量以下。
网络拥堵是否意味着区块链已无法运行?
不。在网络拥堵期间,区块链仍会持续生成区块并确认交易;只是速度变慢了,成本也更高了。如果网络停止生成区块,则说明该网络正经历“链停”,这属于另一个问题。
第二层网络也会出现拥塞吗?
是的。第二层网络(Layer 2)的吞吐量远高于Ethereum 的第一层(L1),因此能够承受更大的流量峰值,但极端的需求仍可能耗尽其容量并推高手续费。此外,它们还会继承所结算的第一层网络(Layer 1)的一些限制。
我该如何判断鼻塞是否在缓解?
请关注内存池大小和优先级手续费。未确认交易积压量的减少加上优先级手续费的下降,是需求已回落至区块容量以下的最明显迹象。
为什么区块链不直接把区块做得更大一些呢?
区块越大或处理速度越快,运行节点的硬件成本就越高,这会将规模较小的运营商挤出市场,并导致网络集中化。容量限制是一种有意的权衡,旨在维护去中心化,这种矛盾常被称为“区块链三难困境”。
拥堵如何影响在……上进行开发的开发商Quicknode
网络拥塞既影响开发者发送交易的方式,也影响他们接收数据的方式。
在发送端,手续费过低的交易会卡在内存池中或被丢弃。应用程序需要可靠的费用估算、重试逻辑和非ce管理,才能有效应对网络拥堵。Quicknode 的Core API即使在网络拥堵高峰期,也能以稳定的性能可靠地发送交易。增强的 API 方法可帮助应用程序根据当前网络状况估算合适的 gas 价格。
在数据方面,拥塞意味着每个区块中的事务更多、区块更大、事件更多,以及数据量更大。基于轮询的系统在此处难以应对。由于每个区块包含的数据更多,而轮询间隔保持不变,因此会形成积压。
Quicknode Streams 它能够很好地应对拥塞,因为其基于推送的设计可随区块大小的增加而扩展。无论一个区块包含 100 笔还是 1,000 笔交易,Streams 都能以相同的可靠交付和顺序保证,将完整数据传输至目标位置。可配置的批处理和压缩功能有助于在长时间拥塞期间管理额外数据。
延伸阅读