原文標題:《Vitalik Buterin:倫敦升級后,鏈容量增加 9% 的三大原因》
撰文:Vitalik Buterin,以太坊聯合創始人
翻譯:Yangz
觀察一下以太坊每日 Gas 使用量的圖表,我們可以發現每天平均使用的 Gas 從約 920 億增加到了約 1000 億:增加了 9%。
那么,為什么會發生這種情況呢?
我認為,這一情況大致上可以從三個不同的原因上解釋:
冰河時代的延遲,
倫敦升級前的區塊沒有被填滿。
基費調整公式的不完善,
冰河時代的延遲
倫敦分叉推遲了冰期,當倫敦分叉開始時,冰期剛剛開始生效。在倫敦升級之前,平均區塊時間約為 13.5 秒,而倫敦升級之后,平均區塊時間回到了長期的正常水平,約為 13.1 秒,
這是區塊速度 3% 的差異,也是鏈上 Gas 使用量增加 9% 其中 3%,
Gas 使用量:目標 15M 與最大 15M
在倫敦升級之前,最大的區塊 Gas 使用量為 15M。但并不是所有的區塊都使用了整個 15M:即使是功能最完善的區塊生產者也會留下 0-20999 的 Gas 未使用,因為剩余空間太小,無法容納一個交易,除此之外,總有一些區塊生產者會偶爾制造出空區塊,4 月份的一項分析表明,大約 2% 的區塊是空的。總的來說,我們可以假設倫敦升級前的未使用空間約為 2-3%。然而,倫敦升級后,1500M 已不是最大值,而是目標,這意味著,如果包括空區塊在內的平均 Gas 使用量低于 15M,那么基費也將減少,直到平均數回到 15M。
因此,這又占了這一現象原因的約 2-3%,
基準費用調整中的數學缺陷
由于算術平均數和幾何平均數之間的復雜關系,EIP-1559 公式并不能完美實現 50% 的使用率,一個 0% 的完整區塊可以使基費減少 12.5%(乘以 7/8),而 100% 的完整區塊可以使基費增加 12.5%(乘以 9/8),那么,如果你有一個 0% 的完整區塊,然后是一個 100% 的完整區塊,會發生什么?結果是,基準費用會乘以 63/64。因此,為了使基費保持不變,你實際上需要的平均使用率略高于 50%,
至于高于多少則取決于波動率是多少。理論上的最小波動偏差是零:這時 50% 的區塊是完整區塊,基費在每個區塊中保持不變。而理論上最大的波動偏差是 53.13% 的區塊是完整區塊,而 46.87% 的區塊是空區塊(滿和空的比例是 1.133,與-log(7/8)/log(9/8) 的比例相同);在這種情況下,基費將在平均 53.13% 的區塊是完整區塊時保持不變。而實際使用情況似乎在這兩個極端的中間:從最近觀察到的一個時間段的數據來看,51.5% 是完整區塊(因此,比預期的 50% 高約 3%)。
最近的數據分析也大致證實了后兩個數字(仔細看倫敦會議前和倫敦會議后的藍線,以及圖表上的 15M 水平線)。
解決這一數學問題的一個可能方法是 讓基本費用調整機制更明確地呈指數增長,這將建立一個硬性的不變因素,基礎費用可以作為總「過剩」Gas 使用量的直接函數計算(因此,對于任何水平的過剩 Gas 使用量,基費將不得不最終趨于無窮大)。
但現在,以太坊用戶可以為倫敦升級帶來的無意的 6% 的容量增長而歡欣鼓舞(而客戶端開發人員需要繼續努力解決無狀態 / 狀態過期問題,以確保我們可以安全地處理狀態增長)。