EIP-1559 不能減少網絡擁堵,但它能降低用戶干預交易的需求,同時也更加經濟。

推薦閱讀:《觀點:以太坊礦工會接受 EIP-1559 提案,爲什麼?

原文標題:《在礦工反對的情況下,Vitalik 爲什麼堅持 EIP-1559 提案》
撰文:談國鵬,Ownbit 創始人

最近有不少關於 EIP-1559 的文章,但是一般都晦澀難懂。我用比較通俗的語言講一下我對 EIP-1559 的理解。

EIP-1559 是一個改進以太坊手續費機制的提案,由 Vitalik 等人在 2019 年 4 月提出,距今已經討論、優化近 2 年。雖然它只是一個以太坊的優化提案,但是相應機制已經被 Filecoin 所採用。因此它從理論和實踐層面都有一定的說服力!

然而,對於 EIP-1559 的反對和質疑,就如同贊同它的聲音一樣,非常的明顯和強烈。因此它充滿着爭議,並且對它的實施存在一些風險(分叉、抵制等)。

最簡單 EIP-1559 原理

當前以太坊手續費機制爲:fee = gasPrice* gasUsed。因爲特定交易使用的 gasUsed 通常不變化,因此整個手續費的核心要素就是 gasPrice。調整 gasPrice 的大小決定了你花費手續費的多少,以及你的交易被確認的速度。

EIP-1559 將 gasPrice 參數拆分爲兩個參數:BaseFee + Tip。其中 BaseFee 由系統決定,不需要用戶指定。而 Tip (又叫 GasPremium)是指額外小費,它決定了在相同 BaseFee 的情況下排序的優先權。

BaseFee

BaseFee 由系統計算,具體的邏輯你可以完全跳過,並不影響你對 EIP-1559 的理解。這裏簡單闡述一下其計算邏輯:

  • 每個區塊設置總 GasUsed 的均點爲:1250 萬,上限爲:2500 萬;

  • 當實際區塊使用的總氣超過均點時提升 BaseFee,低於均點時降低 BaseFee。

因此 BaseFee 會根據網絡流量的大小進行上下波動。我們看一下 Filecoin 的 BaseFee 走勢圖就會有一些感官認識:

Vitalik Buterin 爲何支持 EIP-1559?它對以太坊有何作用?Fiecoin BaseFee

在 EIP-1559 設計中,BaseFee 部分的手續費是直接銷燬的(只有 Tip 的部分獎勵給礦工),以抵制以太坊系統的通脹。該點也是礦工可能抵制的關鍵點,有觀點認爲,這將大大降低礦工的收入。該點的設計較爲獨立,我們不展開討論。

EIP-1559 有什麼用?

EIP-1559 有什麼用,纔是我們今天要討論的主要話題。首先我闡述一下我的觀點:它沒有什麼大用,但有一些小用。我分別來闡述一下:

EIP-1559 沒有什麼「大」作用

沒有什麼大作用是指它不能減少網絡擁堵,即它不是爲擴容而設計的。因此實施了 EIP-1559 後,以太坊該擁堵還是擁堵。(你可能認爲以上我的觀點錯了,EIP-1559 可能有一些擴容效果,因爲設置了硬頂爲 2500 萬,是現在的兩倍,因此可能有兩倍的擴容效果。這點沒錯,我之所以沒這麼說,因爲這種擴容效果並不需要通過 EIP-1559 來實現,簡單地提升區塊總氣量的上限即可達到,因此不做討論)。

另外, 它沒有什麼大作用,也是指它不能大幅降低用戶礦工費。用戶礦工費的本質是由供需關係決定的。在以太坊不能有效擴容,需求過於旺盛的情況下,任何改變手續費機制的措施,對於降低手續費這個目標而言,都是徒勞的!

EIP-1559 有一些「小」的作用

首先,我這裏講的小,是針對以上兩個大目標(降低擁堵、降低手續費)而言的。因此此處小並不是貶義,而是指一個程度。

通常用戶發出的交易可以分爲三種情況:

  • 情況 A:該交易必須下一個區塊就確認,例如一些劫持交易、參與某個 1CO 的交易。用戶不惜一切代價使其快速確認;

  • 情況 B:用戶期望該交易快速確認,例如在 5 分鐘內。並不一定要在下一個區塊,但是不希望等待太久,例如用戶充值交易所,進行數字貨幣的買賣;

  • 情況 C:用戶希望以較少的礦工費確認一筆交易,並不在意多等待數小時甚至數天。

對於情況 A,EIP-1559 的作用並不大。在 EIP-1559 情況下,爲了達到情況 A 的目標,我們需要去計算合適的 Tip,這點和現在計算合適的 gasPrice 並無差別。

對於情況 C 而言,EIP-1559 也是沒有任何優勢,我們設定一個 GasFeeCap(手續費上限)來達到該目標,這和我們目前設置一個固定較小的 gasPrice 也是別無二致的。

但是對於情況 B 而言,EIP-1559 卻有非常大的優勢。從用戶或者錢包開發者角度來看,幾乎不需要做什麼事情,便可以達成這個目標。在設置的 GasFeeCap 範圍內,你的交易總是可以以當前 BaseFee 的價格進入區塊。在固定 Tip 的情況下,你所花費的礦工費由系統決定。

因此這是最省心,也是用戶最友好的。而在 EIP-1559 之前,爲了達到情況 B 的目標,我們可能需要多次發送交易加速(Replace-by-Fee)。

EIP-1559 達到以上目標的本質是延後決定手續費的機制。即在 EIP-1559 之前,用戶生成交易即決定手續費的大小,而 EIP-1559 將手續費拆分成兩部分,其 BaseFee 的部分在打包時實時決定。這類似於編程環境裏常講的延遲加載、需要時加載等概念。

上述情況 B 也是最常見的情況,因此 EIP-1559 的實施, 對於用戶而言,是有相當大的作用的。它將降低用戶干預交易的需求,同時也將更加經濟(系統的 BaseFee 總是比用戶自行選擇的費用要更加經濟有效)。

總結

從用戶端和錢包開發這角度來說,EIP-1559 的作用和意義不能說小。雖然它不能解決擁堵的問題,也不能大幅降低交易礦工費,但是它卻可以讓以太坊系統手續費更加平滑、用戶使用以太坊交易的體驗更加友好。因此我想,這也是爲什麼在有很大爭議的情況下,技術導向的 Vitalik 堅持 EIP-1559 的主要原因吧!