以太坊 Gas 費詳解:基礎費、優先費與 Gas 上限
了解 Gas 單位、Gas 上限、基礎費、優先費和最高費用的意思,並計算一筆以太坊交易的實際成本。
本指南內容Gas 衡量運算工作,不是轉帳金額
簡短摘要
以太坊 Gas 費的計算方式是:將交易實際使用的 Gas 數量乘以交易所在區塊的有效 Gas 單價。協定設定並銷毀基礎費;優先費可能支付給驗證者。最高費用是價格上限,不一定是你實際支付的單價。
Gas 衡量運算工作,不是轉帳金額
在以太坊上,Gas 是衡量 EVM 處理交易所需運算量的單位。簡單的 ETH 轉帳所需操作相對少;轉移代幣或執行智慧合約中的多項條件則可能需要更多。因此,即使兩筆交易傳送相同數量的 ETH,只要執行的工作不同,使用的 Gas 也可能不同。
Gas 單位表示工作量,Gas 單價則表示你願意為每個單位支付多少 ETH。兩者相乘才是費用。Gas 上限是交易獲准消耗的最高單位數;maxFeePerGas 則是每單位價格上限。這些欄位各有意思,不能互相取代,也不是同一個「最高費用」的不同寫法。
本文介紹以太坊主網的標準 EIP-1559 交易。其他區塊鏈和二層網路可能採用不同的費用結構、付款資產和欄位名稱。不要把以太坊的術語自動套用到所有網路。Ethereum.org 的 Gas 指南和交易指南解釋了這些欄位。
Gas 用量取決於交易執行的工作
EVM 會為運算和狀態變更分配 Gas 成本。合約呼叫可能涉及執行函式、讀取或寫入儲存資料,以及記錄事件;這些都是簡單轉帳通常不需要的額外工作。操作越多或執行路徑越長,使用的 Gas 可能越多。Gas 用量不是以轉出的 ETH 數量或代幣市價相乘計算。
ETH 轉帳、代幣轉帳和 dApp 呼叫會執行不同操作。合約呼叫可能執行額外函式,以及讀取或更新儲存資料,因此可能比簡單轉帳使用更多 Gas。已納入區塊的交易收據會回報實際使用的 Gas 數量。
Ethereum.org 以 21,000 Gas 作為標準 ETH 轉帳範例。這是簡單轉帳的參考值,不是合約呼叫的通用 Gas 上限,因為所需工作取決於執行的函式和儲存資料存取。
網路 Gas 也不同於服務商的提款費。交易所可能加收營運費用或採用自己的費率表。鏈上 Gas 是支付網路處理運算的費用。如果提款頁面只顯示一個總額,請確認其中是否合併了平台費用和網路成本。
Gas 上限和實際用量是兩個不同數字
Gas 上限(gasLimit)是交易獲准消耗的最高 Gas 單位數。實際用量(gasUsed)是執行完畢時真正消耗的數量。提高上限不代表上限內每個單位都會自動收費。已納入區塊的交易會按實際消耗的 Gas 和有效 Gas 單價計費;未用的上限部分不會被消耗。
如果交易本身在執行期間耗盡 Gas,整個 Gas 上限都會被消耗,交易也會失敗。交易的狀態變更會回復,但已進行的運算仍會產生費用。較高的上限允許執行更多工作,同時也會提高最高 Gas 成本風險:gasLimit × maxFeePerGas。實際扣費仍取決於已使用的 Gas 和有效單價。
Gas 上限是最高值,不是實際用量的預測。它不是單價,提高單價也無法補足 Gas 單位不足。如果你不清楚呼叫會執行什麼操作,先查看錢包或應用程式的官方指引,不要隨意修改上限。
基礎費隨區塊空間需求改變
在 EIP-1559 交易中,基礎費是協定為某個區塊設定的每 Gas 單價。交易最高費用必須足以支付收錄該交易的區塊基礎費。協定會根據前一個區塊使用的 Gas 相對目標值的情況,逐個區塊調整基礎費。基礎費可以上升或下降,不是永久固定的費率。
實際使用的每個 Gas 單位所對應的基礎費部分會被銷毀。驗證者不會把這部分當作小費收取。基礎費會逐個區塊改變,因此待處理交易被納入時的基礎費可能與提交時不同。
Gwei 是 ETH 的小單位:1 gwei 等於 0.000000001 ETH。即使 Gas 用量不變,Gas 單價上升也會增加以 ETH 計算的成本。即使單價不變,使用更多 Gas 也會增加成本。這兩項因素都可以獨立於 ETH 的美元價格改變以 ETH 計算的費用。
優先費是可能促使交易較快被收錄的小費
優先費是你按每個 Gas 單位向收錄交易的驗證者提出的小費。使用者競爭有限的區塊空間;其他條件相近時,較高的小費可能令交易更吸引。它表示交易的急迫程度,但不保證會被納入某個指定區塊或在指定時間前收錄。
畫面上較高的 priority fee,與交易需要多少 Gas 單位是兩回事。優先費改變單價,Gas 上限限制獲准執行的工作量。複雜的合約呼叫即使小費很高,仍可能因 Gas 不足而失敗。相反,如果價格上限不足以支付區塊基礎費,Gas 單位充足也無法解決。
驗證者會在選擇交易時考慮區塊空間和其他交易條件。基礎費和可用區塊空間會隨時間改變,因此提高小費也不能保證交易在某個指定時間被收錄。EIP-1559 規格為基礎費和優先費訂明不同作用,並限制兩者構成的有效總單價不會超過最高費用。
最高費用是價格上限,不是實際單價
maxFeePerGas 是你願意為每個 Gas 單位支付的最高價格。maxPriorityFeePerGas 是每單位最高小費。交易被收錄時,有效單價由基礎費加上符合兩項上限的小費組成。實際小費不會高於 maxPriorityFeePerGas 和 maxFeePerGas - baseFee 兩者中較低的數值,因此有效單價不會超過最高費用。
例如,最高費用是 30 gwei、最高小費是 2 gwei,而區塊基礎費是 18 gwei。可用小費是 2 gwei,有效單價就是 20 gwei。即使設定了 30 gwei 最高費用,交易也不會自動支付 30 gwei。如果基礎費升至 31 gwei,30 gwei 上限不足以支付該區塊,交易便不能被納入該區塊。
基礎費越接近最高費用,留給小費的空間越少。即使小費上限設為 5 gwei,如果 maxFeePerGas - baseFee 只有 1 gwei,實際小費最高也只有 1 gwei。請一併查看兩個上限和當時的基礎費。

用一組示例數字計算費用
以下數字只是假設,用來示範計算方法。假設交易的 Gas 上限是 30,000 單位,實際使用 24,000 單位,所在區塊基礎費是 18 gwei;最高小費設為 2 gwei,最高費用設為 30 gwei。實際小費是 min(2, 30 - 18) = 2 gwei,因此有效單價是 18 + 2 = 20 gwei。
實際 Gas 費是 24,000 × 20 = 480,000 gwei。由於 1 ETH 等於 1,000,000,000 gwei,這相當於 0.00048 ETH。基礎費部分是 24,000 × 18 = 432,000 gwei,即 0.000432 ETH。小費部分是 24,000 × 2 = 48,000 gwei,即 0.000048 ETH。兩者相加就是 0.00048 ETH 的實際費用。
將完整 Gas 上限乘以兩個上限,得出 30,000 × 30 = 900,000 gwei,即 0.0009 ETH。這是在這些設定下,假設 Gas 上限和每單位最高價格都完全用盡時的 Gas 成本上限,不是本例的實際費用。傳送給收款人的 ETH 金額另計。不要把上限當成固定扣款,也不要把費用當成轉帳金額的百分比。這些數字只作說明,並非目前網路報價。
交易失敗仍可能消耗 Gas
不要以為錢包顯示「失敗」就代表 Gas 費會退還。如果交易已納入區塊,EVM 開始執行後才回復,狀態變更可能會撤銷,但已用的 Gas 仍會產生費用。如果交易本身在執行期間耗盡 Gas,整個 Gas 上限都會被消耗。即使沒有得到預期結果,運算仍然已經發生。
交易在納入區塊前未能通過驗證則是另一回事。例如,以低於所需數量的 Gas 上限提交 ETH 轉帳,可能在進入區塊前被拒絕;這種情況不會消耗執行 Gas。「納入前被拒絕」和「已納入區塊,執行時再回復」是不同狀態。
請用交易雜湊查看狀態、Gas 用量、有效 Gas 單價和執行結果。錢包簡短的錯誤訊息未必能說明原因。Ethereum.org 也會區分納入前驗證被拒和執行期間 Gas 耗盡。
分開看上限、價格和轉帳金額
簽署前,先確認自己使用哪個網路,以及交易是簡單轉帳還是合約呼叫。錢包可能顯示預計費用、Gas 上限、預計基礎費、優先費上限、最高費用上限,以及要傳送的 ETH 或代幣數量。這些數值回答不同問題。如果畫面只顯示最高 Gas 成本,請開啟詳細資料確認它代表哪項上限,不要當作必定扣除的金額。
錢包自動估算可協助你無需手動調整費用欄位便提交交易。不過,估算仍然是根據當刻網路狀況的預測,無法保證收錄時間或最終成本。價格上限過低可能令交易一直等待;不理解呼叫內容就調高上限或小費,可能增加潛在成本而沒有解決問題。查看目前數值,只在你理解交易內容時簽署。
本文涵蓋以太坊主網的標準交易流程。二層網路或其他鏈可能顯示額外資料費、使用另一種付費資產,或以不同方式計費。查看相關文件前,不要把以太坊公式套用到其他網路。目標網路和地址可參閱加密貨幣轉帳檢查清單;合約使用代幣所需的另一項權限,可參閱代幣授權指南。
常見問題
Q1為什麼失敗的交易仍可能扣除 ETH?
如果交易已納入區塊並開始執行,運算可能消耗 Gas,即使狀態變更已回復。請查看交易雜湊,分辨執行失敗和納入前被拒。
Q2maxFeePerGas 是錢包顯示的實際 Gas 價格嗎?
不是。它是每單位價格上限。有效單價由收錄交易的區塊基礎費和符合上限的小費組成,所以交易可能低於最高值收費。
Q3以太坊主網交易用 ETH 支付 Gas 嗎?
以太坊主網標準交易以 ether(網路原生資產)支付 Gas。如果錢包顯示另一種代幣或第三方贊助,請確認是否使用獨立的費用付款機制。其他鏈可能採用不同規則。
資料來源與延伸閱讀
回報問題
我們會準備一封包含本文連結的電子郵件。寄出後,Mark 才會收到你的回報
快速檢查
讀完指南後,用 3 道題檢查一下
問題 01
gasLimit 代表什麼?
選擇答案即可查看解釋