作者:Saša Milić
譯者:@blcold
翻譯機構:DAOSquare
背景介紹:以太坊交易
(如果你對以太坊很熟悉,可以跳過這一部分)。)
像所有的計算機一樣,以太坊區塊鏈是一個狀態機¹,任何給定的以太坊狀態都是由地址和賬戶狀態之間的 “簡單 “映射–賬戶狀態只是一個賬戶存儲的數據(如賬戶余額、合約代碼等),而該賬戶是由一個唯一的地址控制,
地址到其相應賬戶狀態的映射(來源:Ethereum EVM illustrated.)
交易是改變這個全局狀態的東西,交易指定了一個指令序列,通過以太坊虛擬機(EVM)的執行來改變全局狀態。(更準確地說,EVM是以太坊的狀態轉換功能的實現形式,在定義任何狀態機時都是必要的。)
一個非常簡單的狀態機,其中圓圈代表狀態,箭頭代表狀態轉換。當然,以太坊的狀態機要復雜得多,許多狀態轉換類型以操作碼的形式實現,并可能有無限的狀態¹。
交易的創建者必須指定 gas限額和 gas價格。
Gas上限是交易對以太坊區塊鏈施加的成本(計算、存儲等)的度量。Gas 價格表明交易創建者愿意為每單位 Gas 支付多少錢(以 ETH 為單位)。例如,最基本的交易類型(簡單的轉賬)需要 21,000 單位的 gas;更復雜的交易則需要更多的gas,通常 gas 價格反映了當前對 EVM 計算的需求,并且隨著時間的推移發生數量級變化。
(注意:這篇文章中的所有引用都來自最初引用的文章
https://arxiv.org/pdf/2012.00854.pdf。)
交易創建者支付:gas limit × gas price。
一個區塊是一個有序的交易序列和一些相關的元數據(重要的是, 還包括一個指向前一個區塊的引用/指針;這就是為什么叫它區塊鏈)。
©PNGWing
最大區塊大小是任何區塊可以包含的計算量的上限(由交易中的gas總量表示),目前,其上限設置為 12.5M gas;因此每個區塊交易的理論上限約為1000 筆(盡管在實踐中要少得多)。礦工負責選擇交易并將其排序到區塊中并提供工作量證明,
以下對于理解本文的其余部分很重要:
交易費用機制(TFM)是協議的一部分,它決定了確認交易的創建者所支付的金額,以及獲取這筆費用的對象。
當前的交易費用
當前以太坊網路交易采用最高價拍賣機制²,
來源:以太坊區塊鏈的交易費用機制設計–EIP-1559的經濟分析
這將導致 “許多礦工將區塊打包到最大區塊大小,貪婪地優先處理gas價格最高的未決交易”。
EIP-1559: 核心思想
在此可以找到正式以太坊改進提案(EIP)#1559(https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1559.md),
燃燒與歷史相關的基礎費用
- 每個區塊都有一個由協議計算的底價(每單位gas),稱為基本費用。支付基本費用是加入區塊的前提條件,
- 基本費用只是前一個區塊的一個函數,
- 所有來自基本費用的收入都被燃燒,也就是說,從ETH的流通總量中永久銷毀,
可變區塊大小
- 最大的區塊大小翻倍(例如,gas上限制從12.5M增加到25M),此時舊的最大區塊(例如,12.5M gas)將作為目標區塊大小,
- 只要最新區塊的大小分別大于或小于目標區塊大小,就向上或向下調整基本費用,
提示
- 現在的交易不再是單一的gas價格,而是包括小費和費用上限。只有當交易的費用上限達到區塊的基本費用時,交易才會被打包進入區塊,
- 誰支付什么費用?如果基礎費用為 r 的區塊中,包含小費為 δ、費用上限為 c、gas 限制為 g 的交易,則交易創建者需支付 g·min(r+δ, c) ETH。
- 誰收到這筆款項?來自基礎費用的收入被銷毀,剩余部分轉移給區塊的礦工,
有趣的是,在閱讀這些關鍵想法時,人們可能會認為它們是相當隨意的,并且/或者這些 “關鍵想法 “中的一些與其他想法有點正交,事實并非如此。嗯,不是真的。這些想法是有內在聯系的,正如你將在本帖的其余部分看到的那樣,
有趣的是,在讀到這些核心思想時,人們可能會認為它們相當隨意,并且/或者其中一些“核心思想”與其他思想有些矛盾。當然,事實并非如此, 這些想法有著內在的聯系,正如您將在本文的其余部分看到的那樣。
可變區塊大小作為需求的代表
第一點:這些想法是有內在聯系的,是動態調整塊大小的概念。為什么要這樣做?有一個簡單的答案:當區塊大小是動態時,開采的區塊的實際大小可以被用作需求的代表。
EIP-1559的機制是使用過去的區塊大小作為需求的鏈上衡量標準,大區塊(超過12.5M gas)和小區塊(低于12.5M gas)分別表示需求增加和減少,
公式的更新
建議更新每個區塊的基本費用的公式為:
也就是說,在最大區塊(即目標大小的兩倍)之后,基本費用最多增加 12.5%,在一個空塊之后最多減少 12.5%。⅛的系數是相當隨意的,一個 “好 “的系數可以使基本費用以適當的速度調整,以適應需求的下降/上升的峰值,
十大要點
在此,我將重述Roughgarden論文中的 “十大要點”,并對其背后的原因進行解讀。
[1.] 任何交易費用機制,無論是EIP-1559還是其他機制,都不可能大幅降低平均交易費用;持續的高交易費用是一個可擴展性問題,而不是一個機制設計問題。
下圖是以太坊網路中計算(以gas衡量)的供需圖的一個代表性例子⁴,
來源:以太坊區塊鏈的交易費用機制設計–EIP-1559的經濟分析
Roughgarden認為,所有(合理的)天然氣價格機制都可以被視為 “為這個理想而努力”,也就是說,努力達到一個最接近該最佳交點的天然氣價格,而這個交點完全由供求關系決定–與天然氣價格機制無關。
注意,這完全獨立于gas價格機制,供需線的交點是市場清算價格,即gas需求總量等于可用供應量時的價格。
Roughgarden 認為所有(合理的)gas價格機制都可以被視為“為這個理想而努力”,即努力達到最接近該最佳交點的gas價格。而這個交點完全由供求關系決定–與gas價格機制無關。
通過增加供應或減少需求來降低市場清算價格,從根本上說是一個可擴展性問題,而不是一個機制設計問題
[2.] EIP-1559 應該通過可變區塊大小的靈活性來減少交易費用的差異和用戶所經歷的延遲。
就像前面的 “要點 “中提到的,只要需求超過供應,交易費用就會很高。
那么,該提案的意義何在?為了使交易費用更可預測,從而使費用估算問題,即為交易選擇最佳gas價格的問題,盡可能地簡單明了。
從本質上講,作者認為 EIP-1559 的主要好處是改善用戶體驗 (UX), 通過他稱之為“用戶激勵兼容性(UIC)”的東西將用戶體驗正式化,為了使這篇博文相對“輕松”,我將跳過這種形式主義的細節,但論文中也提供了一個很好的直觀類比:
在亞馬遜上購物要比在競爭激烈的房地產市場上買房子容易得多,在亞馬遜上,不需要講究策略,也不需要猜測自己;你要么愿意為貨架產品支付所列價格,要么不 愿意…
在準備購買一套房子并與其他潛在買家競爭時,你必須仔細考慮向賣家的出價。而且,不管你有多聰明,事后你都可能會對你的報價感到后悔–要么是因為你出價過低,被人PK掉,要么是因為你出價過高,支付的價格超過了你的心理價格。房子不需要賣給愿意支付最多的潛在買家(如果該買家出價過高),這是經濟效率的損失。
蘇富比的藝術品拍賣會。誠然,這不是我們正在處理的問題的完美類比:gas價格,但它確實是一個很好的圖片,藝術界總是有趣的話題:) 圖片來源::ukartpics/Alamy Stock Photo
從本質上講,當前的 Gas 價格競價系統在市場上造成了很多“混亂”(從而導致市場效率低下),因為交易創建者通常不會誠實地說出他們愿意的出價,并且他們的決定通常會受到其他人(或他們認為其他人)的影響,坦率地說,設定價格更直接,從而減少市場的混亂和低效率。
[3.] EIP-1559 應該通過簡單的費用估算來改善用戶體驗,除去需求快速增長的時期之外,以“明顯的最佳出價”的形式,
論文中證實這一點的部分相當復雜,但本質上歸結為證明所謂的“用戶激勵兼容性”,本節 (6.3) 中的證明表明 1559 機制通常用作“貼價機制”(如前面給出的亞馬遜示例)。需要注意的是,這在需求快速增長的時期并不成立,因為:
當基本費用過低時,用戶必須通過他們的小費來競爭稀缺的區塊空間,1559機制實際上又回到了最高價競拍,
也就是說,在需求急劇上升期間,1559 看起來就像當前系統并無差異。
[4.] 在 EIP-1559 下,礦工按預期執行協議的短期激勵與最高價競拍拍賣一樣強烈,
“按照預期”意味著:
- 礦工沒有動機去制造虛假交易
- 礦工沒有動機與鏈外用戶勾結
這些論點在第6.2和6.4節中得到了正式證明,
[5.] 在EIP-1559框架下,雙花攻擊、審查攻擊、DOS攻擊和長期收入最大化戰略(如操縱基本費用)的博弈論障礙似乎與最高價競拍一樣強大。
對此的解釋在第7.5節中有相當簡潔的說明,但基本要點是:在EIP-1559下,”主要 “攻擊載體并不比目前的gas價格機制更容易被利用,因為它們是 “可檢測的,理論上是脆弱的,或兩者兼而有之”,
[6.] EIP-1559至少應該通過燃燒交易費來適度降低ETH的膨脹率,
顯然,更多的燃燒意味著更少的 ETH 流通。
[7.] 面對鏈外協議帶來的威脅,簡單的費用估算和費用燃燒這兩個看似正交的目標變得密不可分。
有意思的是,燃燒基本費用是1559機制的必要組成部分,否則(即如果礦工只是簡單收取費用),整個1559機制將等同于最高價競拍;也就是現在這樣,也就是說,如果對1559機制進行修改,使礦工賺取基本費用,那么將減少現行的gas價格機制。
我認為這是一個關鍵點,因為我已經多次看到別人的論點,認為EIP-1559與目前的機制相同,但情況并非如此,特別是由于燃燒的引入,
另外,有一個論點表明,基本費用在這個設計中也是必要的,因為簡單地從最高價競拍中燃燒費用被證明是次優的(由于鏈外協議變得有利可圖)
[8.] 備選設計方案包括向未來區塊的礦工提前支付基本費用收入,而不是燃燒它們;以及用固定的小費取代用戶設定的可變小費。
這點也是非常重要的。作者表明,研究論文中為EIP-1559提出的所有論據對其他幾個備選設計也是成立的,
我將特別提到的一個備選設計方案是:向前支付基本費用,由于提議的費用燃燒機制,對 EIP-1559 的最大阻力來自礦工(見下面的注意事項部分)。
[我們可以證明]為了使區塊的基本費用在經濟上有意義,來自它的收入不能傳遞給該區塊的礦工。也許在當前的 EIP-1559 規范中扣留這些收入的最簡單方法是銷毀這些收入,有效地向所有 ETH 持有者發放一次性退款。另一種解決方案是將這些收入轉移給其他區塊的一個或多個礦工,
這種對 EIP-1559 的替代/修改可能會影響礦工的意見。我有興趣聽到更廣泛的討論/辯論。
[9.] EIP-1559 的基本費用更新規則有點武斷,應該隨著時間的推移進行調整。
關于基本利率更新函數,我已經在上面提到過(“⅛ 系數是相當隨意的”),2倍的最大區塊大小也是一個有點隨意的 “好 “數字,更一般的,1559機制只需要滿足幾個條件,即:
- 與歷史相關的基本費用,以及
- 燒掉或以其他方式扣留區塊礦工的收入
關于過沖的插圖。這張圖片來自維基百科上關于過沖的文章,本意一個來自信號處理的話題,只是與目前的話題有點關系,可以用來輔助解釋)
此外,Roughgarden還概述了基本費用更新規則所需的幾個額外條件:
- 在需求突然激增(或下降)后,合理地迅速向上(或向下)調整,
- 調整速度足夠慢,以避免對小的或非常短暫的需求變化作出過度反應。
- 不能由用戶和/或礦工組成的卡特爾以博弈理論從容操控。
- 攻擊者的成本很高。
“相當快”是多快?“貴”到底有多貴?這些問題,最好通過實驗和社區討論來回答,
[10.] 可變大小的區塊使一個新的(但昂貴的)攻擊載體成為可能:用一連串最大區塊來壓倒網路,
存在的一種可能性是,”攻擊性的礦工卡特爾 “創造一連串最大區塊,以創造需求沖擊,然后推動用戶增加小費。這種情況成本很高,也可以通過使用更大的區塊來緩解。
注意事項
憤怒的礦工
但是,真的有足夠的證據來證明,礦工勾結的危害性在 EIP-1559 下不會比現在更糟嗎?
似乎大多數礦工(至少是礦池)一直反對EIP-1559,⁶ 這是因為他們認為燃燒會損失他們一部分利潤,這是可以理解的,這帶來了許多問題,最關鍵的可能是:如果大多數礦工拒絕包含EIP-1559的升級,那么這個更新能否真正實施?這是否會導致網路中的另一個分叉?
還有一些攻擊載體是 “脆弱的游戲”–例如,將區塊大小保持在一定水平,人為地減少供應–然而,只要被激怒的礦工足夠多并且成功地串通起來,就有可能實施這種本來 “脆弱 “的串通策略,
然后總有人問有一個問題:這對更廣泛的社區有什么影響?我不認為更廣泛的區塊鏈社區會以積極的態度看待協議變更的紛爭和分叉,
我想借此機會再次強調Tim Roughgarden建議的EIP-1559的變體:”預付基本費用”,也許這可以提供一個亟需的中間地帶?
結論
- EIP-1559 可能不會導致平均 gas 價格下降,
- EIP-1559 可能會通過簡單的費用估算和較少可變的 gas 價格來改善用戶體驗(即交易創建者的體驗)。
- 從傳統博弈論的角度來看,EIP-1559提供了與當前天然氣價格選擇機制在某些假設下相同的安全保證,
- 這方面的注意事項是:由足夠多的心懷不滿的礦工引起的更大的礦工勾結可能會破壞這些結論所依據的一些更傳統的博弈論假設。足夠多的對手能否破壞我們的博弈論假設?并成功實施否則“脆弱”的勾結策略?
- 我們能否對Roughgarden的EIP-1559的變體:”預付基本費用 “進行廣泛的討論?也許這可以提供一個亟需的中間地帶(在用戶和礦工之間)?