本文深入探討了 Arbitrum 的費用機制
原文:深入了解 Arbitrum 機制:二維費用 (2-Dimensional Fees)(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 文檔。
免責聲明:作為區塊鏈信息平台,本站所發布文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。本文內容僅用於信息分享,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。