原標題:觀點 | EIP-1559 只是徒勞,毫無益處(修訂版)
一. 引言
“EIP-1559” 這個名字,想必大家都不陌生了,這個成型于 2019 年 3 月的提案,因為引入了一個銷毀手續費的機制(因而會減少供應量),被 David Hoffman 高舉為 “以太坊貨幣政策中的最后一塊拼圖”,是 ETH “獲得貨幣溢價的關鍵一環”,得到了越來越多的關注,
一年半以前,讀過 EIP-1559 提案二號作者 Eric Conner 撰寫的介紹性文章之后,我寫了一篇措辭嚴厲的文章,認為這份提案并不能解決提案最初想要解決的問題,反而會引入更多交易摩擦,我的好友 Elisa 也幫我把文章翻譯成了英文,可惜應者寥寥,
時過境遷,支持 EIP-1559 的聲音近期一再出現,無論是對 “通縮以太坊” 的期待,還是因為 Gas Price 高漲而產生的焦躁情緒,似乎都加劇了支持論調的流行。
但我始終沒看到一個能說服我的理由,這些支持意見,要么誤解了手續費市場的運作原理(它實際上是并且只能是所謂的 “一價拍賣”,物主可以設定底價并且價高者得的拍賣);要么只看到了 EIP-1559 會造成的部分影響,而對它在其他方面的影響視而不見;總而言之,都不能提供完整的分析。
我收集了近期幾篇對 EIP-1559 表示支持的文章:
- Analysis of EIP-1559(中文版)
- What if ETH had a fee burn 5 years ago
- EIP-1559 51% Attacks: Should you live in fear(巴比特中譯本)
- 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 的支持者有沒有意識到,這其實是支持一方最復雜、最終極的論點,它結合了以太坊社區對網路安全政策(也即貨幣政策)的理解,找出了一個最終極的利益。
但是,只要運用我們上文介紹的工具(供給曲線、需求曲線、市場均衡點、生產者剩余、消費者剩余),同樣可以分析這一論點是否正確,因為說到底,我們要做的是判斷礦工的收益變化。如果收益升高,那么維護網路的算力就會增多,而 “剩余” 這個概念,正代表著交易參與方得到的收益。在當前的手續費機制下,只需兩幅圖就可以涵蓋所有的市場情形,分別是:
橙色的供給曲線表示礦工的供給曲線,這條曲線意味著礦工每提供多一單位的 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,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:
當 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,如下圖:
假定 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 降到零,則礦工和用戶的得益,都與當前的手續費機制下相同,綜上,我們可以得到幾個結論:
- 當需求暴漲的時候,因為 EIP-1559 允許礦工生產 2 倍大的區塊,消費者可以得到更多的好處,但當市場需求回落,但 base fee 還未降到 0 的時期,消費者就必須支付比在當前的手續費機制下所需支付水平更昂貴的費用。
- EIP-1559 并不必然能帶來更高的安全性,至少,在 #C 和 #E 時候,安全性會與當前機制下等同。
- 但是,#C 和 #E,都是兩個靜態的均衡點,也就是我們在現實中要么不可能恰好達到,要么達到了也不可能長期維持的狀態,所以我們更該關注其它幾種狀態,
- 表面上看起來,在 #B 中,沒法斷言 EIP-1559 會使礦工的收入降低,但實際上,在當前的機制下,如果礦工發現已有的區塊 Gas 上限無法幫他們最大化交易手續費收入,他們可以提高區塊 Gas 上限,這也就意味著,更大的區塊(EIP-1559)實際上無法幫他們提高收入,唯一一個我們無法進一步推論的情形是 #D。此時我們真的不知道,區域 B 與 區域 E 孰大孰小。但至少,用戶的收益是明確減少了。
- 以上所有結論,都依賴于假設 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 的時候,那些沒有優化節點和網路的礦池會面臨看著別人吃肉以及被礦工拋棄的悲慘下場。這個事實向我們指出了正確的道路,