EIP-1559:以太坊費用市場的最大變革

買賣虛擬貨幣

撰文:Hasu&Georgios Konstantopoulos

如果實施,以太坊改進提案EIP-1559[1] 將會帶來任何主要區塊鏈網路中使用者競價區塊空間方式的最大改變。雖然此提案的規則相對簡單,但它將對使用者、礦工和錢包提供商將帶來重大的變化,甚至會給整個以太坊網路的安全性帶來影響。

在這篇分析性文章中,我們將理清此提案的不同元件模組,使其更容易理解。然後根據此提案的設計目標來對其進行分析,最後再來審視一下此提案可能存在的弱點。

設計目標

EIP-1559 有著四大設計目標:

1. 更好的使用者體驗 (UX):當前,諸如比特幣和以太坊等區塊鏈網路都使用更易於理解和實施的最高費用拍賣模式(First price auctions,這種模式下,出價更高交易費的交易往往會更快被礦工打包),但這種模式也存在效率低下的問題。其中最大的問題之一就是使用者的交易費預估(fee estimation) 容易過高或過低。

EIP-1559 提案試圖透過使所有的交易都儘可能支付相同的費率,從而解決這一問題。基於此提案,在大多數情況下,使用者只需要決定是否願意接受和支付此筆費用,而不再需要決定出價多少。由於這將會帶來更好的交易費預估,因此有望帶來更低的交易費。

2. 彈性的區塊大小限制:使用者對區塊空間的需求可能是不穩定的,其結果是,一些區塊的空間只使用了一半,而另一些區塊則非常滿。一個彈性的區塊大小限制將允許某些區塊更大,只要其他區塊更小。透過這種方式,我們可以執行一個更長期的平均區塊大小限制,同時允許單個區塊的大小存在差異。

3. 更好的安全性:對於僅依靠交易費來保證安全性的區塊鏈 (比如未來的比特幣鏈) 來說,當區塊獎勵耗盡時(備註:未來當所有 2100 萬比特幣挖出時,比特幣區塊獎勵歸零,礦工的唯一收益將來源於使用者的交易費),該區塊鏈可能會遇到問題。

EIP-1559 旨在從交易費中解決網路的安全問題。基於此提案,交易費將被銷燬,而礦工(或 Eth2驗證者)將獲得更可靠的永久性區塊補貼作為激勵。

4. 阻止經濟抽象問題:當使用者可以使用任何代幣 (比如穩定幣) 來支付交易費時(這被稱為經濟抽象),這將威脅區塊鏈原生代幣的儲備地位和價值增值。EIP-1559 提案透過在交易中銷燬一定數量的 ETH,從而使經濟抽象問題更難以發生。

如何運作?

01. BASEFEE (基本交易費) + Tip (小費)

作為 EIP-1559 提案的首個構建模組,協議將要求使用者支付一筆稱為BASEFEE的最低交易費。[備註:BASEFEE 直譯過來就是“基本費用”。根據此提案的發起者Eric Conner所述,以太坊協議會根據網路的擁堵情況對 BASEFEE 進行上下調整,也就是說,BASEFEE 並不是固定不變的]。

在當前的以太坊或比特幣網路中,通常是難以執行最低交易費模式的,因為協議無法阻止交易打包的外部價格發現:比如,協議可以規定一個交易費價格A,但如果礦工和使用者之間協商了一個更低的價格B,那使用者可以根據協議規定向礦工支付費用A,但之後礦工可以在協議之外向使用者退款。

EIP-1559 提案透過銷燬所有的 BASEFEE來解決這一問題。

基於 EIP-1559 提案,由於礦工不會獲得任何的 BASEFEE 費用,使用者必須透過另一種方式來激勵礦工打包自己的交易。這將我們帶到了使用者的角度。基於此提案,當使用者在提交交易時,必須設定兩個值:

首先,使用者需要設定一筆 GAS_PREMIUM (稱為 "Tip"(小費)) 作為使自己的交易被打包的出價。大多數情況下,這筆費用只需要足夠補償礦工挖出叔塊的風險 (比如 1 Gwei 即可)。而在交易擁堵期間,這種方式還可以在交易者之間沿用之前的最高價拍賣模式(即在擁堵期間,透過增加 Tip 費用來使自己的交易更快被打包)。

其次,使用者需要設定一個FEECAP(費用上限),這個值代表使用者願意支付的最高費用(這個值包含了 Tip 費)。這是有必要的,因為BASEFEE 實際上可能會上下浮動(比如一分鐘之內發生變化),對於設定了一個相對較低的 FEECAP 值的使用者,意味著可以等到其交易在稍後的區塊中被打包。

總之,BASEFEE 允許協議執行一種最低費用模式,同時不會激勵一個鏈下費用市場形成(即不會出現使用者私下與礦工協商交易費的問題)。它為形成一個更加靈活的區塊空間使用機制 (比如統一的價格拍賣和彈性的區塊大小) 奠定基礎。

上圖:BASEFEE 作為 EIP-1559 提案的一個組成模組,帶來彈性的區塊大小限制、更好的費用拍賣機制、更加可預測的礦工收入等。

02. 彈性的區塊大小限制

更加靈活的區塊大小是可取的,但無上限的區塊大小將存在激勵問題:更大的區塊將導致更高的叔塊率,進而激勵礦工集中化。此外,驗證成本必須得到控制,這樣區塊鏈網路才能維持其無須信任性。

這就引入了彈性的區塊大小機制。其目標是允許礦工建立更大的區塊,但只需要支付可被證明的成本。增加的孤塊率本身並不是一個可被證明的成本,因為這一成本可以透過增加挖礦的集中化來降低,但在協議內銷燬的交易費就是一種可被證明的成本。

基於 EIP-1559 提案,礦工可以週期性地超過區塊大小限制,以應對激增的交易需求,但只有當使用者真正存在需要併為此付費的情況下才會這樣做。BASEFEE 機制透過引入實際的成本 (費用銷燬) 來抑制礦工將垃圾交易填充進他們的區塊。

由於當前的EIP-1559 提議使用兩個值(長期目標是每個區塊1000萬Gas&新的區塊Gas上限是2000萬gas) 來取代當前固定的區塊大小上限(備註:當前以太坊區塊的Gas上限為1000萬),使得應對激增的交易需求成為可能。

長期來看,以太坊網路會上下調整 BASFEE來達到期望的平均區塊大小:

當區塊大小低於這個目標平均值時,BASFEE 就會隨著時間的推移而減少,從而推動對區塊空間的需求;

當區塊大小超過這個平均值時,BASFEE 就會隨著時間的推而移增加,從而抑制對區塊空間的需求。

區塊大小的變化是由其與 1000 萬 Gas 的差距來決定的,但每個區塊都可以在此基礎上增加或者減少12.5%的上限。

總結而言,對於使用者來說,BASEFEE 的上下調整機制將使交易的成本更高或更低,從而達到所期望的區塊空間利用率水平。

預期的影響

01. Better UX 更好的使用者體驗

為了評估使用者和錢包提供商的體驗,我們需要考慮系統處於不同的擁堵情況。

當網路不擁堵的時候:基於 EIP-1559 提案,無論何時當區塊低於 2000 萬 Gas 的最高上限時,使用者沒有理由去增加自己的 Tip 費用(只需按最低標準支付),即便 BASEFEE 會隨著時間的推移而上下浮動。

這種情況下,交易的打包完全由 BASEFEE 決定。願意支付這筆BASEFEE + 最低的 Tip 費用的使用者,其交易將被打包進入下個區塊。無論何時當網路不擁堵時,使用者都可以以固定的價格購買區塊空間。這與當前你前往亞馬遜上看到某個固定價格的商品 (而無需透過拍賣對其進行競價) 的體驗是一樣的。使用者要麼選擇接受這個價位,要麼離開。這帶來的結果是,使用者和錢包的費用預估將變得高度可預測。

使用者甚至可以將交易的 FEECAP 設定成比當前的 BASEFEE 更低,這意味著使用者願意等到之後當 BASEFEE 變得更低時使自己的交易被打包。

當網路擁堵的情況時:隨著區塊大小超過 1000 萬 Gas 的區塊被挖出,BASEFEE 將開始增加。事實上,BASEFEE 費用會一直增加,直到某個大小為 1000 萬 Gas (或更低) 的區塊被挖出。

如果下一個區塊的大小是1000 萬 Gas,那麼 BASEFEE 將為穩定在當前的費用水平。

如果下一個區塊的大小低於 1000 萬 Gas,那麼 BASEFEE 將會開始降低。

這是一個非常重要的認知。如果區塊大小已經有一段時間高於 1000 萬 Gas,那交易費可能會很高,這最終將使得使用者交易需求的回落。那這種情況下,交易的成本上升得有多快呢?

假設在區塊0的 BASEFEE 是每單位的 Gas 價格為 10 億 wei,同時假設 ETH 價格為 240 美元,那麼一筆典型的消耗 21,000 gas 的交易的成本將是0.0005美元。如果之後的 10 個區塊的大小是 2000 萬 Gas,那麼交易的成本將是0.02美元,等到第 100 個區塊時,交易成本將是657美元。這就是指數增長的力量!見下圖:

圖1:30分鐘內,滿塊的交易費呈指數增長。

隨著區塊接近 2000 萬 Gas 的上限,預計有著緊急交易需求的使用者將會使用 Tip 拍賣方式(即透過增加 Tip 費用來使自己的交易儘快被打包),因為此時協議已不再採用二進位制方式確定交易的優先順序 (這種情況出現之前,使用者可以選擇是否願意接受當前的 BASEFEE 費用)。

其結果是,在網路擁堵期間,協議將會重新使用當前的最高價拍賣模式。

即便是在 Tip 費用競價期間,BASEFEE 對於交易者來說也是可以預測的。假設 BASEFEE 在區塊0的起始值是 100,那麼這個值在 T1 處至多可以達到 100 * 112.5%,在 T2 處達到 100 * 112.5%^2,在 T3 處達到 100 * 112.5%^3,以此類推。這同樣適用於 BASEFEE 逐步降低的情況。

下圖中的藍色部分顯示了這個初始 BASEFEE 值 (本例中是 100) 在未來區塊中可能增長的值。

圖2

擁堵加劇的情況:如上所述,EIP-1559 允許在短時間內 (而不是長時間) 出現較大的區塊。在激增的需求持續了 30 分鐘之後,對於一筆消耗 21000 Gas 的交易來說,BASEFEE 費用將已經超過了 1000 美元 (假設初始的 BASEFEE = 1 Gwei)。

使 BASEFEE 回落到更加“正常”的水平的唯一方法是挖出小於 1000 萬 Gas 的區塊。

想象一下,如果已經有連續 100 個區塊大小是 2000 萬 Gas,沿用上面的例子,此時平均的交易成本已經增長到了 657 美元以上 (BASEFEE + Tip)。要想讓 BASEFEE 重新回落至初始值,就必須開採89 個空塊;或者,我們也可以開採183 個大小為 500 萬 Gas 的區塊,或者371 個大小為 750 萬 Gas 的區塊,以此類推。見下圖:

圖 3:當連續 100 個區塊為滿塊時,要想讓 BASEFEE 回落到初始值需要開採的區塊數量。

因此,在高度擁堵的情況下,典型的情況是一些很大的區塊,之後跟著一些非常小的區塊。這是有理由的,因為這種情況下,需要緊急進行交易的使用者可以更快地使自己的交易被確認。但最終,BASEFEE 的增長會超出交易者的需求,使得交易者不得不等到 BASEFEE 再次下降。

02. 寬鬆的機制

在瞭解了 EIP-1559 提案如何對網路擁堵情況做出反應之後,我們可以看到,其彈性的區塊大小限制寬鬆機制與 BASEFEE 在各個區塊的最大變化量之間緊密相關。BASEFEE 調整得越慢,系統就越能優雅地處理交易需求的變化。

這種變化與“晝夜迴圈”或者“工作日-週末迴圈”有著類似的週期性。根據當前的 EIP-1559,此提案不允許區塊在夜間和白天持續變大,因為這些時段過長,交易費將在白天迅速飆升至數十億美元,而在晚上同樣會迅速降至接近於零。

因此。這種寬鬆的機制是在幾分鐘到半小時的時間框架內運作的。交易需求 (不管高低) 使區塊大小往增加或者減少的方向持續得越久,那麼將 BASEFEE 被拉回來的力度就越猛烈。

03. 更好的安全性

很多區塊鏈 (比如比特幣) 都有通縮的貨幣政策,這意味著其發行的新幣數量會隨著時間的推移而下降。當發行率下降到足夠低的水平時,支撐網路安全性的激勵就來自於交易費用。EIP-1559 與這種只依賴交易費來保護網路安全性的模式不相容,因為基於EIP-1559,大部分的交易費將不會用於激勵礦工,而是被銷燬。

因此,可以說 EIP-1559 假設的是礦工有著永久性的區塊補貼,以確保協議的安全。但對其更好的一種思考方式是:EIP-1559 使得永久性的區塊補貼作為一種設計方案更加可取,因為被銷燬的交易費對於 ETH 來說起到了貨幣緊縮的作用,從而允許在其他方面發行新的 ETH (比如作為獎勵給與 Eth2 驗證者而發行的 ETH) ,不會使整體的供應膨脹。

由於具有永久性區塊補貼的協議,能夠為礦工帶來更穩定的收入流,可以公平地說,EIP-1559對以太坊的長期安全和穩定性而言具有積極的影響。

04. 阻止經濟抽象問題

在實施 EIP-1559 提案之前,從技術上來說,交易費用不一定是要用 ETH 支付。雖然以太坊網路僅支援以 ETH 支付交易費用,但理論上使用者可透過元交易使用任何他們想要的代幣向礦工支付費用。但是,礦工也可以透過 MEV間接獲得報酬。例如,一個礦工可以打包一筆不包含任何交易費的 DEX 交易,因為他可以透過搶先交易在其他地方賺錢。

但 EIP-1559 可以在很大程度上解決了此問題。因為每筆交易的 BASEFEE 都以 ETH 計價,並且總是會被銷燬。在這種情況下,無論是誰支付這筆費用,都會有 ETH 從供應中被銷燬。

礦工仍然可自由選擇去打包有著較低的 BASEFEE 費的交易,但前提是該礦工需要從自己的區塊獎勵中拿出一部分來支付這筆較低的 BASEFEE 費與當前協議設定的 BASEFEE 費之間的差額。這樣一來,這名礦工從該區塊中獲得的 ETH 區塊獎勵就減少了,而這筆交易的使用者就省錢了。必須要有人使用 ETH 來支付這筆差額費。

我們說“很大程度上解決了經濟抽象的問題”,是因為EIP-1559 可以阻止的是 BASEFEE 的經濟抽象,但它不能阻止 Tip 費可能發生的經濟抽象問題。由於 Tip 費沒有被銷燬,因此協議就無法強制付款方式或付款地點,那麼就有存在鏈下市場的可能。但是,正如我們前面所展示的,在大多數情況下,使用者沒有必要將其 Tip 費用提高到最低要求之上。

可能存在的問題

EIP-1559 提案的一個主要擔憂是礦工是否能夠操縱 BASEFEE,以及他們是否想要對其進行操縱。

當 BASEFEE 為 0 時,由於此時不存在銷燬,礦工會獲得使用者的全部出價。也需要記住的是,只有在對區塊空間的需求超出供應的區塊空間時,使用者才會開始進行 Tip 競價。

一旦 BASEFEE 接近於零,礦工們就可能會使用一個簡單的策略來將 BASEFEE 永久保留在這個水平:如果他們從不開採高於 1000 萬 Gas 的區塊,BASEFEE 也就不會增加。如果需求從未超過 1000 萬 Gas(或礦工決定設定低於 1000 萬 Gas 的區塊限制),則礦工將獲得全部的交易費用。

但是,對於礦工整體來說是最好的選擇,對於單個礦工來說不一定是最佳選擇,這就是集體行動問題(collective action problem)。如果區塊的上限為 1000 萬 Gas,但市場有著對 2000 萬 Gas 的交易需求,那麼只要有一個礦工就可以打破聯盟,打包這些包含 Tip 費用的交易。

想要將這種現象轉變為穩定的壟斷態勢,就需要進行一次由某個礦工啟用的軟分叉 (MASF)。在 MASF 中,超過 50% 的算力將用於忽略任何大於 1000 萬 Gas 的區塊,從而激勵少數人遵循新實施的規則。

由於這種攻擊向量存在於任何網路上,因此我們目前不認為這是特定於 EIP-1559 的風險。

寫在最後

我們發現 EIP-1559 在很大程度上可以實現其承諾。除了非常短暫的高擁擠狀況外,此提案應該可使交易費預估變得更具可預測性,而在高度擁擠的情況中,系統將會返回至當前的這種最高價拍賣模式。由於 BASEFEE 會以指數方式增長以抑制需求,因此高度擁擠的持續的時間並不會太長。

作為 EIP-1559 提案的一個有趣的組成模組,BASEFEE 使得這些好處成為可能。此機制在協議中設定一個最低費用的能力開闢了一個全新的設計領域,從彈性的區塊大小、永久性的區塊獎勵、更好的抵禦經濟抽象,到未來更好的拍賣模式等到。

EIP-1559 提案很有前景,但這並不意味著此提案也是最好的。我們僅根據此提案的目標來評估現有的一組引數。對此機制的不同配置進行進一步研究是個好想法。

如果你想複製我們的數字和圖表,或者執行自己的實驗,歡迎訪問我們在GitHub提供的程式碼[2]。

[1]https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1559.md

[2]https://github.com/gakonst/eip1559/

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;