以太坊EIP-1559前後手續費計算

s0ny
Master’s note
Published in
Mar 1, 2022

在2021年8月前後,以太坊進行倫敦硬分叉升級,通過了EIP-1559、EIP-3198、EIP-3529、EIP-3541以及EIP-3554的改進提案,其中最有爭議的EIP-1559也在此次升級中上線,升級過後的手續費計算比過往的競價方式有所不同,Gas fee的計算公式依然不變,但在EIP-1559當中添加了基本費(Base fee)以及礦工的小費(Max priority fee)。

所以,我們先暸解一下在EIP-1559之前,手續費是如何計算的?

首先,一筆交易被提出時,交易會包含GasPrice、GasLimit這兩個參數,而在礦工驗證過程中,根據交易的內容決定需要使用多少Gas,而產生一個新的參數GasUsed。

所以一筆交易所需要支付的手續費就會是GasPrice * GasUsed (單位為Gwei),而這個手續費會全歸給礦工。

假設有一個NFT項目開放Mint,對於用戶來說,想要更快速Mint的到NFT,就需要付出較多的手續費,再加上以太坊網路每秒只能驗證15–20筆交易,在這情況下,不僅是只有一個用戶會這麼想要更快速Mint,每個用戶都這麼想並付出更多的手續費。

因為在一個區塊能容量的Gas有限,在交易中使用過多的手續費會使整個區塊涵蓋的交易數較少,支付較少的手續費必須等待更長的時間才能被驗證,因此造成整個以太坊網路堵塞,用戶得付出遠超出預期的手續費(支付30 USD以上或更高的手續費),交易才可能被驗證。

在如此交易效率低的以太坊區塊鏈下,EIP-1559就被提了出來,並在倫敦升級中正式上線。

而在EIP-1559生效後,GasPrice被拆分為兩個部分——「Base fee」以及「Max priority fee」。

Base fee是一筆交易所要支付的「基本手續費」,基本費在交易驗證完後會直接燒毀(burn),而燒毀的數量則是Base fee * GasUsed,使用多少的Gas就直接燒毀。

Max priority fee則是礦工的小費,主要是為了補償礦工在打包區塊後,區塊變為「叔塊」的損失風險,所以給礦工的小費則是Max priority fee * GasUsed。

所以,原先的交易競價在EIP-1559之後,當區塊空間被塞完交易後,就會開始進行小費競價,也就是小費給的越多,交易就會越快被確認。

最終,交易驗證完後剩餘的手續費會還給用戶,礦工可以拿到的獎勵僅包含區塊獎勵以及交易給予礦工的小費。

--

--