일반화된 기본 수수료 업데이트 분수

이 기사는 기계로 번역되었습니다
원문 표시

이더리움은 각 블록 블롭 기반 수수료를 업데이트할 때 상수 BLOB_BASE_FEE_UPDATE_FRACTION 사용하며, 수수료의 비례적 변화는 다음과 같이 계산됩니다.

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

이 상수에 대한 새로운 값이 각 이더리움 개선 제안(EIP) 에 포함되어 대상 블롭 가스를 변경합니다. 이더리움 개선 제안(EIP)-4844이더리움 개선 제안(EIP)-7691 에 설정된 값과 일치하는 상수 계산을 위한 간단한 일반화가 있으며, 이는 이더리움 개선 제안(EIP)-7892 의 블롭 매개변수 전용(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 2 ln ( 1.125 ) ,

여기서 m m 은 블록 당 최대 블롭 가스입니다. 이것이 이더리움 개선 제안(EIP)-4844와 이더리움 개선 제안(EIP)-7691을 모두 일반화하는 이유를 알아보기 위해, 이제 이 EIP들이 사용하는 방정식을 설정하고 이를 통해 일반화된 공식을 도출해 보겠습니다.

박람회

t t 를 블록 당 목표 블롭 가스로 정의합니다. 이더리움 개선 제안(EIP)-4844에 따르면 목표는 최대값의 절반입니다. t = m/2 t = m / 2 이며, 블롭 기본 수수료는 블롭 사용량이 최대 또는 최소일 때 블록 당 최대 1.125와 1/1.125만큼 증가 또는 감소하도록 설계되었습니다 . 블롭 가스가 최대로 소비될 때 수수료의 비례적 변화 방정식은 다음과 같습니다.

e^{\frac{mt}{b}} = e^{t/b} = 1.125.
티비 = e t / 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 ) = m 2 ln ( 1.125 ) .

이더리움 개선 제안(EIP)-7691에 따르면 BLOB_BASE_FEE_UPDATE_FRACTION 은 "풀 블롭과 블롭 없음에 대한 응답성을 일정하게 유지하는 중간 지점"으로 정의됩니다. "풀 블롭"에 대한 응답성을 일정하게 유지하는 b b는 다음과 같습니다.

b_\text{전체} = \frac{m - t}{\ln(1.125)}.
b 전체 = m t ln ( 1.125 ) .

"no blob"에 대한 응답을 일정하게 유지하는 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 ( m t ln ( 1.125 ) + 티인 ( 1.125 ) ) = ( m t + t 2 ln ( 1.125 ) ) = m 2 ln ( 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 = \t분수{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는 소비된 블롭 가스 g g 의 함수입니다.

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

2:1 주변에는 보완 비율 대칭이 있습니다. k k 의 크기는 대상이 중간 지점 위 또는 아래로 동일한 거리만큼 이동했을 때 유지됩니다( m/2 m / 2 ). 구체적으로, 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 : 1 4{:}3 4 : 3 에도 적용됩니다.

가스 정규화 확장

일반화된 방정식은 이더리움 개선 제안(EIP)-7999 에 설명된 가스 정규화 접근법으로 자연스럽게 확장됩니다. 이 접근법은 더 직접적으로 특정 리소스 제한에서 업데이트 비율을 분리합니다. 실행 중인 excess_gas 업데이트할 때 가스 델타 (게이트체인(GT)) ( g - t ) 를 최대 가스 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 ( g t ) m

동일하게 유지됩니다. 그러나 정규화를 통해 아키텍처가 더욱 견고해져 리소스 한도가 변경되더라도 가격이 안정적으로 유지됩니다. 해당 한도는 정규화된 excess_gas 업데이트의 일부이기 때문입니다.

결론

이 게시물의 목적은 다음과 같습니다.

  1. 제안된 방정식이 이전 EIP를 일반화하는지 설명합니다.
  2. 다양한 최대:목표 비율에 걸쳐 제안된 방정식의 효과를 제시하고, 합리적인 백분율 변화와 보완 비율 대칭을 설명합니다.
  3. 이더리움 개선 제안(EIP)-7999에서 추가 최적화를 위한 토대를 마련합니다. 퍼즐의 마지막 조각은 방정식의 일반화 특성을 활용하되, excess_gas 업데이트할 때 더 이른 단계에서 m m 을 적용하는 것입니다.
  4. 지난 ACDE 에서 몇몇 참가자들은 토론이 끝난 후(채팅을 통해) 일반적인 속성을 인식했습니다. 이 게시물은 제안된 방정식을 향후 업데이트 분율의 기본값으로 설정하는 것에 대한 보다 자세한 논의를 위한 장이 될 수 있습니다.

출처
면책조항: 상기 내용은 작자의 개인적인 의견입니다. 따라서 이는 Followin의 입장과 무관하며 Followin과 관련된 어떠한 투자 제안도 구성하지 않습니다.
라이크
2
즐겨찾기에 추가
코멘트