論文連結:https://arxiv.org/abs/2201.05574
英文版論文導讀:https://hackmd.io/n8hzOGmuTWusrhP34vXVCw
英文版論文導讀作者:William Zhao
論文導讀翻譯和補充:Yuxuan Lu
01 概 述
2021年8月5日,以太坊在其主網上實施了以太坊改進提案1559(EIP-1559),作為倫敦硬分叉的一部分,該提案將以太坊上的交易費用機制從一價價格拍賣修改為根據區塊大小而變化的拍賣。具體來說,EIP-1559 將交易費用拆分為和歷史相關的基本費用和小費,基本費用會在交易上鍊時被焚燬,而只有小費將被支付給礦工。這種全新的機制在實踐中的表現如何?
在這項工作中,我們使用來自以太坊區塊鏈、記憶體池和交易所的豐富資料分析了這一機制。在較高的層面上,我們發現 EIP-1559 透過簡化費用估算來改善使用者體驗,能夠減輕燃氣價格的塊內差異,並顯著減少使用者的等待時間。此外,EIP-1559 的實施對燃氣費用水平和區塊鏈安全性的影響較小。
02 交易費用機制
以太坊等公共區塊鏈網路接受來自網路上的交易並將其新增到鏈中。然而,處理這些事務和執行操作需要頻寬、計算和記憶體資源。此外,由於網路上節點的限制,在一段時間內可以處理的交易數量是有限制的。例如,以太坊每秒處理平均30筆交易。因此,為了有效分配資源和共識空間,區塊鏈透過交易費用機制(TFM)收取交易費用。
大多數區塊鏈採用比特幣的交易費用機制。簡而言之,這種機制是簡單的一價拍賣,其中:
使用者為她們的交易出價交易費用;
礦工選擇要包含在區塊中的交易;
礦工獲得區塊中所有交易的出價。
但是,一個顯然的問題是一價拍賣效率低下,在區塊鏈中使用這種簡單的一價拍賣可能需要使用者多付交易費用或等待很長時間。特別是在網路負載較高的時期,交易費用可能有巨大的波動,因此使用者很難做出正確的出價。如果出價過高,最終會導致多付錢;如果出價過低,我們可能會經歷很長的等待時間。在以太坊網路負載較高的事情,甚至在一個區塊中都存在交易費率相差十倍的交易,可見簡單的一價拍賣並不能很好地在區塊鏈中工作。
03 EIP-1559
EIP-1559 對以太坊的交易費用機制進行了四項重大更改。
首先,以太坊網路之前每個區塊的大小是基本固定的,而 EIP-1559 要求從塊的大小本身成為可變的。具體的,區塊燃氣上限從1500萬翻倍至3000萬,而區塊燃氣目標仍設定為1500萬,區塊燃氣目標指平均區塊大小。下圖顯示了 EIP-1559 之前和之後塊的燃氣使用分佈。
圖1. 每個點代表一個塊。在 EIP-1559 之前,幾乎所有區塊都使用了1500萬燃氣;在 EIP-1559 之後,使用的塊氣體在0-3000萬之間變化。
其次,EIP-1559 引入了由網路條件決定的基本費率引數。基本費率是每筆交易必須支付的最低燃氣費率。如果一個區塊的燃氣使用大於燃氣目標,則下一個區塊的基本費率會增加,否則下一個區塊的基本費率會減少。這樣形成了一個負反饋使得平均上區塊大小在燃氣目標附近。
圖2. 每個點代表一個區塊。EIP-1559 之前沒有基本費用。之後,基本費用在網路負載較大的時期會出現高峰。
第三,以向後相容的方式修改使用者出價的方式。除了所需的基本費用外,使用者還可以選擇在他們的交易中出價兩個引數,即最高優先費率(tip)和最高費率(cap)。優先費用使得使用者能夠激勵礦工優先將該交易上鍊。而最高費用是使用者願意支付的費用上限,包括基本費用和優先費用。最高費用對基本費用和優先費用之和之間的差額將退還給使用者。
最後, EIP-1559 要求所有基本費用被燒掉,而優先費用會支付給礦工。在 EIP-1559 之前,礦工在挖掘一個區塊後會賺取了區塊中所有交易的交易費用。實施 EIP-1559 後,它們僅僅能賺取小費。這意味著小費實際上是強制性的,因為礦工無法賺取基本費用,否則他們可能會挖掘空區塊。
04 本文目標
Tim Roughgarden [1] 使用博弈論分析研究了這種交易費用機制。事實上,他指出了它對短視礦工的激勵相容性。本文的目標是實證地評估 EIP-1559。具體來說,本文透過現實資料來回答以下三個問題:
EIP-1559 是否會在整體費用水平、使用者競價策略和塊內費用分配方面影響交易費用?
EIP-1559 是否影響交易等待時間的分佈?
EIP-1559 在分叉率、網路負載和礦工可提取價值(MEV)方面是否會影響共識安全?
05 本文發現
EIP-1559 是否會影響交易費用?
我們觀察到 EIP-1559 在實施的一個月內並沒有降低交易費用水平本身,但它使使用者更容易估算費用。高燃氣費是一個可擴充套件性問題,而不是機制設計問題。
在 EIP-1559 之前,使用者支付了全部出價,因此如果在出價後網路狀況變得不那麼擁擠,他們就很有可能多支付很多交易費用。然而,使用新的定價機制可以避免此類風險,因為使用者可以在出價中設定兩個引數:最高優先費率(tip)和最高費率(cap)。這種分離實現了一個簡單的競價策略,使用者只需將最大費率設定為其願意支付的最高費率,並將優先費率設定為礦工的邊際成本,這種定價策略是接近最優的。我們觀察到使用者在 EIP-1559 之後提交的出價與接近最優的策略是一致的。
圖3. 最高費率出價通常遠高於實際支付的費率。每個點代表一個區塊。
圖4. 在大多數情況下(<10 Gwei),優先費出價保持在低水平,特別是在區塊號1306萬之後。每個點代表一個區塊。
此外,我們還觀察到,採用 EIP-1559 格式出價的使用者支付的費用低於堅持以傳統方式出價的使用者,這意味著使用新的出價方式更容易估算費用。
圖5. 遺留交易和 EIP-1559 交易的區塊中值燃氣費率分佈。EIP-1559 交易的分佈總體上在遺留交易的左側,這意味著採用 EIP-1559 的使用者支付的燃氣費率更低。
EIP-1559 是否影響交易等待時間的分佈?
本文將交易的等待時間定義為第一次在記憶體池中觀察到某個特定交易的時間與交易被挖掘的時間之間的差。等待時間決定了交易的延遲。我們發現倫敦硬分叉之後的等待時間從約17秒減少到約10秒,這可能是由於更方便的天然氣價格競標和可變大小的區塊。這對採用新出價方式的交易和仍然採用傳統出價方式的交易都有利。因此,EIP-1559 改進了交易的等待時間,即使並非所有使用者都採用了它。
圖6. 交易等待時間中位數的分佈。它在 EIP-1559 之後向左移動,這意味著使用者的交易等待時間平均意義上縮短了。
EIP-1559 會影響共識安全嗎?
EIP-1559 在底層改變了以太坊的共識引數,它不僅改變了區塊大小還改變了對礦工和使用者的激勵。為了瞭解它對共識安全的影響,本文討論了 EIP-1559 可能影響共識的三種途徑:
- 分叉率。更大的區塊可能需要更多的時間透過網路傳播,並且如 Kartik Nayak [2] 所述,這可能導致更多的分叉,導致對敵手的防禦減弱,甚至可能在沒有對手的情況下影響共識本身的安全。我們的結果表明,EIP-1559 確實平均增加了區塊大小,因此也導致了約3%的分叉率上升。因此,它確實對共識安全產生了負面影響,但目前來看影響程度不大。
- 網路負載。另一種影響共識安全的途徑是 EIP-1559 產生的塊大小變化是否會顯著影響網路負載。為了回答這個問題,我們分析了不同時間間隔內使用的網路負載的平均值。在這裡我們使用時間區間內區塊的燃氣消耗總和來作為網路負載的估計。我們的結果證實了 EIP-1559 不會使區塊鏈系統在較長時間內處於顯著更高的負載下。另外,我們確實觀察到負載峰值的產生(負載峰值指的是那些網路負載特別大的時間區間)但其頻率在倫敦硬分叉前後沒有顯著差異。
圖7. 不同時間間隔內每秒使用的燃氣平均值。
- 礦工可提取價值(MEV)。MEV 是指礦工可以透過在他們產生的區塊中任意包含、排除或重新排序交易的能力而獲得的額外利潤。我們發現,在 EIP-1559 之後,來自 Flashbots 的 MEV 收入在一個劇烈的下降之後恢復並至少回到了倫敦硬分叉之前的水平。因此其在礦工收入中所佔的份額在 EIP-1559 之後顯著增長,因為絕大部分的交易費用都被作為基礎費用焚燬了。這一點可能會激勵礦工更多地投資於 MEV 開採。
圖8. Flashbots 收入與非靜態收入的比率。
參考文獻
[1] Roughgarden, T. (2021). Transaction fee mechanism design. ACM SIGecom Exchanges, 19(1), 52-55.
[2] Kartik Nayak. (2021, Oct 15). Nakamoto's Longest-Chain Wins Protocol. Decentralized thoughts. https://decentralizedthoughts.github.io/2021-10-15-Nakamoto-Consensus/
圖文 | 陸宇暄