2021年8月5日,倫敦硬分叉見證了以太坊區塊鏈到目前為止最大的更新之一:EIP-1559,它改變了收費市場在網絡上的運作方式。引入了一種新的基本費用,該費用被銷毀而不是支付給礦工,而且用戶現在可以指定交易的最高費用和優先費用,而不是gas價格。

在本文中,我們將介紹EIP-1559所做的所有更改,以及它們對我們的意義。

EIP - 1559是什麼?

此前,以太坊的收費市場基於首價拍賣。由於過去所有的交易費用都歸礦工所有,一般來說,“出價”(gas價格)最高的交易將首先得到確認。 EIP-1559改變了這一點,通過為所有交易引入每gas 單位的基本費用,使交易費用更加穩定和可預測,這是用戶為每筆交易支付的最低費用。根據當前的網絡擁塞情況(區塊的完整程度),基本費用可以上升或下降。

基本費用會根據區塊的完整程度而波動。

區塊的“完整度”由區塊中所有交易使用的gas量決定。如果一個區塊的目標gas使用量是1500萬,並且有四個交易分別使用500萬gas,這意味著該區塊的總gas使用量高於目標,因此基本費用將上升。如果只有一筆交易使用了500萬gas,基本費用就會下降。

基本費用沒有支付給礦工,而是被銷毀了。除了基本費用,用戶可以選擇支付優先費用(“小費”),支付給礦工。一般來說,這可能是一個小的數量(如1-2 Gwei),只有在網絡擁塞時是必要的。

新的交易方式

為了使這些更改成為可能,EIP-1559引入了一種基於EIP-2718類型交易信封的新交易格式。

0x2 || RLP([chainId, nonce, maxPriorityFeePerGas, maxFeePerGas, gasLimit, to, value, data, accessList, signatureYParity, signatureR, signatureS])

這種新格式的交易類型是0x2,有效載荷是RLP編碼的,類似於舊式交易。該類型和舊式交易之間的區別如下:

所述鏈ID現在是交易有效載荷的一部分,而不是像EIP-155中定義的那樣被編碼在簽名v值中。引入了兩個新字段:maxPriorityFeePerGas和maxFeePerGas,以替代舊的gasPrice字段。用戶可以在EIP-1559交易中指定accessList,而不需要EIP-2930“可選訪問列表”交易類型。對於EIP-155交易,簽名v值被替換為signatureYParity,它現在是0或1,這取決於使用橢圓曲線上的哪個y坐標,而不是EIP-155 交易的27、28 或35、36……。

舊式交易(“type-0”交易)仍然可以工作,但(通常)會導致交易支付過高。它的工作原理是使用傳統的gas 價格作為每個gas 的最大優先費用和每個gas 的最高費用。

每gas最高收費及每gas最高優先收費

EIP-1559引入了最大費用(每gas)和最大優先費用(每gas)。這些決定了用戶願意為交易中使用的每一gas支付多少錢。類似於gas價格的運作方式,如果用戶的交易每gas的最大費用是10 Gwei,用戶的交易使用21,000gas,那麼最終將支付(最多)21,000 × 10 Gwei = 0.00021 Ether。

然而,用戶實際支付多少取決於基本費用。最大費用為10 Gwei,基礎費用為5 Gwei,用戶最終將只支付5 Gwei 的每個gas(暫時忽略優先費)。每個gas的最高費用規定了用戶最多願意支付多少。如果這個數字低於當前的基本費用,您的交易將不會被確認(直到基本費用下降或交易從交易池中刪除)。

優先費用是在基礎費用之上支付的,所以用戶最終要支付的是基礎費用+(最大)優先費用,假設最大費用大於當前的基礎費用。

不是所有的應用程序都支持EIP-1559(目前)。當發送舊式交易(帶有gas價格,而不是最大費用和優先費用)時,gas價格值同時用作最大費用和優先費用。我們假設當前的基本費用是10gwei,用戶發送了一筆上限為20gwei的交易(所以最大費用和優先費用為20gwei)。在這種情況下,用戶最終將支付10gwei作為基本費用,剩下的10gwei將支付給礦工。與使用較低的最大優先級費用相比,這導致用戶為交易支付了過多的費用。

這對用戶來說意味著什麼?

一個常見的誤解是,EIP-1559將使以太坊的gas費用下降。然而,這不是EIP-1559的目標,而且在網絡擁塞嚴重的時候(例如,在ico或NFT銷售期間),基本費用可能會增加很多。然而,既然基本費用不是基於首次拍賣價格,那麼平均交易費用應該更容易預測。因為區塊大小可能更大,這通常意味著用戶的交易將被更快地確認。