來源| github.com/arbitrum-cn

作者| Arbitrum

翻譯| Arbitrum 中文社區


感謝Arbitrum 中文社區@arbitrum_cn的投稿。



在幾個月前的Arbitrum 奧德賽中,Arbitrum One 經歷了史無前例的用戶流量。一些敏銳的用戶注意到了一個奇特的現象:隨著L2 gas 價格的上升,一筆特定的交易所使用的L2 gas 數量實際上會減少。


事實證明,這正是系統的工作原理——但對不熟悉的人來說,這看起來確實有點令人困惑。


如果你對到目前為止我們所說的內容而感到有些困惑,那這篇文章會試圖把它梳理清楚;如果你實在太困惑了,甚至都不知道在困惑什麼,那麼歡迎你繼續讀下去。


與此同時,你可能會發現這些關於以太坊和Arbitrum gas 的入門讀物很有用。 (而且如果你已經能準確地把握這篇文章的走向,那你完全應該在這裡申請一個職位: https://offchainlabs.com/careers/)。


二維費用


關於Layer 2 的支付費用,在一個經濟設計的系統中(如Arbitrum),你實際上是在為兩件事項同時付費:L1-native 資源和L2-native 資源。


Arbitrum One 是一個Rollup,你所支付的L1 資源基本上只是以太坊calldata;也就是說,你支付的是你交易的原始數據大小乘以L2 對L1 calldata 的價格估算(大致可以這樣理解)。


你需要支付的L2 資源是你的交易在Arbitrum 上的通用虛擬機(VM) 中進行的任何計算——執行、存儲等。這個數值是L2gas 價格乘以ArbGas——Arbitrum 的基本計算單位——你的交易使用的數量。一筆交易要成功,需要支付的L2 費用總額是這兩部分的總和。


在一維的世界裡...


棘手的是,儘管像Arbitrum 這樣的L2 費用本質上是二維的,但目前的以太坊生態系統主要是在L1 建立的,其費用可以用一維(one-dimensional) 來表示。


這意味著目前的基礎設施——錢包、開發者庫等等——假設交易格式中的費用是單一gas 單位和單一gas 價格的產物;當在Arbitrum 上進行交易時,我們要被迫將L1 和L2 維度都塞進這種限制性格式中。


那麼,我們是如何做到的呢?


我們是如何做到的


因此,綜上所述,我們的主要限制是總費用——必須包括L1 和L2 費用——需要表示為兩個值的乘積,我們稱之為"類似gas 價格"(P)和"類似gas 限額"(G)。


我們使用的P值(由Arbitrum 的估算gas 價格RPC 折返)實際上只是L2 的gas 價格(估算gas 價RPC 增加了一個小百分比的緩衝;任何超出的部分都會被退回)。


G 是我們考慮L1 維度的地方;調用Arbitrum 的估算gas,RPC 會給出一個值,其用於L2 計算的ArbGas 加上一個額外的緩衝區(B),這樣P*G 最終足以覆蓋全部交易成本。換句話說,我們增加了"gas 限制"之類的字段,以便在給定的gas 價格下支付的總金額足以支付L1 和L2 層面的費用。


通過一些代數運算,我們發現這個緩衝區B 必須等於(L1 calldata 成本)/P。


因此,總的來說,G,解壓為:


L2 gas 使用量+(L1 calldata 價格* L1calldata 大小) /(L2 gas 價格)


...其中"L2 gas 價格"的分母(回到最初的困惑)顯示了為什麼在所有其他數值相同的情況下,L2 gas價格的增加,實際上是減少了G 的價值。


邁向二維收費標準


如果這一切看起來比較麻煩——我們非常清楚這一點;我們目前被困在生態系統目前支持的一維費用基礎設施中,但理想的情況是,一個多維收費標準將被採納並被廣泛使用;現有幾個提案存在,我們同樣也有自己的想法。如果你有興趣幫助協調一個新的標準,請聯繫我們/參與我們的研究論壇。


想要了解更多關於Arbitrum 如何處理gas 信息,請查看我們的Inside Arbitrum 文檔。



點擊“閱讀原文”獲取文章內部鏈接!

原文鏈接:

https://github.com/arbitrum-cn/Arbitrum-Library/blob/main/Share/guide/2_dimensional_fee.md



ECN的翻譯工作旨在為中國以太坊社區傳遞優質資訊和學習資源,文章版權歸原作者所有,轉載須註明原文出處以及ETH中文站。若需長期轉載,請聯繫eth@ecn.co進行授權。