常見概念和常見問題解答
Gas 是以太坊及許多 EVM 相容網路用來衡量鏈上操作所需運算資源的單位。轉帳、代幣授權、兌換或調用智慧合約都會消耗一定數量的 Gas;使用者為這些資源所支付的網路費用稱為 Gas Fee。
在基礎的 EVM 費用模型中,可以用下面的簡化公式來理解:
Gas Fee(網路費)= Gas Used(實際使用量)× Effective Gas Price(實際單價)
適用邊界:Gas 不是一種獨立代幣,也不是所有區塊鏈都使用的費用模型。 Gas Fee 通常以目前網路的原生資產支付;部分 Layer 2 或特殊網路也可能另外計算數據費或協議費用。
為什麼需要 Gas?
區塊鏈節點需要執行計算、讀寫狀態並保存交易結果。 Gas 為不同操作的資源消耗提供統一計量方式,也限制單筆交易可以執行的最大工作量,避免無限循環或大量無成本請求佔用網路資源。
交易越複雜,通常需要執行的合約邏輯越多,Gas Used 也可能越高。因此,Gas Fee 主要受操作複雜度和當時的單位價格影響,並不簡單取決於轉帳金額大小。
Gas Used、Gas Limit、Gas Price 和 Gas Fee 有什麼不同?
概念 | 意義 |
Gas Used | 交易實際執行時消耗的 Gas 數量 |
Gas Limit | 本次交易允許消耗的 Gas 上限 |
Gas Price | 每單位 Gas 的價格,常以 Gwei 表示 |
Gas Fee | 交易最終產生的網路費用 |
1 Gwei = 0.000000001 ETH。 Gas Limit 並非預先決定的最終消耗量:交易正常完成時,只以實際使用量計費,未使用的限額不會被收取。若上限設定過低,執行可能因 Gas 不足而回退,但已消耗的計算資源仍可能產生費用。
交易 Gas Limit 與區塊 Gas Limit也不是同一個概念。前者限制單筆交易的最大用量;後者限制一個區塊可容納的總計算量,主要屬於網路協定層參數。
EIP-1559 下的費用參數怎麼理解?
採用 EIP-1559 費用機制的網路通常會顯示以下參數:
Base Fee:協議根據區塊使用情況計算的基礎單價。在以太坊主網上,這部分費用會被銷毀。
Priority Fee:支付給驗證者的優先費,用於表達希望交易更快被納入區塊的意願,但更高的設定不保證交易一定立即確認。
Max Fee Per Gas:用戶允許每單位 Gas 支付的最高金額。實際單價不會超過這上限。
錢包顯示的「最高網路費用」通常由 Gas Limit 和最高單價計算,用於展示可能的費用上限,並不等於最終一定扣除的金額。實際結算取決於交易使用量、有效單價及相應網路的費用規則。 UKey Wallet 中的費用設定說明見《如何管理 UKey Wallet 交易費用? 》。
為什麼交易失敗仍可能產生 Gas Fee?
關鍵在於交易是否已經被網路納入區塊並執行:
情況 | 是否通常產生鏈上費用 |
交易在本地被拒絕,或從未成功廣播和納入區塊 | 通常不會 |
交易已納入區塊,但合約條件不滿足、Gas 不足或執行回退 | 通常會收取已經消耗的 Gas |
鏈上結果失敗不等於節點沒有工作。驗證者已經處理交易並執行相應計算,因此執行過程中消耗的資源仍可能需要付費。
哪些操作需要 Gas?由誰支付?
操作 | 通常是否需要 Gas |
連接錢包、讀取公開地址或餘額 | 不需要,因為沒有修改鏈上狀態 |
普通訊息簽名 | 簽名本身不需要;若簽名隨後被提交到鏈上,提交方仍需支付費用 |
轉帳、代幣授權、兌換、鑄造或撤銷授權 | 需要,因為會修改鏈上狀態 |
連接錢包、訊息簽名、交易簽名和代幣授權代表的權限與風險不同,不能只以「是否需要 Gas」判斷操作是否安全。詳細差異見《連結錢包、訊息簽名、交易簽名和代幣授權有什麼區別? 》。
即使帳戶持有 USDT、USDC 等代幣,也通常需要另外保留目前網路的原生資產支付 Gas Fee。若原生資產不足,代幣餘額再多也可能無法發起鏈上操作。
網路費用由協議規則和當前鏈上狀態決定。錢包客戶端負責估算並建立費用參數,硬體錢包負責展示其能夠解析的交易資訊並在用戶確認後簽名;硬體設備本身不會替用戶判斷費用是否合理。簽名流程見《UKey 硬體錢包如何保障交易簽章安全? 》。
常見問題
餘額等於轉帳金額,為什麼仍提示餘額不足?
帳戶還需要支付網路費。可發送的最大金額通常小於原生資產餘額,需要為預計費用留出空間。
為什麼不同 DApp 執行類似操作,費用仍不同?
不同 DApp 可能會呼叫不同合約、路由或步驟,實際執行的計算和狀態寫入量不同,因此 Gas Used 也會有所不同。
為什麼「最高費用」高於最終扣款?
最高費用反映允許的用量和單價上限。交易完成後通常會依照實際使用量及有效單價結算;部分網路也會單獨計算數據費。
加速或取消交易為什麼還要付費?
加速或取消通常需要提交另一筆鏈上交易,因此仍會佔用網路資源並產生費用。具體說明見《如何加速或取消一筆交易? 》。
總結:Gas 衡量鏈上操作的計算用量,Gas Price 表示單位價格,Gas Limit 是允許的用量上限,Gas Fee 則是最終網路費用。理解這幾個概念,有助於判斷費用上限、交易失敗扣費和原生資產不足等常見問題。
