昨天Arbitrum因gas費奇高被熱議,流傳出一個有趣的梗,“為什麼l2比l1好,原來是因為gas費是l1的2倍。”
這個梗指出的情況不常見,但確實指出了l2存在的問題。
為什麼會有l2,為什麼以太坊有那麼多l2,因為比特幣和以太坊的pow鏈,gas費高並且堵塞,今年以太坊gas費在ape推出元宇宙地塊的時候,gas price一度衝到了5000,而近期,以太坊的gas price最低跌破了10。
在這樣低的gas price下,很多pos鏈、l2鏈已經沒了競爭力。
以太坊挑戰者和l2鏈的出現,就是為了解決以太坊的高gas費和堵塞,但在現在這樣的環境下,l2的gas費已經比以太坊主網高了,主要表現就是Arbitrum在展開交互大賽,而如此頻繁的交互讓Arbitrum鏈上gas費已經成功高於以太坊gas費的2倍。
為什麼呢?
gas費,是用戶承擔服務器資源的必備品,也是調控交易進程的重要因素,以太坊從pow鏈轉到pos,在gas定價裡,只看共識層的gas price會有變化。
而那些以太坊挑戰者,新出現的pos鏈,包含l2,大都和以太坊上pow的gas price差了很多個數量級。
例如以太坊gas price在10gwei時,polygon上的gas price可能是其1000分之一。大部分以太坊挑戰者都是如此。
gas費是gas消耗量和gas prcie的乘積,鏈上通過gas費來標定鏈上交易資源的消耗,與之相關的就是鏈上交易大小,以及資源消耗,例如合約的代碼編輯,合約中會有執行碼,不同執行碼都有不同的定價,這些執行碼組合決定了合約執行的gas消耗。
而當涉及到多個鏈交互的情況,比如從l2本身定義去看。
L2是為了給l1擴容存在的,對於arbitrum來說,就是為了把以太坊的交易遷移到l2裡交易,但用戶很多操作會回到l1。
那l2上的交易數據要回到l1上鍊,這也代表著在這種需求下,l2的交易證明的大小,決定了用戶操作l2-l1合約時的gas用量。就有用戶提出過,Arbitrum的存在交易壓縮度不夠的情況。
但l2的公鏈邏輯,讓l2希望用戶進來之後就不要再回到l1,只在l2做交易就可以了。
那l2鍊和其他公鏈的角色是一樣的,其對與gas費的設計和要求,要更加符合pos鏈、低gas、高並發鏈的屬性。
那如何設計gas定價機制呢?
我們從arbitrum此次出現的問題看。
網傳arbitrum是由單一項目gmx設置了合約交互的最小gas消耗值而抬高了gas。這一理論,在公鏈gas設計裡是杜絕的,dapp合約和鏈基礎協議是完全分開的,即便一個dapp合約執行設置了最低消耗gas,可能是為了合約執行打包更順利,但dapp無法改變鏈整體的gas。
我們去查詢了arbitrum的gas定價,其有一個單獨的gas系統arbgas,其中標明了鏈上有一個最低值,也可以設置支付gas限制。
但arbitrum的gas定價和以太坊的定價有相同之處,那就是包含價格競價,競價被稱為gasbid,交易者設置的最高可支付gas費就是gasbid,在交易越來越多的情況下,gasbid會不斷推高。
而arbitrum上還有一個很有趣的規定是交易發送者的L2賬戶中必須至少有gasbid乘maxgas的ETH。該設置雖然會讓很多交易直接無法完成,但從用戶體驗上,似乎有可能讓用戶陷入不斷推高的情緒裡。
如果想把gas降下來,那些市場博弈的方式都是很難奏效的,唯一的,也是最好的方法就是降低gas price計算的數量級和降低合約執行碼的gas消耗量。
利用pos共識的鏈,其沒有像pow那樣的資源消耗和資源成本,定價必然會降低很多,並且,網絡會發行代幣,代幣中也會有相應保持網絡運營的部分,所以,gas費在這樣飄忽不定的市場下,暫時不會有明確的定義和標準。
如果其他鏈學習以太坊就一定會有gas費巨高不下的情況出現,因為基礎網絡運作並不考慮市場,像harmony這樣的新l1也曾因為大量交易,gas費高的離譜,是否還需要有其他的先行者解決gas費的問題呢?答案當然是需要,但無人解決的時候,我們只能暫且選擇等待和忍受。