
L2 費用金庫:利用反饋控制進行 L1 成本定價
本研究提出了一個利用金庫抽象化的控制理論框架,用以平衡 L2 費用收入與 L1 發布成本,並透過歷史數據模擬比較了各種反饋與前饋機制。
作者:Lin Oshitani (Nethermind Research) 與 Ulysse Pavloff (University of Bern)。
感謝 Conor、Ahmad、Gustavo、Daniel、David 以及 Yuewang 的討論與審閱。
本研究由 Taiko 資助,屬於 Taiko 與 Nethermind 戰略合作夥伴關係的一部分。
內容提要 (TL;DR)
在 L2 上為 L1 發布成本定價可以被視為一個控制問題:一個「金庫」(vault)追蹤 L2 費用收入與 L1 發布成本之間的累積差額,而 L2 費用則是保持該金庫平衡的控制槓桿。透過使用歷史 L1 基礎費用(base fee)與 Blob 費用數據驅動的模擬器,我們比較了多種用於 L2 定價 L1 成本的費用公式與控制器設計。
簡介
費用金庫抽象化
L2 對 L1 發布成本的定價可以透過一個核心抽象概念來理解:金庫。每筆 L2 交易支付的費用會流入金庫,而每當 L2 向 L1 發布數據或證明時,成本會從金庫流出。金庫在任何時間點的餘額都反映了 L2 收集的收入與產生的 L1 成本之間的累積差額。在實踐中,金庫可以是 L2 上的一個智能合約,用於累積 L2 費用,並追蹤從 L1 回傳的實際 L1 發布成本——關於其運作方式請參閱實作筆記。
在這種框架下,一個健康的金庫——即沒有持久赤字或盈餘的金庫——意味著 L2 費用收入與 L1 發布成本隨時間推移大致保持平衡。金庫赤字意味著定序器(sequencer)隱性地補貼了 L1 發布成本;金庫盈餘則意味著交易發送者被系統性地超收費用。因此,偏離金庫目標的程度提供了一個評估費用機制的自然指標。我們使用金庫健康度(vault health)一詞來描述這種平衡;在什麼是好的費用機制?章節中有更精確的特徵描述。
L2 協議直接控制其向用戶收取的 L2 費用。透過調整此費用,協議可以影響金庫餘額:提高費用會增加流入(推高金庫餘額),降低費用則會減少流入(讓金庫餘額下滑)。一個自然的目標是設定費用,使金庫隨時間追蹤其目標,對 L1 成本的變化和 L2 需求的轉移做出反應,同時保持費用波動足夠低,讓用戶體驗到可預測的交易成本。
這種框架——一個具有可測量狀態(金庫餘額)、目標(金庫目標)和可調節輸入(L2 費用)的系統——是教科書式的控制理論場景。
費用金庫(或稱「池」)最初由 Arbitrum 在其費用池文章中提出。本文在多個方面擴展了 Arbitrum 的費用池想法:
- 將 L2 費用定價框架化為一個通用的控制理論問題。
- 引入前饋項(feedforward term),以建立一個統一的理論來涵蓋主要的 L2 費用機制(從 OP Stack 到 Arbitrum)。
- 考慮去中心化定序器環境下的問題。
- 使用基於歷史 L1 數據的模擬來比較控制器設計。
- 記錄並分析 Arbitrum Nitro 的 L1 定價控制器(其設計在其他地方缺乏詳細記錄),並在模擬中將其與其他方法進行比較。
控制理論類比:恆溫器
控制理論中的一個經典例子是恆溫器:房間有當前溫度(測量狀態)、期望溫度(目標)、輸出可調節的加熱器(控制輸入),以及天氣或開窗等外部因素(擾動)。控制器讀取溫度,計算與目標的差距,並調整加熱功率以彌補差距。
總結恆溫器的要素:
- 測量狀態 → 房間溫度
- 目標 → 期望溫度(例如 22°C)
- 控制輸入 → 加熱器輸出
- 擾動 → 天氣、開窗等
基礎控制器僅對測量狀態與目標之間的差距做出反應;它等待誤差出現後才進行修正。這就是回饋(feedback):它在擾動已經影響系統之後,對擾動的效果做出反應。對於恆溫器而言:
- 回饋 → 測量室溫並根據觀察到的與目標溫度的差距來調整加熱器。
相比之下,前饋項直接對擾動的原因做出反應,在效果傳導至系統之前進行處理。對於恆溫器而言:
- 前饋 → 感測室外溫度或參考天氣預報,預先調整加熱器輸出。
映射到費用金庫
費用金庫直接對應到此結構:
- 測量狀態 → 金庫餘額
- 目標 → 金庫目標
- 控制輸入 → L2 費用
- 擾動 → L1 基礎/Blob 費用波動、L2 需求轉移
費用金庫控制器可以同時使用回饋與前饋:
- 回饋 → 觀察金庫餘額,並根據觀察到的與目標餘額的差距來調整 L2 費用。
- 前饋 → 觀察當前的 L1 基礎費用和 Blob 費用,並將其直接計入 L2 費用,而不是等待金庫餘額下降後才反應。
事實上,在這個框架中,像 Optimism 這樣的鏈所使用的常見 L2 費用機制可以被視為僅前饋(feedforward-only)的設計。這些系統在定序時利用觀察到的 L1 基礎費用和 Blob 基礎費用來估算每筆交易的 L1 發布成本,並據此向用戶收費。換句話說,它們根據定序時的估算來為 L1 數據定價,而不是根據批次實際提交時的實現成本。另一方面,它們不維護金庫,也不對累積的盈餘或赤字做出反應。用控制理論的話說,它們透過前饋項將擾動(L1 成本)直接傳遞給費用,而不追蹤金庫中的實現成本或使用金庫狀態的回饋。
這種「回饋 + 前饋」框架可以被視為一個涵蓋所有主要 L2 回收 L1 成本費用策略的統一框架。純前饋(在定序時向每筆交易收取其 L1 成本)、純回饋(費用僅由金庫赤字驅動)以及混合設計,都是該框架內的特定案例。
關於去中心化定序器的說明
具有回饋控制的金庫機制特別適合像 Taiko 這樣擁有多個輪換定序器的 Rollup,原因有三:
- 它對需求轉移做出反應,而不僅僅是 L1 成本變化。 僅前饋設計對 L2 側的需求變化是盲目的。如果需求下降,較少的交易要分擔相同的固定發布成本,會悄悄侵蝕餘額,但前饋機制不會察覺。中心化定序器可以透過等待批次填滿後再發布來緩解這種情況,從而保持需求大致恆定。輪換定序器則沒有這種優勢:每個人都有有限的時間窗口且必須在截止日期前發布,因此如果窗口內需求低,他們會以大致相同的 L1 成本發布較小的批次,導致每筆交易的成本飆升。金庫能捕捉到這一點,因為需求變化會體現為流入變化——進而表現為金庫健康度下降——控制器隨後會調整費用作為回應。
- 它可以平滑不同定序器之間的 L1 成本峰值。 如果沒有金庫,每個定序器都要承擔其時段內發生的任何 L1 成本。如果有人遇到基礎費用飆升,他們必須承擔全部成本。有了金庫,協議可以從共享池中補償定序器,使 L1 成本峰值隨時間平滑,而不是落在單個倒霉的定序器身上。這需要防止不承擔全部成本的定序器進行魯莽發布的預防措施;詳見 [Q1] 如何防止補償制度下的魯莽發布?。這使得定序器的經濟模型更具可預測性,並鼓勵在 L1 波動期間參與。
- 它能激勵恢復錯過的提案。 假設一個定序器錯過了向 L1 發布的窗口。如果沒有金庫,選項要麼是錯過的批次觸發 L2 重組(糟糕的用戶體驗),要麼是另一個定序器自費恢復它卻沒有補償(糟糕的激勵)。共享金庫解決了這個問題,因為下一個定序器可以透過將錯過的批次與自己的批次一起發布來「恢復」它,並從恢復的批次費用收入中領取 L1 成本部分作為補償。
什麼是好的費用機制?
在比較具體的費用公式之前,值得明確說明我們期望的目標。我們從兩個維度評估機制:金庫健康度與費用波動性。
- 金庫健康度衡量機制隨時間推移將金庫餘額維持在目標附近的程度。如果一個機制能避免深度或持久的赤字,並在成本衝擊後迅速回歸目標,則在該維度表現良好。如果金庫長期偏離目標或在不穩定的情況下震盪,則表現較差。
- 費用波動性衡量從用戶角度看 L2 費用的變化有多劇烈。大幅或頻繁的跳動會降低費用的可預測性,即使長期平均值保持不變。
這些目標本質上是相互衝突的。為了保持金庫接近目標而反應激進的機制,往往會將衝擊更直接地傳遞給用戶,增加費用波動。而為用戶平滑費用的機制則傾向於讓金庫吸收衝擊,這可能導致更深或更持久的目標偏離。下文研究的設計位於這一權衡曲線的不同點上。
需要強調的是,在僅前饋設計中,金庫最好被理解為一個會計抽象:它追蹤費用收入與實現的 L1 發布成本之間的累積差額。在基於回饋的設計中,金庫餘額成為用於設定費用的控制訊號的一部分,並可能對應於一個明確的鏈上合約。
費用公式說明
問題設定
有了這種控制理論框架,核心設計問題是:如何根據當前金庫餘額和觀察到的 L1 成本精確更新 L2 費用? 對這個問題的不同回答導致了不同的控制器設計。本文研究的控制器由兩個概念上截然不同的成分組成。
第一種是前饋項 (FF):根據定序時觀察到的 L1 基礎費用和 Blob 費用,直接估算當前的 L1 發布成本。FF 完全不使用金庫狀態,它在「擾動」衝擊金庫之前就對其進行定價。
第二種是一系列回饋項,用於修正金庫餘額與目標之間的差距:
- P (比例,Proportional): 對當前赤字 epsilon(t) 做出反應。
- I (積分,Integral): 對隨時間累積的赤字做出反應。
- D (微分,Derivative): 對赤字變化的速度做出反應。
FF 和回饋項性質不同:FF 是預測,而 P/I/D 是修正。儘管如此,它們仍可被視為模組化組件:控制器可以單獨使用它們、組合其中幾個,或混合前饋與回饋項。這裡研究的機制是這一廣泛設計空間中的代表性組合:純 FF、純 P、PI(比例 + 積分)、P+FF,以及最好被理解為 PD(比例 + 微分)的 Arbitrum 式控制器。
假設與範圍:
- 需求無彈性。 我們在全文中將需求視為無彈性的——在某個費用上限下,較高的費用總是會增加金庫流入。如果需求有彈性,控制器可能會變得不穩定:加費導致用戶流失,反而加深赤字而非彌補。參見 [Q3] 如果費用過高導致用戶流失怎麼辦? 了解緩解措施。
- 僅限 L1 成本。 本文重點討論 L2 費用中的 L1 成本部分。L2 擁堵定價(根據 L2 區塊利用率調整費用)是一個正交問題,可以獨立疊加,因為擁堵定價回應 L2 利用率,而金庫控制器回應 L1 成本差距。
- 抽象的每筆交易數據核算。 在實踐中,每筆交易在 L1 發布成本中的份額取決於它對發布批次貢獻了多少數據。在本文中,我們抽象掉這種每筆交易的數據核算,將 F(t) 視為單位數據的費用。
符號說明
常用變數:
- t:當前時間步(即區塊時間戳記)
- F(t):在時間 t 收取的 L2 費用(控制器的輸出)
- V(t):時間 t 的金庫價值
- V_target:目標金庫價值
- delay:L1 區塊的觀察延遲(以 Taiko 術語來說是錨定滯後——當前錨定的 L1 區塊落後於最新 L1 區塊頭的距離)
- epsilon(t):時間 t 的歸一化赤字率,定義為 (V_target - V(t - delay)) / V_target
- F_min:允許的最低費用
- F_max:允許最高費用
- FeeRange:費用範圍,定義為 F_max - F_min
- clamp(x, lo, hi):將 x 限制在 [lo, hi] 範圍內——如果 x 低於 lo 則返回 lo,高於 hi 則返回 hi,否則返回 x 本身
模擬設定
本文中的所有模擬均由 365 天的以太坊主網歷史基礎費用和 Blob 基礎費用數據(2025-02-06 至 2026-02-06)驅動,如下所示:
這個窗口包含了一個顯著的 Blob 費用峰值,發生在 L1 區塊 22389679 附近,在比較不同費用機制對峰值的反應時,放大觀察此處非常有用:
關鍵模擬參數:
- 數據發布頻率: 每 10 個 L1 區塊一次
- L2 TPS: 1 tx/s
- 金庫目標: 10 ETH
- 費用範圍: 0.01–1 Gwei
選擇這些參數是為了具備廣泛的現實意義和說明性,而非針對特定部署進行校準。L1 費用數據和控制器模擬可以在此 模擬器介面 中進行互動式探索。
純前饋 (FF-only)
純前饋方法是目前部署最廣泛的方法,被 Optimism 和其他主要 L2 使用。其核心思想是在定序時估算 L1 發布成本並直接向用戶收取,沒有金庫或回饋迴路。用控制理論的話說,這是純前饋:控制器觀察 L1 成本(擾動),並在成本實際產生前將其計入費用。
公式如下:
- BaseFee(t), BlobFee(t):時間 t 的 L1 執行基礎費用和 Blob 基礎費用。
- alpha_gas, alpha_blob:將 L1 Gas 和 Blob 成本轉換為每筆 L2 交易份額的縮放權重。
FF(t) = alpha_gas * BaseFee(t - delay)
+ alpha_blob * BlobFee(t - delay)
F(t) = FF(t)
這裡的 delay 參數反映了信任與延遲之間的權衡。擁有受信任定序器的鏈(如 Optimism)可以透過預言機將最新的 L1 基礎費用和 Blob 費用推送到 L2,有效地使 delay ≈ 0。一種去信任的替代方案是透過鏈的原生 L1→L2 訊息路徑(例如 Taiko 的錨定交易或 Arbitrum 的延遲收件箱)導入 L1 狀態,這避免了對預言機的信任假設,但會引入幾個 L1 區塊的觀察延遲。
模擬與分析
雖然純前饋不使用金庫作為輸入,但我們仍在模擬中追蹤隱含的金庫餘額作為評估指標。結果如下(可透過 此處 介面進行互動):
此方法的優缺點如下:
優點:
- 在費用有調整空間的時期(即未觸及上限時),金庫能很好地追蹤其目標。
缺點:
- 純前饋也讓 L2 用戶直接暴露在 L1 費用的波動中。雖然我們為了簡化假設需求無彈性,但在用戶支付意願未增加的情況下,與 L2 需求無關的費用峰值會對用戶造成沉重打擊,使需求實際上變得更有彈性,並增加在 L1 峰值期間抑制 L2 活動的風險(相比之下,需求驅動的峰值通常伴隨著較高的支付意願)。詳見 [Q2] L2 費用應在多大程度上與 L1 費用波動隔離? 以了解是否以及如何平滑此波動。
- 純前饋為當前的 L1 狀況定價,但無法修復累積的損失。這些損失主要源於大型 L1 峰值期間的 F_max 截斷。一旦峰值過去,就沒有回饋項來將金庫推回目標。
下方的 F_max 掃描使這種權衡變得特別清晰(模擬連結)。將 F_max 從 1 gwei 提高到 2、5 和 10 gwei 能顯著改善金庫健康度,因為被截斷的 L1 峰值減少了,更多的實現成本被轉嫁給用戶。但代價是費用波動性顯著增加:
P 控制器 (P-only)
P 控制器直接根據當前金庫赤字設定費用:金庫低於目標越多,費用越高,反之亦然。其權衡在於,如果金庫穩定在一個持久的小額赤字上,P 控制器會無限期地應用相同的小額修正而不升級,導致金庫略低於目標(穩態誤差)。
- Kp (比例增益):控制費用對當前赤字的反應強度。Kp 越高,單位赤字的修正力越強。
公式如下:
P(t) = Kp * epsilon(t) * FeeRange
F(t) = clamp(P(t), F_min, F_max)
模擬與分析
結果如下所示(模擬連結)。第一張圖顯示控制器隨時間收取的 L2 費用,第二張圖顯示金庫餘額軌跡。紅線標記目標,藍線追蹤實際金庫價值(向下移動表示赤字增加)。
放大 Blob 費用峰值周圍:
此方法的優缺點如下:
優點:
- 與純前饋相比,P 控制器的費用波動性較低,因為它回應累積的金庫誤差,而不是將每個 L1 成本峰值直接傳遞。
- 它可以隨時間恢復金庫健康。在衝擊之後,費用會保持在高位直到金庫恢復,而不是在 L1 峰值過去後立即下降。
缺點:
- 控制器純粹是反應性的,因此突然的 L1 成本峰值需要一段時間才能反映在 L2 費用中。
- 存在穩態誤差:一旦金庫略低於目標,控制器可能會穩定在一個略微提高的費用上,使金庫保持在目標附近但非精確位置。
這種權衡在 L1 區塊 22389679 附近的 Blob 費用峰值周圍尤為明顯,如下方與純前饋的對比所示(模擬連結。藍線是純 P,綠線是截斷在 1 gwei 的純前饋。
PI 控制器
解決 P 控制器穩態誤差的一種常見方法是添加積分項。積分項會隨時間累積赤字訊號,因此如果金庫長期低於目標,控制器會施加漸進增強的修正,直到消除誤差。
- Ki (積分增益):控制費用對持久赤字的反應強度。
- I_acc(t) (積分累加器):赤字訊號的運行總和。
- I_min, I_max:積分狀態的邊界(用於抗飽和)。
公式如下:
I_acc(t) = clamp(I_acc(t-1) + epsilon(t), I_min, I_max)
P(t) = Kp * epsilon(t) * FeeRange
I(t) = Ki * I_acc(t) * FeeRange
F(t) = clamp(P(t) + I(t), F_min, F_max)
模擬與分析
結果如下所示,藍色是純 P,棕色是 PI 控制器。
如果我們放大 Blob 費用峰值時間段:
PI 控制器的優缺點如下:
優點:
- PI 解決了 P 控制器的穩態誤差:如果金庫長期低於目標,積分項會累積並將費用推高到足以彌補剩餘差距的程度。
- 在長時間赤字後,PI 往往比純 P 恢復得更快,因為積分項保留了對持續誤差的「記憶」。
缺點:
- 積分項可能導致過衝(overshoot):在狀況恢復正常後(例如 L1 峰值過去後),累積的積分可能使費用保持在高位,暫時將金庫推高至目標以上,這增加了用戶端的費用波動。
- PI 引入了額外的調優複雜性(Ki 的選擇和抗飽和邊界)。調優不當可能導致震盪或收斂緩慢。
P + 前饋 (P+FF)
P+FF 是在單個控制器中結合前饋與回饋項的一個例子。在這裡,前饋項立即將觀察到的 L1 狀況計入費用,而比例項則負責修正任何殘餘的金庫赤字。
FF(t) = alpha_gas * BaseFee(t - delay)
+ alpha_blob * BlobFee(t - delay)
P(t) = Kp * epsilon(t) * FeeRange // 與上述相同的比例項
F(t) = clamp(FF(t) + P(t), F_min, F_max)
模擬與分析
評估 P+FF 的最佳方式是在 Blob 費用峰值周圍與純 P 進行直接對比,此處的權衡最為明顯:
此方法的優缺點如下:
優點:
- 它比純 P 讓金庫更接近目標,因為部分預期的 L1 成本在實際衝擊金庫前就已計入費用。
缺點:
- 它將更多的 L1 波動直接傳遞給用戶,產生的費用波動高於純 P。
在實踐中,在此模擬中金庫健康度的提升相對於純 P 而言並不明顯,這讓人懷疑是否值得為此增加用戶端的費用波動。
Arbitrum 式控制器
上述控制器僅對金庫餘額相對於目標的「位置」做出反應。而 Arbitrum Nitro 的 L1 定價控制器還會對差距變化的速度和方向做出反應。在「比例」訊號之上,它提取了金庫價值的「微分」。從這個意義上說,它最好被視為一個 PD 類控制器。
- F(t):更新 t 後的有效費用水平
- U(t):發布間隔內消耗的數據單位(在 Nitro 中:壓縮後的 Calldata 字節數 × 16)
- EquilUnits:平衡水平(equilibration horizon),即需要多少數據單位來抵消當前盈餘。數值越大,修正越溫和。
- Inertia:設定緩衝中點。InertiaUnits = EquilUnits / Inertia 是修正力減半時的間隔大小。
InertiaUnits = EquilUnits / Inertia
desiredSlope(t) = -S(t) / EquilUnits
actualSlope(t) = (S(t) - S(t-1)) / U(t)
slopeCorrection(t) = desiredSlope(t) - actualSlope(t)
feeChange(t) = slopeCorrection(t) * U(t) / (InertiaUnits + U(t))
F(t+1) = max(0, F(t) + feeChange(t))
該控制器以盈餘 S(t) = V(t) - V_target 為基準運作(注意與上述赤字 epsilon(t) 的正負號相反),並在每次發布事件後增量更新有效費用 F(t)。根據當前盈餘,它計算一個 desiredSlope,即在 EquilUnits 數據單位內讓盈餘回歸零所需的速度。當 L1 批次發布發生時,它計算 actualSlope,即每個數據單位實際產生的盈餘變化。費用根據差距進行調整:slopeCorrection = desiredSlope - actualSlope。
然而,actualSlope 是有雜訊的,特別是在消耗的數據單位 U(t) 較小時。為了防止過度反應,修正量會按 U(t) / (InertiaUnits + U(t)) 進行縮放:當 U(t) 較小時,大部分修正會被抑制;當 U(t) 較大時,大部分修正會生效;當 U(t) = InertiaUnits 時,恰好一半生效。
模擬與分析
下圖在 Blob 費用峰值周圍將 Arbitrum 式與純 P 進行比較(模擬連結):
優點:
- 在峰值窗口內實現了比純 P 更好的金庫健康度,回撤更淺。
- 費用波動性遠低於純前饋。
缺點:
- 費用波動性高於純 P;費用在低值和高值之間反覆跳動,而不是像純 P 那樣遵循平滑的駝峰路徑。
- 該控制器比簡單的 P 控制器更難理解和調優,因為其行為取決於 EquilUnits、Inertia、發布節奏和間隔大小 U(t) 之間的相互作用。
模擬總結
模擬結果指向一個一致的權衡:更好的金庫健康度通常以更高的費用波動性為代價。
- P 控制器在這些模擬中提供了最低的費用波動性,但金庫健康度中等,同時能隨時間恢復赤字。其主要弱點是金庫健康度恢復不是最快的,且對突然的 L1 成本峰值反應較慢。
- Arbitrum 式以高於純 P 的費用波動性為代價,實現了更強的金庫健康度(特別是在 L1 成本飆升等壓力事件期間),但其費用更新較為破碎且複雜度較高。
- 純前饋在費用有足夠空間(即 F_max 足夠高,峰值未被截斷)時能很好地追蹤實現的 L1 成本,但它將 L1 波動直接轉嫁給用戶。如果費用在大型峰值期間被限制在 F_max,它無法在事後恢復損失的收入,因為沒有回饋項將金庫推回目標。
- P+FF 相對於純 P 改善了金庫健康度,但在本模擬中,相對於將更多 L1 波動直接引入費用所帶來的 UX 成本,其收益顯得微不足道。
- PI 控制器改善了相對於純 P 的穩態追蹤,但可能引入過衝和更多的用戶端費用波動。
總體而言,模擬表明,如果 L2 費用波動是一個考量因素,主要的設計選擇在於 純 P 和 Arbitrum 式 之間:如果優先考慮費用平滑度、實作簡單性和可預測性,選擇純 P;如果認為更緊密的目標追蹤值得接受雜訊較大的費用和更複雜的控制器,則選擇 Arbitrum 式。雖然 PI 減少了穩態誤差,但它容易過衝,且調優複雜度使其吸引力降低,特別是在純 P 的穩態誤差處於可容忍範圍內時。
值得注意的是,這裡探索的控制器僅代表廣闊設計空間中的一小部分。許多其他控制器架構,包括 PID 控制器的其他變體、自適應增益方案,以及以不同比例混合回饋與前饋的混合設計,仍有待探索,留作未來研究。
實作筆記
在實踐中,L1 發布成本必須從 L1 導入 L2,以便在位於 L2 的金庫中進行核算。高層級流程如下:
- 在 L1 記錄 L1 成本。 當定序器向 L1 發布 L2 數據或證明時,L1 收件箱合約會記錄實際發布成本(使用的 Gas × 基礎費用,Blob 數量 × Blob 費用)。
- 透過 L1→L2 訊息導入 L2。 記錄的成本透過鏈的 L1→L2 訊息傳遞機制傳遞給 L2 費用金庫合約。在 Taiko 的案例中,這透過錨定交易發生——每個 L2 區塊都包含一個錨定交易,用於導入最新的 L1 狀態,包括任何新記錄的發布成本。Arbitrum 則使用延遲收件箱機制。
- 更新金庫餘額並計算費用。 L2 上的費用金庫從其餘額中扣除導入的成本,得到更新後的 V(t)。控制器隨後使用此餘額計算下一個 L2 費用 F(t)。
這意味著金庫對 L1 成本的視角本質上是延遲的。它只能反映已在 L1 記錄並導入 L2 的成本。這種延遲由上述控制器公式中的 delay 參數捕捉。
開放性問題
[Q1] 如何防止補償制度下的魯莽發布?
如關於去中心化定序器的說明所述,金庫可以補償定序器的 L1 發布成本。但這產生了潛在的道德風險:定序器可能會發布過於頻繁(產生小型、低效的批次)、未能避開 L1 費用峰值,或支付過高的優先費用(priority fee)——因為金庫會吸收這些成本。
可考慮的緩解措施:
- 在補償公式中使用固定的優先費用,或完全不考慮優先費用。 這限制了金庫覆蓋的範圍——如果定序器支付了超額的優先費用,他們需自行承擔。
- 當定序器虧損發布時,將補償上限設定在 100% 以下(例如 90%)。這讓定序器保持高效發布的動力,因為他們始終需要承擔部分成本。
[Q2] L2 費用應在多大程度上與 L1 費用波動隔離?
任何帶有前饋組件的控制器(純 FF、P+FF)都會將 L1 基礎費用和 Blob 費用波動直接傳遞到 L2 費用中。這種波動對 L2 需求而言是外生的。在 L1 上,費用飆升是需求驅動的,因此造成擁堵的用戶就是付費的人,高費用不一定會抑制活動。在 L2 上情況則不同:L1 成本飆升(例如由於 L1 上的代幣發售)會提高 L2 費用,而 L2 的支付意願並未相應增加。由於 L2 用戶沒有理由為該峰值買單,需求彈性會更陡峭,增加了抑制 L2 活動的風險。
這提出了一個設計問題:金庫是否應該刻意吸收短期的 L1 峰值以降低費用波動,還是為了更緊密的金庫健康度而將其轉嫁?
[Q3] 如果費用過高導致用戶流失怎麼辦?
上述所有控制器都假設在某個費用上限(F_max)內,較高的費用會導致更多的金庫流入。但在實踐中,如果費用攀升過高,用戶會停止交易,交易量的下降可能會抵消單筆交易費用的提高。這可能創造一個死亡螺旋:高費用 → 交易減少 → 赤字加深 → 費用更高。
已有的緩解措施:
- F_max 限制:所有控制器都強制執行一個硬性的費用天花板,這是防止費用推得過高的主要防線。
在假設 F_max 足夠低、不會驅逐大量需求的條件下,目前的模擬是成立的。但這仍然是一個假設,如果 F_max 高於需求變得有彈性的臨界點,控制器仍可能進入上述的「死亡螺旋」。
額外可考慮的緩解措施:
- 使用假設的需求彈性曲線進行模擬: 在交易量隨費用上漲而下降的模型下運行控制器模擬,以測試在非彈性體制之外的穩健性。
- 監測並對需求轉移做出反應: 追蹤滾動的 L2 Gas 使用量,並在加費後交易量迅速下降時,自動放緩費用的增長。