广义基础费用更新分数

本文为机器翻译
展示原文

以太坊在更新每个区块的 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
收藏
评论