EIP-7938 가스 한도 지수 증가 (Exponential Gas Limit Increase)
콜 결정 없음 · 확장성·데이터 · 원문 상태 Stagnant · 2025-04-27 작성
클라이언트의 기본 설정을 바꿔 가스 한도를 에포크마다 지수적으로 올리고 4년에 걸쳐 약 100배(5천만에서 50억)까지 늘리는 제안입니다. 프로토콜 합의 규칙은 바꾸지 않습니다.
왜 필요한가
이더리움 블록 하나가 처리할 수 있는 작업량의 상한인 가스 한도(gas limit)는 지금 블록을 만드는 운영자들의 투표로 정해집니다. 원문은 이 방식이 유연하기는 하지만 조율과 예측 가능성이 부족해서 한도가 제자리에 머물거나 지나치게 조심스럽게만 오르는 결과로 이어질 수 있다고 지적합니다. 그래서 클라이언트(노드 소프트웨어)가 별도 설정이 없으면 미리 정해진 지수 증가 일정에 따라 자동으로 투표하도록 기본값을 바꾸자고 제안합니다. 하드웨어와 프로토콜 효율이 좋아지는 흐름에 맞춰, 투명하고 지속 가능한 가스 한도 증가 경로를 만들자는 취지입니다.
무엇이 바뀌나
지금
- 가스 한도는 운영자 투표로 정해지고 언제 얼마나 오를지 예측하기 어렵습니다
- 조율이 없어 한도가 정체되거나 보수적으로만 오를 수도 있습니다
- 각 노드 운영자가 개별적으로 한도 값을 판단합니다
EIP-7938 이후
- 클라이언트가 매 에포크마다 공식으로 계산한 값에 자동 투표합니다
- 약 2년마다 10배씩, 4년 뒤 100배(50억 가스)까지 오른 뒤 멈춥니다
- 운영자가 수동 설정을 넣으면 그 값이 기본값보다 우선합니다
- 4년이 지나면 새 증가 일정을 다시 정해 약속해야 합니다
누구에게 영향이 있나
- 노드 운영자·검증자: 별도 설정이 없으면 클라이언트가 자동으로 더 높은 한도에 투표합니다. 한도가 빠르게 오르면 덜 최적화된 노드에 부담이 될 수 있어 장비와 설정 점검이 필요합니다.
- 클라이언트 팀: 에포크마다 기본 투표 값을 다시 계산하는 로직과 수동 설정 우선 처리를 구현해야 합니다. 합의 규칙 변경이 아니므로 하드포크는 필요 없습니다.
- 사용자·앱 개발자: 블록당 처리 용량이 예측 가능한 속도로 늘어나는 것을 전제로 계획을 세울 수 있습니다.
심층 설명
지수 증가 스케줄
활성화 에포크의 가스 한도는 G0 = 50,000,000이고 활성화 시점 t0은 비콘 체인 에포크 369017(약 2025년 6월 1일)입니다. T = 164,250은 10배 증가에 걸리는 에포크 수(약 2년)입니다. 에포크 t의 한도는 t < t0이면 기존 기본값, t0 ≤ t ≤ t0 + 2*T이면 round(G0 * 10^((t-t0)/T)), t > t0 + 2*T이면 100 * G0입니다. round는 다음 정수로 반올림합니다. 결과적으로 4년 동안 100배까지 오른 뒤 멈춥니다. 원문 Abstract는 그 시점에 갱신된 증가 일정을 새로 결정해 약속해야 한다고 적습니다.
클라이언트 동작과 활성화
클라이언트는 매 비콘 체인 에포크가 시작될 때 위 공식으로 기본 가스 한도 투표 값을 다시 계산하고 기존 가스 투표 메커니즘을 그대로 써서 그 값에 자동으로 투표합니다. 사용자는 클라이언트 설정에서 수동 가스 한도 정책을 지정해 이 기본값을 덮어쓸 수 있습니다. 활성화는 비콘 체인 에포크 369017입니다.
합의 규칙이 아닌 기본값 변경
이 EIP는 Informational 타입으로, 프로토콜 합의 규칙을 바꾸지 않고 현행 가스 투표 메커니즘을 유지하면서 그 위에 예측 가능하고 공동체가 조율한 궤적을 얹습니다. 책임을 합의 규칙이 아니라 각 클라이언트에 분산시켜 유연성을 지키면서 확장성을 북돋는다는 설계입니다. 변경은 비합의(non-consensus)이고 하위 호환됩니다. 이 EIP를 구현하지 않은 클라이언트는 기존대로 동작하며 바뀌는 것은 기본 동작뿐이고 수동 설정은 계속 지원됩니다.
보안 고려 사항
가스 한도가 빠르게 오르면 덜 최적화된 노드에 부담을 주고 블록 전파 시간을 늘릴 수도 있습니다. 원문은 이에 대해 에포크당 증가 폭이 매우 작은 지수 스케줄이므로 노드 운영자와 개발자가 적응하고 최적화할 시간이 충분하다고 설명합니다.
현재 상태와 콜 기록
원문 상태는 Stagnant(정체)로, 활성화 목표였던 에포크 369017(약 2025년 6월 1일)이 지난 지금도 제안이 진행 중이라고 볼 수 없습니다. 코어 개발자 콜 기록으로는 08.29 AMA #14에서 논의되었고 결정은 없었습니다. 포크 포함 결정도 없습니다.