Vitalik Buterin 為何支持 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 走勢圖就會有一些感官認識:

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 的主要原因吧!

0 条回复 A文章作者 M管理員
    暫無討論,說說你的看法吧