피드백과 토론에 참여해 주신 Shao , Chih Cheng Liang , Panta Rhei 에게 감사드립니다.
추상적인
이더리움은 대규모 네트워크 용량 확장기에 접어들고 있습니다. 후사카 포크에서 PeerDAS가 출시됨에 따라 블롭 용량은 계획대로 최대 48/72까지 확장될 예정입니다. 그러나 블롭 수요 증가율이 공급량을 따라가지 못하면서 공급 과잉 상황이 발생하여 블롭 수수료 시장은 장기간 비효율적으로 운영되고 있습니다.
이 제안은 EIP-1559의 확장으로 이중 가변 리소스 가격 책정 메커니즘을 도입합니다. 이 메커니즘은 실제 수요 변동에 따라 base_fee_per_blob_gas 와 target_blob_gas_per_block 모두 동적으로 조정합니다. 이러한 접근 방식은 블롭 수수료를 안정화하고 네트워크 확장 단계 전반에 걸쳐 블롭 수수료 시장의 효율성을 보장합니다.
동기 부여
현재 이더리움의 리소스 수수료는 네트워크 혼잡 상황에 따라 변동하며, 혼잡 시에는 상승하고 사용량이 적은 기간에는 하락합니다. 효율적인 시장에서는 리소스 부족으로 인해 가격이 수요와 공급에 맞춰 조정됩니다. 그러나 리소스 목표와 한도를 높여 네트워크 용량을 확장할 경우, 부족 현상으로 인해 공급 과잉 상황이 발생합니다. 수요가 새로운 목표 수준에 맞춰 증가하지 않기 때문에 가격은 더 이상 시장 균형을 반영하지 못하고 비효율적으로 작동합니다. 지난 한 해 동안 블롭 사용량에서 이러한 불균형의 징후가 나타났습니다.
- 블롭 사용량은 대부분 목표치 이하로 유지됩니다. 실제로 수요는 공급 변화에 즉각적으로 반응하지 않습니다. 블롭 수요는 점진적으로 증가하기 때문에 목표 소비량에 도달하는 데는 시간이 걸립니다. 그때까지
base_fee_per_blob_gas거의 무료로 유지됩니다.
- 블롭
base_fee_per_blob_gas수요가 목표 수준에 도달하면 매우 변동성이 커집니다. 가격이 1웨이에서 시작하기 때문에 블롭 가스 사용량의 작은 변동도 급격한 가격 변동을 초래할 수 있습니다. 이러한 변동성은 특히 소수의 주요 소비자가 시장을 장악하고 있고, 이들의 블롭 가스 사용량이 같은 기간에 집중되는 경향이 있어 가격 변동을 더욱 심화시키고 예측 가능성을 저하시키기 때문에 더욱 두드러집니다.
아래 그림은 펙트라 포크 이전인 2025년 5월 5일의 기본 수수료 변동을 보여줍니다. 데이터에 따르면 세 차례의 가격 급등이 있었지만, 대부분의 기간 동안 수수료는 거의 무료였습니다.
-
target_blob_gas_per_block확장할 때마다base_fee_per_blob_gas다시 1wei로 떨어집니다. 즉, (1)과 (2)의 문제가 반복적으로 발생합니다. PeerDAS 와 BRO가 출시되면base_fee_per_blob_gas상당 기간 동안 사실상 0으로 유지될 것으로 예상됩니다.
이중 변수 EIP-1559 메커니즘
현재 블롭 기반 수수료는 다음과 같이 계산됩니다.
b_{n+1}=b_n∗exp(\frac{g_i−T}{8T } ) b n + 1 = b n ∗ exp ( g i − T 8 T )
여기서 b_n b n 은 현재 블록의 기본 수수료, b_{n+1} b n + 1 은 다음 블록의 기본 수수료, g_i g i 는 현재 사용되는 가스, T T는 6으로 고정된 목표 블롭 가스입니다. 자세한 내용은 여기를 참조하세요.
우리는 목표 블롭 가스를 변수로 만들어 기본 수수료( b_i b i )와 목표 수수료( t_i t i )를 동적으로 조정하는 것을 제안합니다. 이 메커니즘은 다음과 같은 목적을 위해 사용됩니다.
- 대상 주변의 블롭 가스 사용을 조절하여 네트워크가 장기간 편안하게 처리할 수 있는 지속적인 용량을 나타냅니다.
- 기본 요금은 여전히 네트워크 혼잡에 따른 예비 가격으로 사용됩니다.
- 네트워크가 블롭 용량을 확장할 때 기본 수수료를 안정화합니다.
기본 수수료 조정
기본 수수료 조정의 목적은 가스 목표치를 기준으로 가스 사용량을 조절하는 것입니다. 기존 EIP-1559와 마찬가지로, 조정 규칙은 다음 방정식을 사용하여 이전 블록의 기본 수수료( b_{i-1} b i − 1 ), 가스 목표( t_{i-1} t i − 1 ), 그리고 사용된 가스량( g_ { i -1} g i − 1 )으로부터 현재 블록의 기본 수수료(b_i b i )를 계산합니다. 여기서 K_b K b 는 초과 가스 단위당 조정 비율을 나타냅니다.
b_{i+1} = b_i \, (1 + K_b \times (g_i - t_i)) b i + 1 = b i ( 1 + K b × ( g i − t i ) )
이 방정식을 지수 형태로 변환할 수 있습니다(전체 유도 과정은 Dankrad Feist의 게시물 참조).
b_n = b_0 \, \exp(K_b \sum_{i=0}^{n-1} g_i - t_i) b n = b 0 경험치 ( K b ∑ n − 1 i = 0 g i − t i )
목표가 고정된 숫자가 아닌 변수이더라도 공식은 원래 공식과 동일합니다. 정의에 따르면, K_b = \frac{1}{\text{기본 수수료 업데이트 비율}} K b = 1 기본 수수료 업데이트 비율 그리고 \sum_{i=0}^{n-1} g_i - t_i = \text{초과 블롭 가스} ∑ n − 1 i = 0 g i − t i = 초과 블롭 가스 . 따라서 기존 구현을 변경할 필요가 없습니다.
기본 수수료 민감도
초과 블롭 가스 단위당 조정 비율( K_b K b )은 기본 수수료 민감도를 고려하는 편리한 접근 방식을 제공합니다. EIP-7691 에서 새롭게 적용된 목표 대 최대 비율 2:3은 전체 블롭 사용 시나리오와 빈 블롭 사용 시나리오 간의 대칭적인 반응성을 저해합니다. 이러한 비대칭성으로 인해 전체 블롭 사용 시 base_fee_per_blob_gas 약 8.2% 증가하는 반면, 빈 블롭 사용 시 약 14.5% 감소합니다.
전체 블롭 사용과 빈 블롭 사용에 대한 반응성이 대칭적인지 여부에 초점을 맞추는 대신, 대칭적 반응성은 초과 가스의 증가 또는 감소 여부와 관계없이 동일한 초과 가스 변화에 대해 동일한 비율의 조정을 적용하는 것으로 재정의할 수 있습니다. 이러한 접근 방식은 동적 목표 조건에서 기본 수수료 민감도가 일관되게 유지되도록 보장합니다.
우리는 기본 수수료의 최대 변화율을 12.5%로 복원하고 다음 공식을 사용하여 K_b K b를 계산할 것을 제안합니다.
\exp(K_b \times \max(abs(g_i - t_i))) \약 1.125 exp ( K b × 최대 ( a b s ( g i − ti ) ) ) ≈ 1.125
목표 조정
목표 조정의 목적은 기본 요금 변동성( \Delta b = b_{i+1} - b_i Δ b = b i + 1 − b i )을 완화하는 것입니다. 목표는 지속 가능한 용량의 동적 범위를 나타내므로, 수요가 이 범위에 속하면 목표는 안정적인 요금을 유지하도록 조정되어 네트워크가 과도한 변동성 없이 다양한 사용 패턴을 처리할 수 있도록 합니다.
현재 블록의 목표는 다음 방정식을 사용하여 계산할 수 있습니다. 여기서 K_t K t는 단위당 조정 비율을 나타냅니다.
t_{i+1} = t_i(1 + K_t × (델타 b - 0)) t i + 1 = t i ( 1 + K t × ( Δ b − 0 ) )
이 방정식을 지수 형태로 변환하면 다음과 같습니다.
t_n = t_0 \exp(K_t \sum_{i=0}^{n-1} \델타 b) = t_0 \exp(K_t \times (b_n - b_0)) t n = t 0 exp ( K t ∑ n − 1 i = 0 Δ b ) = t 0 지수 ( K t × ( b n − b 0 ) )
대상 변수에는 다음과 같이 정의된 제약 조건이 있습니다.
t_i \in [t_{최소}, t_ { 최대 } ] t i ∈ [ t 최소 , t 최대 ]
편의상, 기준 수수료를 MIN_TARGET_BLOBS_PER_BLOCK 과 MAX_TARGET_BLOBS_PER_BLOCK 으로 정의할 수 있습니다. 가격 변동 단위당 조정 비율( K_t = \frac{1}{\text{Target Blob Update Fraction}} K t = 1 Target Blob Update Fraction) )는 다음 공식을 사용하여 계산할 수 있습니다.
K_t = \dfrac{\ln{\dfrac{t_\text{최대}}{t_\text{최소}}}}{b_\text{최대 목표} - b_\text{최소 목표}} K t = ln t 최대 t 최소 b 최대 목표 − b 최소 목표
수학적 모델
이중 변수 EIP-1559 메커니즘의 특정 조정 규칙은 다음 공식만을 사용하여 기본 수수료와 목표를 계산합니다.
b_n = b_0 \, \exp(K_b \sum_{i=0}^{n-1} g_i - t_i) b n = b 0 경험치 ( K b ∑ n − 1 i = 0 g i − t i )
t_n = t_0 \exp(K_t \times (b_n - b_0)) t n = t 0 exp ( K t × ( b n − b 0 ) )
이 모델의 핵심은 다음과 같습니다.
- 기본 수수료는 사용된 블롭 가스가 목표 블롭 가스보다 크거나 작을 때마다 각각 위쪽이나 아래쪽으로 이동합니다.
- 목표는 고정된 숫자가 아닙니다. 현재 기본 수수료에 따라서만 동적으로 변경됩니다.
아래 그림은 공급 탄력성을 갖춘 공급 곡선을 보여줍니다. 여기서 공급 능력은 고정된 목표를 유지하는 대신 현재 가격에 따라 동적으로 반응합니다.
매개변수
이 제안서에 도입된 새로운 매개변수는 다음과 같습니다.
-
MIN_TARGET_BLOBS_PER_BLOCK -
MAX_TARGET_BLOBS_PER_BLOCK -
MIN_TARGET_BLOB_GAS_PER_BLOCK -
MAX_TARGET_BLOB_GAS_PER_BLOCK -
BASE_FEE_AT_MIN_TARGET_BLOBS -
BASE_FEE_AT_MAX_TARGET_BLOBS -
TARGET_BLOB_UPDATE_FRACTION
시뮬레이션 분석
다음 시뮬레이션 분석의 경우 이러한 매개변수는 다음과 같이 설정됩니다.
MIN_TARGET_BLOBS_PER_BLOCK = 3 MAX_TARGET_BLOBS_PER_BLOCK = 48 MAX_BLOBS_PER_BLOCK = 72 BASE_FEE_AT_MIN_TARGET_BLOBS = 1_000_000_000 BASE_FEE_AT_MAX_TARGET_BLOBS = 8_000_000_000 GAS_PER_BLOB = 2 ** 17 MIN_TARGET_BLOB_GAS_PER_BLOCK = MIN_TARGET_BLOBS_PER_BLOCK * GAS_PER_BLOBMAX_TARGET_BLOB_GAS_PER_BLOCK = MAX_TARGET_BLOBS_PER_BLOCK * GAS_PER_BLOBMAX_BLOB_GAS_PER_BLOCK = MAX_BLOBS_PER_BLOCK * GAS_PER_BLOBMAX_EXCESS_BLOB_GAS_PER_BLOCK = max (MAX_BLOB_GAS_PER_BLOCK - MIN_TARGET_BLOB_GAS_PER_BLOCK,MAX_BLOB_GAS_PER_BLOCK - MAX_TARGET_BLOB_GAS_PER_BLOCK,MIN_TARGET_BLOB_GAS_PER_BLOCK - 0 ,MAX_TARGET_BLOBS_PER_BLOCK - 0 , 0 )BLOB_BASE_FEE_UPDATE_FRACTION = int (MAX_EXCESS_BLOB_GAS_PER_BLOCK / np.log( 1.125 ))TARGET_BLOB_UPDATE_FRACTION = int ((BASE_FEE_AT_MAX_TARGET_BLOBS - BASE_FEE_AT_MIN_TARGET_BLOBS) / np.log(MAX_TARGET_BLOBS_PER_BLOCK / MIN_TARGET_BLOBS_PER_BLOCK)) 시나리오 1: 블롭 수요가 최소 목표보다 낮음
평균 수요가 MIN_TARGET_BLOBS_PER_BLOCK 보다 낮은 약 2블롭(blobs)이라고 가정하면, 이는 공급 과잉 상황을 나타냅니다. 결과는 예상대로 기본 수수료가 MIN_BASE_FEE_PER_BLOB_GAS wei로 유지됨을 보여줍니다.
시나리오 2: 블롭 수요는 최소 목표 수준에 가깝습니다.
평균 수요가 약 3블롭 MIN_TARGET_BLOBS_PER_BLOCK 이라고 가정합니다. 결과는 초과 블롭 가스가 누적되기 시작하고 기본 수수료가 MIN_BASE_FEE_PER_BLOB_GAS 초과함을 보여줍니다.
시나리오 3: Blob 수요가 최소 및 최대 목표 사이에 있습니다.
평균 수요가 약 36개의 블롭( MIN_TARGET_BLOBS_PER_BLOCK 과 MAX_TARGET_BLOBS_PER_BLOCK 사이)이라고 가정합니다. 결과에 따르면 목표 블롭이 조정되어 실제 수요를 추적하는 데 약 400개의 블록이 필요합니다. 시장이 균형점에 도달하면 기본 수수료는 안정적으로 유지됩니다.
시나리오 4: Blob 수요가 최대 목표 수준에 도달함
평균 수요가 약 48개의 블롭 MAX_TARGET_BLOBS_PER_BLOCK 이라고 가정합니다. 결과에 따르면 대상 블롭이 MAX_TARGET_BLOBS_PER_BLOCK 에 도달하는 데 약 300개의 블록이 필요합니다. 그 이후의 기본 수수료는 원래 EIP-1559 가격 업데이트 함수에 따라 결정됩니다.
시나리오 5: Blob 수요가 최대 목표보다 높습니다.
평균 수요가 약 60개의 블롭( MAX_TARGET_BLOBS_PER_BLOCK 초과)이라고 가정합니다. 결과에 따르면 대상 블롭이 MAX_TARGET_BLOBS_PER_BLOCK 에 도달하는 데 240개의 블록이 필요합니다. 그 이후로는 예상대로 기본 수수료가 기하급수적으로 증가합니다.
시나리오 6: Blob 수요는 주기적으로 변경됩니다.
평균 수요가 [3, 48]의 범위 내에서 주기적으로 변한다고 가정합니다. 결과는 실제 수요가 증가하면 목표 블롭이 증가하고, 실제 수요가 감소하면 목표 블롭이 감소함을 보여줍니다. 기본 요금 또한 실제 수요에 따라 지속적으로 변합니다.
수수료 시장 성장 수명주기
위의 결과를 바탕으로 우리는 이중 변수 EIP-1559 수수료 시장에서 세 가지 단계를 식별했습니다.
초기 단계 : 실제 수요가 MIN_TARGET_BLOBS_PER_BLOCK 이하입니다. 시장에는 수요와 공급을 적절히 일치시키는 효과적인 가격 신호가 부족하여 실제 사용 패턴과 관계없이 가격이 최저 수준으로 유지됩니다. 그러나 MIN_TARGET_BLOBS_PER_BLOCK 및 BASE_FEE_AT_MIN_TARGET_BLOBS 값을 비교적 낮게 설정하면 시장을 쉽게 부트스트랩할 수 있습니다.
성장 단계 : 실제 수요는 MIN_TARGET_BLOBS_PER_BLOCK 과 MAX_TARGET_BLOBS_PER_BLOCK 사이입니다. 목표 블롭과 기본 수수료는 메커니즘에 의해 제어되며 실제 수요에 따라 꾸준히 변동합니다. 블롭 공급이 증가하더라도 시장은 초기 단계로 돌아가지 않을 것입니다.
성숙 단계 : 실제 수요가 MAX_TARGET_BLOBS_PER_BLOCK 초과합니다. 목표 블롭이 MAX_TARGET_BLOBS_PER_BLOCK 에 도달합니다. 기본 요금은 네트워크 혼잡도에 따라 변동됩니다.
경험적 분석
우리는 Blobscan API를 사용하여 Pectra 포크 이후 주를 나타내는 22431084~22481502 블록의 블록 데이터를 수집했습니다.
펙트라 포크 이후 블롭 가스 사용량이 목표치에 미치지 못하면서 블롭 가스 가격(파란색 선)이 1웨이로 급락한 것을 볼 수 있습니다. 이는 공급 과잉을 시사합니다. 블롭 가스 가격은 그 이후로 1웨이를 유지하고 있으며, 이는 듄 애널리틱스 데이터에서도 확인되었습니다.
동일한 과거 데이터를 사용하여 이중 변수 EIP-1559 메커니즘을 시뮬레이션하면 결과(주황색 선)는 블롭 가스 가격이 약 1.5gwei까지 상승하는 데 약 4일이 걸리고, 목표 블롭은 공급과 수요의 균형을 맞추기 위해 실제 블롭 수요를 따른다는 것을 보여줍니다.
다른 EIP에 대한 몇 가지 생각
Blob 용량 확장 전략
이더리움의 데이터 가용성(DA) 계층을 확장하기 위한 현재 전략은 BRO(블롭 매개변수 전용) 포크를 사용합니다. BRO 포크 는 Blob 관련 매개변수( target 및 max )만 수정하는 하드 포크를 통해 Blob 용량을 점진적으로 확장하는 경량 메커니즘을 제공합니다. 기존 하드 포크와 비교했을 때, BRO 포크는 조정 복잡성과 위험을 줄일 뿐만 아니라 레이어 2 이해관계자가 테스트 및 업그레이드 진행에 참여할 수 있도록 합니다. 따라서 반복적인 확장에 비교적 효율적인 솔루션입니다.
하지만 이 솔루션에는 몇 가지 단점이 있습니다. 첫째, 공급 과잉으로 인해 블롭 용량이 업그레이드될 때마다 기본 수수료가 1웨이로 떨어집니다. 즉, 수요를 처음부터 반복적으로 늘려야 합니다. 둘째, BRO 포크는 여전히 인간의 조정과 의사 결정이 필요한 하드포크로, 정치적 갈등과 잠재적 지연을 야기합니다.
기존 방식과 비교했을 때, 이중 변수 EIP-1559는 블롭 용량 확장에 더욱 효과적인 솔루션을 제공합니다. 이더리움은 블롭 수요에 실시간으로 대응하여 확장 기간 동안 블롭 수수료를 안정화할 수 있습니다. 전체 프로세스는 허가 없이, 신뢰 없이 운영됩니다. L1 클라이언트 팀과 L2 이해관계자는 이 메커니즘 내에서 적절한 매개변수를 설정하여 네트워크 보안에 집중할 수 있으며, 시장의 힘은 수요와 공급을 일치시키는 최적의 균형을 결정합니다.
가스 제한 스케일링
최근 뉴스에 따르면 이더리움은 블록당 가스 한도를 4,500만으로 늘릴 계획이라고 합니다. 이를 통해 L1 네트워크 효율성과 L2 처리량이 향상될 가능성이 있습니다.
블록 가스 한도 확장은 블롭 확장과 동일한 공급 과잉 문제에 직면할 수 있습니다. 이러한 공급 과잉 상황을 방지하기 위해, 향후 블록 가스 한도 또는 다차원 리소스에 이중 변수 EIP-1559를 적용할 수 있습니다.
EIP-7918에 대하여
EIP-7918은 블롭 기반 수수료를 실제 실행 가스 비용에 연결하여 블롭 트랜잭션이 블록 사용량에 비례하여 기여하도록 하는 것을 제안합니다.
이중 변수 EIP-1559는 EIP-7918과 상충되지 않지만, 두 가지 모두 블롭 수수료 시장의 효율성과 관련된 유사한 문제를 해결하려고 합니다. 제 생각에는 이중 변수 EIP-1559가 다차원 EIP-1559 로드맵 내에서 더 명확한 해결책을 제공합니다. EIP-7918에 따라 다양한 리소스 수수료를 연계하면 가격 책정 과정이 복잡해집니다. 다차원 EIP-1559의 출시로 리소스 가격 책정의 복잡성이 몇 배나 증가하여 수수료 예측이 더 어려워질 것입니다. 블롭 수요가 감소하는 상황에서 실행 가스 가격 상승으로 인해 블롭 가격이 상승하면 사용자는 혼란을 겪을 수 있습니다.
결론
스마트 고속도로 통행료 시스템이라고 생각해 보세요. 기존 EIP-1559는 교통량이 많을 때만 통행료를 조정합니다. 하지만 저희의 이중 가변 시스템은 더욱 스마트합니다. 장기적인 교통 패턴에 따라 통행료 차선을 추가하거나 삭제할 수 있습니다. 교통량이 지속적으로 수용량을 초과하면 점진적으로 차선을 추가하고 요금을 조정합니다. 교통량이 지속적으로 적으면 일부 차선을 폐쇄하여 적정 통행료를 유지할 수 있습니다. 이를 통해 시스템의 성장 및 확장 단계에서 경제적 타당성을 유지할 수 있습니다.
향후 1~2년 내에 블롭 처리량은 계획대로 48/72로 확장될 예정이며, 2D 샘플링이 구현되면 최대 블롭 수는 512 블롭까지 증가할 가능성이 있습니다. 네트워크 용량을 확장하면서 현재 요금 체계의 기반이 되는 혼잡 문제도 해결할 것입니다. 확장 기간 동안 요금 시장은 비효율적으로 운영될 것으로 예상됩니다.
이중 변수 EIP-1559 메커니즘은 네트워크 확장 시 수수료 시장 붕괴라는 심각한 문제를 해결합니다. 가격과 용량을 실시간으로 자동 조정함으로써 검증자에게 경제적 인센티브를 제공하고, 사용자에게 예측 가능한 비용을 제공하며, 확장 단계 전반에 걸쳐 네트워크 보안을 보장합니다. 무엇보다도 이 솔루션은 기존 EIP-1559를 기반으로 최소한의 변경만으로 구축되므로 구현이 용이합니다. 수수료 시장은 시장 수요가 급격히 증가하든 감소하든 견고하고 효과적으로 유지될 수 있습니다.














