在以太坊生態(tài)系統(tǒng)中,“Gas”是一個(gè)至關(guān)重要的概念,它是用戶為了在以太坊網(wǎng)絡(luò)上執(zhí)行操作(如發(fā)送交易、部署智能合約)而支付給礦工(或驗(yàn)證者)的費(fèi)用,而“Gas限量”(Gas Limit)則是與Gas緊密相關(guān)的一個(gè)核心參數(shù),它直接影響到交易的執(zhí)行效率和成本,以太坊的Gas限量到底是多少呢?本文將為您詳細(xì)解讀。

什么是Gas限量

我們需要明確“Gas限量”的定義,在以太坊中,每個(gè)區(qū)塊(Block)都有一個(gè)區(qū)塊Gas限制(Block Gas Limit),這是指單個(gè)區(qū)塊能夠包含的所有交易消耗的Gas總量上限,它就像一個(gè)“容器”的大小,決定了在一個(gè)區(qū)塊內(nèi)可以“塞入”多少計(jì)算量。

而用戶在發(fā)起一筆交易時(shí),設(shè)置的Gas限量(Transaction Gas Limit),則是指用戶愿意為這筆交易支付Gas消耗的上限,這個(gè)值不能超過當(dāng)前區(qū)塊的剩余Gas空間,否則交易將無法被打包進(jìn)區(qū)塊。

以太坊當(dāng)前的區(qū)塊Gas限制是多少

以太坊的區(qū)塊Gas限制并非一個(gè)固定不變的數(shù)值,它具有一定的靈活性。

  1. 理論上的最大值:在以太坊合并(The Merge)之前,區(qū)塊Gas限制的理論最大值是由網(wǎng)絡(luò)共識(shí)機(jī)制決定的,大約是約1200萬Gas(具體數(shù)值會(huì)因網(wǎng)絡(luò)參數(shù)調(diào)整略有變化),合并后,雖然共識(shí)機(jī)制從工作量證明(PoW)轉(zhuǎn)變?yōu)闄?quán)益證明(PoS),但區(qū)塊Gas限制的基本概念和調(diào)整機(jī)制依然存在。

  2. 實(shí)際運(yùn)行中的動(dòng)態(tài)調(diào)整

    • 歷史情況:以太坊主網(wǎng)的區(qū)塊Gas限制在歷史上經(jīng)歷過多次調(diào)整,早期以太坊的區(qū)塊Gas限制較低(例如幾百萬Gas),隨著網(wǎng)絡(luò)需求的增長和協(xié)議升級(jí)(如君士坦丁堡升級(jí)等),逐步進(jìn)行了上調(diào),在2021年倫敦升級(jí)引入EIP-1559之前,區(qū)塊Gas限制可以通過礦工投票動(dòng)態(tài)調(diào)整,但調(diào)整頻率不高。
    • 當(dāng)前狀態(tài)(截至2023年底及2024年初):自倫敦升級(jí)引入EIP-1559后,區(qū)塊Gas限制的調(diào)整機(jī)制變得更加平滑和自動(dòng)化,它不再是簡單的固定上限或完全由礦工決定,而是圍繞一個(gè)“目標(biāo)Gas限制”(Target Gas Limit,目前為約3000萬Gas)進(jìn)行動(dòng)態(tài)調(diào)整。
      • 如果前幾個(gè)區(qū)塊的Gas使用率持續(xù)高于目標(biāo),區(qū)塊Gas限制會(huì)逐步上調(diào)(每次最多可上調(diào)約0.0976%)。
      • 如果前幾個(gè)區(qū)塊的Gas使用率持續(xù)低于目標(biāo),區(qū)塊Gas限制會(huì)逐步下調(diào)(每次最多可下調(diào)約0.0976%)。
    • 實(shí)際數(shù)值:您在以太坊瀏覽器(如Etherscan)上看到的當(dāng)前區(qū)塊Gas限制是一個(gè)動(dòng)態(tài)變化的數(shù)值,通常情況下,它會(huì)在2900萬到31
      隨機(jī)配圖
      00萬Gas
      之間波動(dòng),某個(gè)時(shí)刻的區(qū)塊Gas限制可能是30,000,000 Gas,下一個(gè)區(qū)塊可能會(huì)略高或略低一些。

區(qū)塊Gas限制的重要性及其影響

  1. 影響交易打包速度:區(qū)塊Gas限制越高,單個(gè)區(qū)塊能容納的交易就越多,網(wǎng)絡(luò)的整體交易處理能力(TPS,每秒交易數(shù))理論上就越高,當(dāng)網(wǎng)絡(luò)擁堵時(shí),提高區(qū)塊Gas限制可以緩解擁堵,加速交易確認(rèn)。
  2. 影響礦工/驗(yàn)證者收益:區(qū)塊Gas限制越高,礦工或驗(yàn)證者可以從單個(gè)區(qū)塊中獲得的總交易費(fèi)(Gas費(fèi)用)理論上也越高(前提是有足夠的交易填充區(qū)塊)。
  3. 影響網(wǎng)絡(luò)安全性:過高的區(qū)塊Gas限制可能導(dǎo)致區(qū)塊生成時(shí)間不穩(wěn)定,或需要更大的存儲(chǔ)空間來存儲(chǔ)區(qū)塊數(shù)據(jù),可能對(duì)節(jié)點(diǎn)的運(yùn)行和網(wǎng)絡(luò)的安全性帶來潛在挑戰(zhàn),以太坊協(xié)議對(duì)區(qū)塊Gas限制的調(diào)整幅度進(jìn)行了限制,以避免劇烈波動(dòng)。
  4. 用戶交易成本:雖然區(qū)塊Gas限制本身不直接決定單筆Gas的價(jià)格(Gas Price),但它會(huì)影響交易的“競(jìng)爭激烈程度”,在區(qū)塊Gas限制較低、網(wǎng)絡(luò)擁堵時(shí),用戶需要支付更高的Gas Price才能讓自己的交易被優(yōu)先打包。

如何查詢當(dāng)前的區(qū)塊Gas限制

要獲取以太坊主網(wǎng)最新的區(qū)塊Gas限制,您可以:

用戶如何設(shè)置交易的Gas限量

對(duì)于普通用戶而言,在發(fā)送交易時(shí)需要設(shè)置的是單筆交易的Gas限量,而不是區(qū)塊Gas限制,這個(gè)值表示你期望這筆交易消耗的最大Gas量。

  • 一筆簡單的ETH轉(zhuǎn)賬,通常Gas限量設(shè)置為21,000 Gas即可。
  • 一個(gè)復(fù)雜的智能合約交互,可能需要更高的Gas限量(例如50,000、100,000甚至更多),具體取決于合約的邏輯。

如果交易的執(zhí)行實(shí)際消耗的Gas超過了你設(shè)置的Gas限量,交易會(huì)失敗(revert),但你已經(jīng)支付了用于執(zhí)行到失敗點(diǎn)為止的Gas費(fèi)用,如果實(shí)際消耗Gas低于或等于你設(shè)置的Gas限量,則按實(shí)際消耗量收費(fèi)。

以太坊的區(qū)塊Gas限制不是一個(gè)固定的常數(shù),而是一個(gè)圍繞目標(biāo)值動(dòng)態(tài)調(diào)整的參數(shù),目前通常在2900萬至3100萬Gas之間波動(dòng),這一機(jī)制旨在平衡網(wǎng)絡(luò)吞吐量、交易成本和安全性,理解區(qū)塊Gas限制以及用戶交易的Gas限量,對(duì)于以太坊用戶有效管理交易成本、順利執(zhí)行操作至關(guān)重要,隨著以太坊生態(tài)的不斷發(fā)展,未來區(qū)塊Gas限制的調(diào)整機(jī)制也可能繼續(xù)優(yōu)化,以更好地適應(yīng)網(wǎng)絡(luò)需求。