思考 | EIP-1559是以太坊Gas的救星嗎?

來源:IOSG

作者:IOSG ventures

EIP-1559 前以太gas費是怎麼算的?

在以太坊中,交易所需的 gas 費計算方式是:

TransactionFee = GasPrice × GasLimit

其中 Gas Limit 代表你願意為這筆交易支付的最大 gas 量,這通常取決於交易的複雜程度。Gas Price 指的是 Gas 的價格,即你願意為每個單位的 gas 所支付的 ETH 數量。

目前以太坊費用機制使用的是首價拍賣模式。用戶需要向以太坊網絡提交出價(他們願意支付的 Gas Price)。每當生成一個新的區塊時,礦工將把 Transaction Fee 最高的那些交易打包進區塊里。每一筆交易都會按照它的出價來支付 gas 費。

我們通常說的“支付更多的 Gas 費” 意思是增加某筆交易的 Gas Price 以獲得被打包的優先權。例如在 Metamask 中,有 “慢”、“平均” 和 “快” 這 3 個 Gas Price 選項供用戶選擇,用戶通過這個選項支付更高的 Gas Price 來加快自己的交易被打包。

問題在於,用戶與錢包都無法準確估計他們應該支付的 gas 費,事實上用戶總在支付高於他們本應支付的價格,來確保交易的順利進行。我們可以從下圖中看出,ETH 交易費的平均值一直高於它的中位數,並且當網絡擁堵的時候差值尤其的大。

思考 | EIP-1559是以太坊Gas的救星嗎?

ETH 交易費的 平均數 / 中位數 (來源: CoinMetrics)

EIP-1559會改變什麼?

EIP-1559 可以稱作是以太坊歷史上最令人期待的提案之一。它對以太坊網絡的交易費機制進行了很大改造,主要可以概括為:

  • 引入彈性區塊大小的機制,每個區塊的最大 Gas Limit 被提升至原來的 2 倍,礦工可以在網絡擁堵的時候彈性地改變區塊的大小。
  • 原本單一的交易費被更改為固定費用 (Base Fee)加上小費(Inclusion Fee)的模式,固定費用是必須支付的部分,並且會根據上一個區塊的 Gas 使用情況進行動態調整。且每個區塊的固定費用部分都會被燒毀,不會給到礦工。

彈性區塊大小允許礦工動態擴張或縮小區塊大小來處理暫時性的網絡擁堵。有了 EIP-1559 之後,每區塊的目標 Gas 限值還是 15M,  但是最大 Gas 限值會從 15M 調整到 30M(差不多2倍)。如果區塊中使用的 gas 量比目標 gas 限值少,那麼代表網絡是不擁堵的,下一個區塊的固定費用會降低。如果如果區塊中使用的 gas 量比目標 gas 限值多,那麼代表網絡是擁堵的,下一個區塊的固定費用會升高。我們會在下文仔細講解這種機制。總的來說,交易量的波動原先會轉化為交易費的波動,而如今轉化為區塊大小的波動。

思考 | EIP-1559是以太坊Gas的救星嗎?

區塊擁堵程度 (來源: IOSG Ventures)

EIP-1559 引入一種新的交易費用機制,來解決首價拍賣模型中的問題。每區塊固定費用是“基礎費用(Base Fee)”,給礦工的額外的激勵是“小費(Inclusion Fee)”。所以交易費變為:

TransactionFee = BaseFee + InclusionFee

進一步分解:

TransactionFee = BaseGasPrice × GasLimit + InclusionFee

Base Gas Price 代表每個區塊的 Base Fee 里的 Gas 的單價,每個區塊的 Base Gas Price 是固定的,而且價格高低由前一個區塊的擁擠程度來決定,

BaseGasPrice = PreviousBaseGasPrice × (1 + k × CongestionLevel)

其中 Congestion Level 代表區塊的擁擠程度,Previous Base Gas Price 代表上一個區塊的 Base Gas Price。k是調整速度係數,0 < k < 2。而根據 EIP-1559 的初始設定,k=1/8。擁擠程度會根據每區塊中使用的 gas 量是否大於目標 gas 限值來決定。

CongestionLevel = (PreviousBlockGas / UsedTargetGasUsed – 1)

總結來說,我們可以看到,

0.875 × PreviousBaseGasPrice ≤ BaseGasPrice ≤ 1.125 × PreviousBaseGasPrice

假設 gas 限值相同的情況下,

0.875 × PreviousBaseFee ≤ BaseFee ≤ 1.125 × PreviousBaseFee

當網絡擁堵時,每過一個區塊后 Base Fee 最多會增加 12.5%,Base Fee 不斷增加直到用戶因為交易不再盈利而減少交易,所以這種機制可以緩解擁堵的網絡;當網絡不擁堵的時候,每過一個區塊后 Base Fee 最多會減少 12.5%,Base Fee 的下降激勵用戶增加交易。

小費是用戶付給礦工加速交易用的。小費是可選項,可以設置成零。礦工仍然用首價拍賣模式來優先選擇有更多小費的交易來打包進下一個區塊。

通脹還是通縮?

以太坊每年的通脹率為4%,每個區塊會鑄造 2 個 ETH 作為固定區塊獎勵。在 EIP-1559 中,Base Fee 里的 ETH 都會被燒毀,這會對 ETH 的價格產生通縮壓力。

思考 | EIP-1559是以太坊Gas的救星嗎?

區塊獎勵分解 (來源: IOSG Ventures)

倫敦升級和 EIP-1559 提案已經在區塊高度 10499401 部署在了 Ropsten 測試網。目前社區正在觀察 EIP-1559 的表現,以及gas費會怎麼變化。最近,許多文章和評論都刊登了http://watchtheburn.com/ 這個網站的截圖,這個網站在監測有多少 ETH 被 Base Fee 燃燒掉。

思考 | EIP-1559是以太坊Gas的救星嗎?

Ropsten 測試網上燒毀的 ETH (來源: watchtheburn.com)

截至目前,從區塊高度 10499401 到 10512250,總共燒掉了 88571 個 ETH。也就是說在12859 個區塊中燃燒了 88571 個 ETH,同時有 2 * 12859 = 25698 個 ETH 被鑄造。這意味着 ETH 確實因為 EIP – 1559 變得“通縮”了!

但是 EIP-1559 在以太坊主網上線后也會是這個結果嗎?我們覺得不會。

我們認為在 Ropsten 上之所以燃燒了這麼多的 ETH,是因為網絡有許多不尋常的連續的擁擠的區塊,這些擁擠的區塊將Base Gas Price 推到很高,並且持續了很長一段時間。一個很好的證明是區塊高度 10503157 到 10504352,Base Gas Price 從 98.45 Gwei 增加到了 82851 Gwei,在 1195 個區塊中增長了 841 倍。

思考 | EIP-1559是以太坊Gas的救星嗎?

Rospten測試網中區塊高度為10499401 到 10506825 的基礎費用價格 (來源: IOSG Ventures)

這種情況很特殊,更像是開發者在測試網上做的極端測試。

主網上線后不會出現相同的情況,因為逐步提高的 Base Fee 會迫使需求不那麼強烈的用戶不進行轉賬,進而把區塊大小恢復到目標大小,從而降低 Base Fee。

以太坊社區的 @barnabemonnot 做的模擬展示了 Base Fee 到達一個峰值之後可能的走勢   

思考 | EIP-1559是以太坊Gas的救星嗎?

Base Fee 模擬 (來源: @barnabemonnot) 

我們預測當主網高度擁堵的時候,一個常見的規律會是幾個大型區塊后緊接着幾個小型區塊。高度擁堵的情況不會超過5分鐘,以太坊還是會通脹但是通脹率相對較低。

交易費會下降嗎?

EIP-1559 主網上線之後,交易費會下降嗎?是的,我們認為雖然降低交易費並不是 EIP-1559 提案的最終目的,但是它確實會降低以太坊網絡的交易手續費。

首先,因為交易費被分為了 Base Fee 和小費兩部分。過去人們增加 gas 單價來加快交易被打包確認,整個交易費被增大。而現在改成通過增加小費來加速交易被打包,這並不會影響到 Base Fee,Base Fee 仍然只是反映着網絡的擁堵情況,小費則反映着用戶對交易能否成功的緊急程度,這兩個部分不會再混在一起了。因此用戶更清楚自己至少需要出多少交易費,用戶變得更加理性後會減少過度競價,這樣就能讓 gas 費降下來。

思考 | EIP-1559是以太坊Gas的救星嗎?

Gas Fee 分解 (來源: IOSG Ventures)

第二,可變的區塊大小可以在交易量大的時候作為緩衝,把 gas 費的波動轉化為區塊大小的波動。所以當交易量激增時,gas 費會比以前上漲得緩慢。

最後,EIP-1559 上線之初 Base Gas Price 會被設置為 1 Gwei,相較於最近 20+ Gwei 的 gas 價格,這會在剛上線的時候把 gas 費短暫地拉低。

另一方面降低 gas 費並不是 EIP-1559 的目的。它的目的更多的是想要讓 gas 費的變化變得更加平穩,減少用戶過度競價,並且讓gas費有更高的可預測性。

錢包和用戶會怎麼樣呢?

錢包對 gas 費不再是估算而是精準計算,因為現在可以準確計算出下一個區塊的 Base Gas Price 了,用戶對交易費用的數額有更清楚的認知。錢包會顯示下個區塊的Base Gas Price,並且允許用戶設置小費來加快打包。

錢包開始設計新的UI模板,以下是Metamask(非官方)和Status(非官方)的模板。

思考 | EIP-1559是以太坊Gas的救星嗎?
思考 | EIP-1559是以太坊Gas的救星嗎?

錢包頁面模擬 (來源: @tvanepps from HackMD)

對用戶來說,最大的不同就是他們不再需要猜測交易費用的高低,他們不用去猜測自己付的交易費夠不夠高,能不能被打包進區塊;或者自己付的交易費用夠不夠低,有沒有白白多支付費用。現在 Base Fee 就像一個定價銷售,用戶只需要決定是否能夠接受這個定價。

用戶可以根據下一個區塊的 Base Gas Price 來設置一個 Base Gas Price Cap,即用戶願意支付的最大 Base Gas Price。這麼做的原因是當用戶進行支付時,可能已經有新的區塊生成因此 Base Gas Price 發生了改變,而如果用戶設置一個稍微高一點的 Base Gas Price Cap 就可以讓他的交易在接下來的幾個區塊里被順利打包。Base Gas Price Cap 和交易被打包區塊的 Base Gas Price 的差額是會被退回給用戶的。

這就是說,即使用戶高估了下一個區塊的 Base Fee,然後設置了一個過高的 Base Fee Cap,他也不會過度支付 Base Fee。例如下個區塊的 Base Gas Price 是 200 Gwei,而用戶設置的最大 gas 價格是 300 Gwei,如果交易是被下一個區塊打包的,那用戶還是只需要按照 200 Gwei 的 gas 價格來付費!這是一個對用戶友好度的大改進!

礦工會怎麼樣呢?

毫無疑問,一些礦工會認為 EIP-1559 是一個壞消息。原本所有交易費都歸礦工所有,而現在只剩下小費會給到礦工,而BaseFee的部分會被燒毀掉,因此礦工們將會失去部分收入。

思考 | EIP-1559是以太坊Gas的救星嗎?

區塊獎勵流出方向對比 (來源: IOSG Ventures) 

毫無疑問,一些礦工會認為 EIP-1559 是一個壞消息。原本所有交易費都歸礦工所有,而現在只剩下小費會給到礦工,而BaseFee的部分會被燒毀掉,因此礦工們將會失去部分收入。對於MEV而言,礦工在EIP-1559后仍然有調整交易在區塊中的順序的能力,所以MEV的基本面保持不變。

下圖是 Flashbots 基於MEV佔比的礦工收入明細。我們假設對於一個非MEV交易,Base Fee 通常會比小費多很多,所以下圖中大部分的橙色區域會被燒毀,小部分因為小費的存在而留下;而對於礦工MEV收益的部分,大部分MEV收益是來自於 Flashbots 里的 searcher 支付的打包費,和礦工通過往區塊里混入自己的交易得到的收益。被燒毀的 Base Fee 和前兩個部分相比十分小。所以下圖中大部分的綠色區域會保留,大部分的MEV收益仍會被捕獲到。

思考 | EIP-1559是以太坊Gas的救星嗎?

礦工利潤分解 (來源: Flashbots)

從長期前景來看,EIP-1559 給 ETH 帶來通縮壓力;ETH 的價格升值最終會讓礦工受益。如果礦工在 ETH 數量上損失了25%,但 ETH 價格上漲了35%,礦工的美元收入仍然是不變的。

也有提案是說,與其燒掉所有的 Base Fee,不如將其中的一小部分與礦工分享。總而言之,所有這些都可以根據 EIP-1559 的表現進行協商和調整。

EIP-1559 會對 Flashbots 的使用有影響嗎?

Flashbots 的用戶是通過 EIP-1559 引入的新費用機制競拍還是繼續使用 Flashbots 呢?新費用機制的小費部分似乎可以用於競拍。

Flashbots 提供的一個重要的功能叫做 pre-trading privacy,交易只有在被打包進區塊之後才會被公開。Flashbots 使用首價密封投標拍賣的方式,所有用戶同時提交密封的交易包以及競價,沒有競拍者會提前知道其他人的交易包的內容和所出的競價。所以用戶不用擔心被搶先交易,因為他的交易是全程被密封着的。

因為無法提供 pre-trading privacy,所以 EIP-1559 不能代替 Flashbots。假設套利者提交了一個能夠盈利 $100 的交易進入內存池,並附上有 90$ 的小費。這個交易在進入池子的時候就會被公開,其他套利者可以複製他的交易,並且提交一個新的有更高小費的交易, 比如帶有 $95 的小費的新交易。於是新的交易會被打包進區塊,原來的套利者就因為被搶跑而失去了套利機會。EIP-1559 沒辦法改變這種情況,無法給用戶提供搶跑保護。

沒錯,即使在 EIP-1559 上線之後,以太坊用戶還是會大量使用Flashbots,來尋找進入區塊無風險入口以及搶跑保護。

結論

EIP-1559 引入了新的 gas 費機制,用 Base Fee + 小費的模式代替了單一的費用機制。以太坊區塊大小具有了彈性,由此將 gas 費的變化轉嫁為區塊大小的變化。在 EIP-1559 上線后, 以太坊網絡的交易費會變的更低並且有更大的可預測性;ETH 仍會是通脹的狀態但是通脹率會降低;以太坊網絡擁堵的情況會得到緩解;用戶體驗度會得到提升。這些改變會大大提升以太坊的可用性,並讓更多的用戶最終向以太坊傾斜。

雖然礦工短期會損失一些收益,但是長遠來看最終會享受到以太坊價格上漲帶來的更多收益。礦工依然擁有調整區塊中交易順序的自由,所以 MEV 的基本面並沒有被改變,但由於 Base Fee 的燃燒,礦工在 MEV 方面的收益會相應減少;EIP-1559 不能代替 Flashbots 提供 pre-trading privacy的功能,所以需要防止交易被搶跑的用戶仍然需要使用 Flashbots。

EIP-1559 已經在 Ropsten 測試網上線,之後會陸續登陸 Goerli、Rinkeby 和 Kovan 等測試網。在測試完備后,EIP-1559 預計會在7月底進行主網上線。 

本文鏈接:https://www.8btc.com/article/6657377

轉載請註明文章出處

(0)
上一篇 2021-07-06 11:31
下一篇 2021-07-06 11:32

相关推荐