區塊鏈

EIP-1559 是徒勞,以太坊不需要銷毀機制?

作者註:對於已經相當熟悉EIP-1559 的讀者,可以直奔下文第三節第四小節。在該部分,我提供了一個相當完整的分析。你甚至可以從中知道,支持者所提出的哪些論點,在哪些情形下其實是對的。但是,他們都沒能描繪出全部的影響。

而不太熟悉這一主題的讀者,可以從頭看起。如果你還需要對EIP-1559 內容的簡介,請看這裡。

一. 引言

“EIP-1559” 這個名字,想必大家都不陌生了。這個成型於2019 年3 月的提案,因為引入了一個銷毀手續費的機制(因而會減少供應量),被David Hoffman 高舉為“以太坊貨幣政策中的最後一塊拼圖”,是ETH “獲得貨幣溢價的關鍵一環”,得到了越來越多的關注。

一年半以前,讀過EIP-1559 提案二號作者Eric Conner 撰寫的介紹性文章之後,我寫了一篇措辭嚴厲的文章,認為這份提案並不能解決提案最初想要解決的問題,反而會引入更多交易摩擦。我的好友Elisa 也幫我把文章翻譯成了英文,可惜應者寥寥。

時過境遷,支持EIP-1559 的聲音近期一再出現,無論是對“通縮以太坊” 的期待,還是因為Gas Price 高漲而產生的焦躁情緒,似乎都加劇了支持論調的流行。

但我始終沒看到一個能說服我的理由。這些支持意見,要么誤解了手續費市場的運作原理(它實際上是並且只能是所謂的“一價拍賣”,物主可以設定底價並且價高者得的拍賣);要么只看到了EIP -1559 會造成的部分影響,而對它在其他方面的影響視而不見;總而言之,都不能提供完整的分析。

我收集了近期幾篇對EIP-1559 表示支持的文章:

  1. Analysis of EIP-1559(中文版)
  2. 如果ETH在5年前被燒費怎麼辦
  3. EIP-1559 51% Attacks: Should you live in fear(巴比特中譯本)
  4. Ethereum fee market reform: EIP-1559 as a question of fairness(中譯本)

我非常尊敬這些文章的作者在其中投入的智力資源。無論如何,沒有這些分析,事情的全貌就不會變得更清楚。但在我看來,他們在下結論時都未免有些草率,對一些關鍵主張缺乏論證,或者耽於證明新的機制是無法被操控的,但卻沒有證明新機制會比當前的機制更好(下文將用“#” 號加數字來指代這幾篇文章)。我先從一些簡單的經濟學推理開始,然後詳細討論這幾篇文章存在的問題。

二. 簡單的經濟學推理

假設有個東西的市場價格很高,你覺得剝奪生產者(賣方)從這個東西中獲得的經濟收入,可以使獲得這種東西的代價變得更低嗎?很顯然不能,因為價格是由供給和需求決定的,而削減賣方得到的收入會打擊他們的生產積極性,也會卡住價格(利潤率)的信號作用,使潛在的生產者進入這個生產領域的積極性下降,影響未來的供給量增加的幅度。供給量提不上去,說再多都是枉然。但EIP-1559 恰恰就是想讓你相信,削減礦工從Gas 費中得到的收入,可以讓Gas 的價格降下來。怎麼可能呢?假設你現在去醫院,發現醫生的門診金都很高,你覺得貴,你覺得以下哪種辦法能讓你獲得性價比更高的服務(同樣的代價可以得到更好的服務,或者同樣的服務只需付出更少的代價)? A. 遊說政府出台門診金的管制措施,給醫生劃分等級,為每個等級的醫生劃定門診金的上限;B. 在社交媒體上控訴醫生,痛罵醫生都是唯利是圖的傢伙,不管病人死活,一點也不道德;C. 政府開始對門診金收稅,或者提高門診金的稅收比例;D. 政府一邊對門診金收稅,一邊安慰大家說不要緊,收上來的稅我全部都不花,這筆錢我放在一個可以公開的賬戶上永不動用,幫大家搞通縮;E. 政府管制醫生的診金價格,同時給予醫生補貼,最後還要對診金收稅;F. 政府一邊對門診金收稅,一邊說,這些稅收會變成一個資金池,享受銀行的儲蓄利息,一段時間後會按診金的比例連本帶息把資金給回醫生。你覺得哪種辦法有用?沒有任何一個有用。 #A,管制診金的價格(顯然是強制壓低診金),會導致需求量大增而供給量不足,體現出來就是可以掛號的號數出現上限、排隊現象增多,還有幫助掛號的黃牛黨。另外,病人的平均問診時間也會下降。你以為你真得到了實惠?不,你的貨幣成本雖然下降了,但時間(排隊)成本上升了,進一步地說,它是導致病人無法用出價來表達對醫療資源的需求急迫度,導致醫療資源的實際使用向時間價值更低的群體偏移。按照這個行內的話術來說,就是優質的醫療資源被DoS 攻擊了。 #B,這個就不用解釋了吧?相當於給醫生的報酬施加一個負價格。 #C,同樣的一次問診,能得到的收入更低了,醫生願意花的心思自然就更少了。而且,羊毛出在羊身上,所有的稅收都是同時從買方和賣方榨油水,以至於當雙方油水不足時,交易就根本不會發生。 #D,明眼人應該看出來了,其實這就是EIP-1559。它其實是#C(稅收的效果)加上貨幣通縮的效果。貨幣通縮當然有造成貨幣價值升值的效果,但不要被表像給迷惑了:如果銷毀自己財產的一部分能夠讓自己的境況變得更好,為什麼我們沒有看到大家經常把自己的錢燒掉? (假定通縮的數量按比例造成貨幣價值的提高(這個假設當然不盡合理),這其實就是個簡單的數學題)在“稅金+ 通縮” 的組合中,醫生的診金價格(以貨幣數量來表示)變低,但貨幣的價值升高,即使不詳加分析,也該說“一高一低不好說”,但如果這樣做能使他們的收入升高,為什麼我們沒有看過被徵收消費稅的行業群起遊說政府把稅收銷毀掉? #E,有些人主張,#E 才是EIP-1559 的實際情形,因為礦工不僅有Gas 費收入,還有區塊獎勵。但實際上,並沒有什麼不同,因為區塊獎勵只能激勵他們提供工作量證明,不能激勵他們提供Gas。就好像改變醫生的收入構成,以政府補貼代替診金,造成的結果是激勵醫生坐班,而不是激勵醫生看診。不知道你有沒有聽過有些基層醫院的醫生以開轉診單為業、從來不實際看診?把EIP-1559 與上面的例子關聯起來的邏輯關鍵只有一個,就是EIP-1559 首先是一種稅收。為什麼這麼說? EIP-1559 的關鍵舉措是讓用戶(買方)支付的數額不等於礦工(賣方)得到的數額。支付的總額分成了base fee 和tip(礦工實際得到的數額)。用戶花了10 塊錢,但礦工只拿到5 塊錢,中間的5 塊錢哪兒去了?你甭管它哪兒去了,它不就是一種消費稅嗎!

– 來源:EIP-1559 的經濟學分析-只要知道了它是一種有具體數額的消費稅,你就能聯想到稅收經濟學裡面最基本的兩大原理:(1)消費稅從來不是只從生產者身上收取的利益,同樣也在消費者身上收取了利益。看上圖的綠色部分就一目了然了,原本P1 以上,藍色需求曲線以下的部分,都是消費者得到的利益,即願意支付更高的價格(​​“流動性挖礦日化收益率百分百,操作一波”),而僅支付了更低的價格(“Gas 費算下來只有1%,還行”),從而得到了一部分利益,叫“消費者剩餘”;同理,有“生產者剩餘”;但稅收不是僅侵占生產者剩餘或者消費者剩餘,而是兩者皆有;(2)凡消費稅,必有無效率的損失,即必有買賣雙方的剩餘不足以支付稅金,因此交易根本不發生。就是上圖綠色方形右邊、供給曲線和需求曲線夾角形成的那塊三角形。也就是EIP-1559 會使Gas 的供給數量和消費數量都下滑。很多人主張EIP-1559 能夠改善用戶體驗,顯然是沒有分析出這一點。分析出來了我就不理解怎麼能質然說用戶體驗會更好。至少,用戶要支付的數額並沒有變少。至於它所造成的通縮,我前面也已經說過了。通縮當然造成貨幣價值的提升,但它既然無理由證明礦工從Gas 中得到的收入會變得更高,也就無從證明礦工會更願意優化網絡和節點、提供更多的Gas(即Gas 供給量會提高),自然也就無從證明它能降低Gas 價格。更何況,它是以犧牲ETH 的財產屬性為代價,獲得這種通縮的。接下來,我將討論上述幾篇文章的謬誤。

三. 智者千慮

在這一部分中,我將回應上述四篇文章在論證中的幾個基本概念和理論。這些概念主要來自#1、#3 和#4。這當然是因為#2 實際上並沒有提供什麼論證,僅僅只是將歷史上的Gas 消耗量和Gas Price 數據抽取出來,粗暴地假設一個銷毀比例併計算出銷毀數額。但是,實施了EIP-1559 的區塊鏈不可能跟沒有實施的區塊鏈有同樣的平順性和交易量。

(一)#1 與鬆弛機制(Slack mechanism)

#1 在文中主張,EIP-1559 使得區塊的實際大小有了更高的彈性,能夠應對突然的需求激增,這樣一來,某些區塊可以更大,同時又不至於一擴容就變成長期的負擔。這個主張是合理的。 EIP-1559 定義了兩個有關Gas 容量的概念:目標Gas 容量和最大Gas 容量;前者與實際Gas 使用量的高低用來確定base fee 費率要提高還是降低,後者才是一個區塊最多能使用的Gas 數量。所以,當需求量突然增大的時候,礦工可以短期內打包更大的區塊,而不需要經過漫長的共識形成過程。我在上一篇文章裡沒有提到這一點,是我的疏忽。但這一點並不是沒有代價的,假設需求量突然跌落,用戶願意支付的費率直接跌到比base fee 費率還要小,那以太坊網絡就只好出空塊,等待base fee 的向下調整了。

(二)#3 與EIP-1559 的安全性

#3 致力於證明,EIP-1559 是不可操控的,即使對工作量證明的51% 攻擊,也無法操縱EIP-1559。在我看來,對EIP-1559 不可操控的論證,完全搞錯了重點,或者說是在主張一個並非自己專屬的得益。因為礦工根本不需要去操縱它。原來礦工怎麼賺錢,實施EIP-1559 之後仍舊怎麼賺錢,只不過名義換了,原來賺的叫Gas Fee,現在賺的叫tip。名雖不同,實則一也。只要礦工仍舊掌握著打包區塊的權力,你就沒有辦法強迫他們打包會讓他們虧損的交易(也就是tip 還不足以覆蓋他們為打包這個交易而付出的機會成本的交易),他們就可以自己決定Gas 的供給量。別誤會,我的意思是,我也覺得EIP-1559 是不可操控的,操控它的成本要大於收穫。但因為礦工根本不需要去操控它,這個好處也就不存在了。

(三)#4 與“公地”

我必須承認,最令我震驚是#4 提出的“公地” 學說,在“Who owns Ethereum’s blockspace” 一節中,作者主張礦工保護網絡的工作已經被區塊獎勵買斷了,再加上處理交易的成本並不僅由礦工來承擔,因此礦工無從主張他們“擁有” 以太坊的區塊,自然也就無從主張自己應該得到交易手續費。作者的結論是:這意味著以太坊那個的區塊空間是“公地”,而礦工是“公地上的尋租者”。實在太令我驚訝了。我驚訝的地方不僅在於,作者似乎完全曲解了工作量證明(PoW)的作用,忽視了PoW 在分佈式系統中為交易排序的核心功能。正是因為PoW 可以讓我們在分佈式系統中為事務排序,我們才需要它。這種排序功能,跟作者所謂的“securing the network”,本質上是一回事。從個體的角度來說,礦工提供工作量證明是為了獲得區塊獎勵,這不假;但從網絡的角度來說,打包交易、交易排序才是PoW 的核心功能。如果缺失了這一功能(無論是從協議上禁止它,還是打消他們打包交易的激勵),傷害的都是協議本身,要么這將淪為一個中心化的系統,要么它將傷害協議貨幣的財產屬性(無法轉移的財產是不值錢的),還有一種可能是用戶必須用其他方式而非貨幣來支付這個代價(效率極差)(你們要不要猜是哪一個項目?)。另一方面,我驚訝的地方在於,作者離真相如此之近。沒錯,假設我們同意作者的推理,認為以太坊的區塊空間是一塊公地,那麼作者也該想到,公地治理的第一原理就是私有化,無論直接還是間接地私有化。在我們這個案例中,就是用競爭優勢來界定產權,也就是按收集、打包交易的能力來決定哪個礦池能獲得多大的份額、獲得多大的收益。作者說礦工是尋租者,我說,of course,當然是尋租者,還能是別的嗎?所有人,只要是追求“生產者剩餘” 的人,按定義都是尋租者。重要的是,天下熙熙,皆為利來,天下攘攘,皆為利往。如果你不讓他們享有租金,這片地就會荒蕪掉。最終用戶得到的也會更少。

(四)#1、#4 與“提高安全性”

在#1 和# 4 中,作者都​​提到了一個論點:當交易費變成礦工收入的主要部分時,因為交易費會有巨大的波動,逐利礦工的算力投入也隨之波動,網絡的安全性也會隨之波動,是以太坊網絡陷入不利情形;EIP-1559 可以一勞永逸地免除這個風險,通過削減礦工的手續費收入、同時維持區塊獎勵的價值,來維持礦工算力投入的穩定性。不論EIP-1559 的支持者有沒有意識到,這其實是支持一方最複雜、最終極的論點。它結合了以太坊社區對網絡安全政策(也即貨幣政策)的理解,找出了一個最終極的利益。但是,只要運用我們上文介紹的工具(供給曲線、需求曲線、市場均衡點、生產者剩餘、消費者剩餘),同樣可以分析這一論點是否正確。因為說到底,我們要做的是判斷礦工的收益變化。如果收益升高,那麼維護網絡的算力就會增多。而“剩餘” 這個概念,正代表著交易參與方得到的收益。在當前的手續費機制下,只需兩幅圖就可以涵蓋所有的市場情形,分別是:

EIP-1559 是徒勞,以太坊不需要銷毀機制?橙色的供給曲線表示礦工的供給曲線,這條曲線意味著礦工每提供多一單位的Gas,所要求的邊際價格是上升的,因為提供Gas 意味著付出計算量,意味著付出時間,而組裝區塊花的時間越多,其區塊變為叔塊的風險越大。藍色的需求曲線代表用戶為每多一單位的Gas 的出價是遞減的,因為用戶會把自己緊迫的需要排在前面。兩者的交點叫“均衡點”,意味著用戶的出價意願與礦工的要價意願一致,該點的價格即為市場上的Gas Price,而該點意味著的使用量,即為實際使用量。在兩張圖中,供給曲線都有一段垂直上升的部分,這是因為礦工的Gas 供應量讓協議限制住了,當供應量到達協議規定的區塊Gas 上限時,無論怎麼出價,礦工都不能提供更多了。左圖描述的是一般情形,或者說市場需求量較低的情形,此時,市場均衡的Gas 使用量沒有超過區塊Gas 上限;而右圖則描述了市場需求較為旺盛的情形,用戶想要的Gas 很多,但礦工因為協議所限只能提供那麼多,因此Gas 使用量等於區塊Gas 上限。由此可見,當我們假設供給曲線不變時,“均衡點” 就可以成為描述市場需求情形的有用工具。加入EIP-1559 之後,Gas 市場的運作情形可以分為5 種:A. 自然市場均衡點大於target gas usage,小於max gas usage(即2 倍的目標用量);base fee 為零;B. 自然市場均衡點大於目標Gas 用量,小於最大Gas 用量;beae fee 不為零,但並未大到使Gas 用量等於目標用量;C. 自然市場均衡點大於目標Gas 用量,小於最大Gas 用量;base fee 不為零,且大到足以使網絡的實際Gas 用量等於目標用量;D. 自然市場均衡點小於目標Gas 用量,且base fee 不為零;E. 自然市場均衡點小於目標Gas 用量,且base fee 為零;讀者應該意識到了:(I)對應於需求突然暴漲的情形;(II)對應於需求增加之後base fee 正在調整(升高)的情形;(III)對應於base fee 調整完成,使網絡使用量趨近於目標使用量的情形;(IV)對應於需求降低之後,base fee 正在調整(降低)的情形;(V)對應於需求降低之後,base fee 調整完成變成0 的情形。只要加上兩個假設,我們就能分析在上述5 種情形下,EIP-1559 (與不實施的情形相比)到底有沒有為礦工創造更多的收入:(1)假設1:EIP-1559的目標Gas 用量,恰等於不實施時的區塊Gas 上限;(2)假設2:EIP-1559 從礦工和用戶處抽取的剩餘,會無損地轉化為區塊獎勵的價值增幅(這是一個明顯不現實的假設,但它便於推理;而且推理完成之後,再放棄這個假設,結論也會是顯而易見的)以#A 的情形為例,屆時的情形可用下圖來描述:

EIP-1559 是徒勞,以太坊不需要銷毀機制?如果不實施EIP-1559,Gas 的供給量會受到協議的限制,因此Gas 的使用量就是GL(區塊Gas 上限),而用戶支付的Gas 價格是P1(注意:價格之所以不是礦工的供給曲線開始出現彎折的那個水平,是因為Gas 的消費者之間存在競爭)。礦工的收入是 區域B + 區域C + 區域D + 區塊獎勵。消費者剩餘是 區域A。如果我們實施了1559,因為該機制允許區塊暫時擴大(Hasu 所謂的“Slack Mechanism”),而且此時base fee 為零,所以,Gas 使用量為U,而Gas 價格為P2。此時,消費者剩餘為 區域A + 區域B + 區域E,明顯大於 區域A,這也就是Slack Mechansim 給消費者帶來的好處。但此時,礦工的收入是 區域C + 區域D + 區域F + 區塊獎勵。區域B 與區域F 相比,孰大孰小呢?在當前的機制下,礦工可以集體提高區塊Gas 上限,所以如果區域F 大於區域B,而協調的成本又足夠低,礦工就會選擇提高區塊Gas 上限。所以,我們基本上可以斷定,此種市場條件下,實施EIP-1559 會降低礦工的收入。使用同樣的方法,我們也可以分析#B 和#C:

EIP-1559 是徒勞,以太坊不需要銷毀機制?當base fee 開始升高,但又尚未高到使網絡的Gas 使用量達到目標使用量的時候(即#B),以上圖標明的TIP 水平和TIP+BF 水平為例。此時,供給曲線(包括虛線部分)給出了為使礦工打包交易而必須支付的tip 數額,但是base fee 不為零,兩種價格相互作用之下,用戶雖然支付了tip+base fee,但礦工只得到了tip,中間的差額即是被抽走的稅。同樣地,如果沒有實施EIP-1559,礦工的收益是區域B + 區域C + 區域D + 區域E + 區塊獎勵,而如果實施了,則礦工會得到區域D + 區域E + 區域H + 區塊獎勵*。之所以是區塊獎勵* 而非區塊獎勵,是因為被base fee 機制抽走的稅也會通過燃燒使得區塊獎勵的價值提升,而根據我們的假設2,這意味著礦工實質上會得到區域C + 區域D + 區域E + 區域G + 區域H + 區塊獎勵。消費者會得到區域A + 區域B + 區域F,這主要是因為他們從更大的區塊空間中獲利了(假設擴大區塊空間到U,即使不實施EIP-1559,他們也能得到同樣多的利益)。至於礦工的收入是提高還是降低了,則取決於 區域B 與 (區域G + 區域H) 孰大孰小。 (依我個人觀點,我認為B 較大,因為在當前的機制下,如果協調成本較低,GL 就是能使礦工最大化收入的區塊大小。)同理,如果是#C,即base fee已經高到恰使Gas 使用量等於目標Gas 使用量(即不實施時候的Gas 上限),則礦工的收入會變成區域E + 區塊獎勵*,至於區域B + 區域C + 區域D,都是base fee (稅制)抽走的剩餘;根據假設2,礦工的實際利益會變成區域B + 區域C + 區域D + 區域E + 區塊獎勵,沒錯,恰好與不實施EIP-1559 的時候相同。而消費者的收益也會變回 區域A,與當前的手續費機制下的得益相同。至於#D 和#E,如下圖:

EIP-1559 是徒勞,以太坊不需要銷毀機制?假定U 小於區塊Gas 上限,則礦工在當前的手續費機制下,得益為 區域C + 區域D + 區域E + 區塊獎勵,用戶的得益為 區域A + 區域B + 區域F。實施EIP-1559 之後,假設base fee 尚未下降到0,則 區域B + 區域C 就是因為base fee 而燃燒掉的數額。礦工的收益會變成 區域D + 區塊獎勵*,也即 區域B + 區域C + 區域D + 區塊獎勵。是提高了還是降低了,取決與 區域B 與 區域E 的相對大小。但是,用戶的得益就變成了 區域A,這就是Slack Mechanism 硬幣的另一面。容易看出,區域F + 區域E,就是在當前的機制下能夠實現,而在EIP-1559 實施後,就因為base fee 而無法實現的利益,也即上文所述的,“稅收的淨損失”。如果base fee 降到零,則礦工和用戶的得益,都與當前的手續費機制下相同。綜上,我們可以得到幾個結論:

  1. 當需求暴漲的時候,因為EIP-1559 允許礦工生產2 倍大的區塊,消費者可以得到更多的好處。但當市場需求回落,但base fee 還未降到0 的時期,消費者就必須支付比在當前的手續費機制下所需支付水平更昂貴的費用。
  2. EIP-1559 並不必然能帶來更高的安全性。至少,在#C 和#E 時候,安全性會與當前機制下等同。
  3. 但是,#C 和#E,都是兩個靜態的均衡點,也就是我們在現實中要么不可能恰好達到,要么達到了也不可能長期維持的狀態。所以我們更該關注其它幾種狀態。
  4. 表面上看起來,在#B 中,沒法斷言EIP-1559 會使礦工的收入降低。但實際上,在當前的機制下,如果礦工發現已有的區塊Gas 上限無法幫他們最大化交易手續費收入,他們可以提高區塊Gas 上限。這也就意味著,更大的區塊(EIP-1559)實際上無法幫他們提高收入。唯一一個我們無法進一步推論的情形是#D。此時我們真的不知道,區域B 與 區域E 孰大孰小。但至少,用戶的收益是明確減少了。
  5. 以上所有結論,都依賴於假設2。如果我們再放寬假設2(實際上我們也應該放寬它,因為,即使按照粗糙的貨幣數量論,通縮也會提高每一單位貨幣的價值,而不可能僅僅提升新發行貨幣的價值),我們可以有很大的把握:EIP-1559 會降低以太坊的安全性。

如果我們真的希望貫徹“最小發行率” 政策,就不該實施EIP-1559。

四. 結語

綜上,我證明了,當前對EIP-1559 的支持意見,並無堅實的科學基礎。 EIP-1559 既無法讓交易手續費變得更可預測(因為需求不可預測),也無法降低Gas 價格,因此談不上能製造更好的用戶體驗。同時,新近出現的支持意見,也要么誤解了整個生態的運作原理,要么無法提供完整的分析來證明其意見。迄今為止,沒有核心開發者表示在PoW 以太坊上實現EIP-1559 的計劃,倒是2.0 的研究員表示,可能在Phase 1 時實現一個類似的機制。我更關心的是,PoW 以太坊會不會因為當下普遍的支持意見而決定實現這一機制。如果這些意見僅僅是因為作者們還沒有釐清前因後果,尚且好說。我更擔心的是有人明知道其影響,還因為自己不屬於會被損害的群體,而選擇支持這樣不公正的提案。再說一遍,我非常尊重所有在這一話題上投入智力資源的人。沒有他們的聲音,我也不可能推進我自己的分析,寫出這篇文章。我也一再強調,這些話,本來應該有人說,並不需要什麼經天緯地的才能,然而沒有人說,於是我只好自己說。最後夾帶點私人觀點。自人類有史以來,就沒有出現過比市場經濟更能刺激人們從事生產的製度,沒有比市場經濟更能降低成本的製度,因為其他制度皆誘導人們從非生產的活動中獲利。區塊鏈世界也不例外。你去看區塊瀏覽器,半年以前,以太坊網絡的區塊利用率還在80% 左右,而近一個月來,都在95% 以上。為什麼?當交易手續費太低的時候,很多礦池會寧可打包空塊。但當Gas Price 飆升的時候,不打包一筆交易就少0.0x 甚至0.x 個ETH 的時候,那些沒有優化節點和網絡的礦池會面臨看著別人吃肉以及被礦工拋棄的悲慘下場。

這個事實向我們指出了正確的道路。