廣義基礎費用更新分數

本文為機器翻譯
展示原文

以太坊在更新每個區塊的 blob 基礎費用時使用常量BLOB_BASE_FEE_UPDATE_FRACTION ,費用的比例變化計算如下:

math.exp((blob_gas_used - TARGET_BLOBS * GAS_PER_BLOB) / BLOB_BASE_FEE_UPDATE_FRACTION)

每個更改目標 blob gas 的 EIP 中都包含一個該常數的新值。事實證明,存在一個簡單的通用計算方法,與EIP-4844EIP-7691中設置的值一致,並且適用於EIP-7892的僅限 blob 參數 (BPO) 硬分叉。這個通用的更新分數計算方法(也在此處指定)如下:

BLOB_BASE_FEE_UPDATE_FRACTION = round (MAX_BLOBS * GAS_PER_BLOB / ( 2 * math.log( 1.125 )))

從數學上講,我們可以將理想(未四捨五入)值表示為

b = \frac{m}{2\ln(1.125)},
b = m²ln ( 1.125 )

其中m m是每個區塊的最大 blob gas 量。為了理解為什麼這可以推廣 EIP-4844 和 EIP-7691,我們現在將建立這些 EIP 使用的方程式,並從中推導出廣義公式。

博覽會

t定義為每個區塊的目標 blob gas 消耗量。根據 EIP-4844,目標值為最大值的一半: t=m/2 並且blob基礎費用 設計為,當 blob 使用量達到最大值或最小值時,每個區塊最多增加 1.125 或減少 1/1.125。當 blob gas 消耗量達到最大值時,費用比例變化的公式為

e^{\frac{mt}{b}} = e^{t/b} = 1.125。
e m t b = et / b = 1.125

對兩邊取自然對數並重新排列b b ,然後代入t=m/2 t = m / 2 ,得出指定的方程:

b = \frac{t}{\ln(1.125)} = \frac{m}{2\ln(1.125)}。
b = tln ( 1.125 ) =² ln ( 1.125 )

根據 EIP-7691, BLOB_BASE_FEE_UPDATE_FRACTION計算結果是“保持對滿 blob 的響應速度和無 blob 的響應速度恆定之間的中點”。保持對“滿 blob”的響應速度恆定的b b

b_\text{full} = \frac{m - t}{\ln(1.125)}。
b滿= m t ln ( 1.125 )

保持對“無斑點”的響應恆定的b b

b_\text{空} = \frac{-t}{\ln\left(\frac{1}{1.125}\right)},
b= t ln 1 1.125 )

根據對數規則: \ln(1/x) = -\ln(x) ln 1 / x = −ln x ,變成

b_\text{空} = \frac{t}{\ln(1.125)}。
b= t ln ( 1.125 )

“中點” (b_\text{full}+b_\text{empty})/2 ( b full + b empty ) / 2簡化為廣義方程:

b = \frac{1}{2} \left( \frac{m - t}{\ln(1.125)} + \frac{t}{\ln(1.125)} \right) = \left( \frac{m - t + t}{2\ln(1.125)} \right) = \frac{m}{2\ln(1.125)}。
b = 1 2 -t ln ( 1.125 ) + t ln ( 1.125 ) ) = ( m t + t 2 ln ( 1.125 ) ) =2ln ( 1.125 )

應用

廣義方程可給出任意比例的令人滿意的百分比變化。表1列出了幾個示例。

最大:目標滿的 %空的 %全因子1.125^k 1.125 k空因子1.125^k 1.125 k
5{:}4 5 : 4 +4.82% + 4.82 % -17.18% 17.18 % k = \tfrac{2}{5} k = 2 5 k = -\tfrac{8}{5} k = 8 5
4{:}3 4 : 3 +6.07% + 6.07 % -16.19% 16.19 % k = \tfrac{1}{2} k = 1 2 k = -\tfrac{3}{2} k = 3 2
3{:}2 3 : 2 +8.17% + 8.17 % -14.53% 14.53 % k = \tfrac{2}{3} k = 2 3 k = -\tfrac{4}{3} k = 4 3
2{:}1 2 : 1 +12.50% + 12.50 % -11.11\% 11.11 % k = 1 k = 1 k = -1 k = 1
3{:}1 3 : 1 +17.00\% + 17.00 % -7.55\% 7.55 % k = \tfrac{4}{3} k = 4 3 k = -\tfrac{2}{3} k = 2 3
4{:}1 4 : 1 +19.32% + 19.32 % -5.72% 5.72 % k = \tfrac{3}{2} k = 3 2 k = -\tfrac{1}{2} k = 1 2
5{:}1 5 : 1 +20.74% + 20.74 % -4.60% 4.60 % k = \tfrac{8}{5} k = 8 5 k = -\tfrac{2}{5} k = 2 5

表 1.使用廣義更新分數對各種最大:目標比率下的滿塊和空塊的影響。

請注意,在第 4 列和第 5 列中,基本費用變化了1.125^k 1.125 k的倍數,其中k k是消耗的 blob gas g g的函數:

k(g)= \frac{2(g - t)}{m}。
k g = 2 g - t m

在 2:1 附近存在補比對稱性。當目標在中點 ( m/2 m / 2 ) 上下移動相同距離時, k k的大小保持不變。具體而言, k_\text{full}(m{:}t) = -k_\text{empty}(m{:}(mt)) k full ( m : t ) = k empty ( m : ( m t ) )k_\text{full}(m{:}(mt)) = -k_\text{empty}(m{:}t) k full ( m : ( m t ) ) = k empty ( m : t ) ,例如,這適用於補比3{:}1 3 : 13{:}2 3 : 2以及4{:}1 4 : 14{:}3 4 : 3

擴展至氣體標準化

廣義方程可以自然地擴展到EIP-7999中概述的 Gas 歸一化方法。這種方法通過更直接的方式將更新分數與任何特定的資源限制解耦:在更新正在運行的excess_gas Gas 時,它將 Gas 增量(GT) ( g - t )除以最大 Gas m m (在 EIP-7999 中稱為限制),從而對其進行歸一化。這樣一來,所有資源都可以使用一個單一的、通用的更新分數——與m m無關——無論它們各自的限制如何。

這兩種方法僅在除以m m時有所不同。在廣義方程中, m m放在更新分數b b 的分子中。由於b b本身用作費用更新指數(GT)/b ( g t ) / b分母,因此這實際上將m m放在了整個計算的分母中。

最終,最終費用變化因素:

1.125^{\frac{2(GT)}{m}}
1.125 2 ( t )

保持不變。然而,標準化使架構更加穩健,確保當資源限制發生變化時價格保持穩定,因為該限制已經是標準化excess_gas更新的一部分。

結論

這篇文章的目的如下:

  1. 揭示為什麼所提出的方程可以概括以前的 EIP。
  2. 展示所提出的方程對各種最大值:目標比率的影響,說明合理的百分比變化和互補比率對稱性。
  3. 為 EIP-7999 中的進一步優化奠定基礎。最後一個難題是利用方程的泛化特性,但在更早的階段(即在更新excess_gas時)應用m m
  4. 上一次 ACDE中,幾位參與者直到討論結束後(通過聊天)才意識到這些通用屬性。這篇文章可以作為一個平臺,供大家進行更深入的討論,探討如何將提議的方程式確立為未來更新分數的默認值。

來源
免責聲明:以上內容僅為作者觀點,不代表Followin的任何立場,不構成與Followin相關的任何投資建議。
喜歡
2
收藏
評論