L1의 가스 리프라이싱이 L2 스택과 불변 컨트랙트를 거듭 깨뜨리는 것을 받아들여야 하나?
프로토콜 설계 · 참여 2명 · 인용 3건 · 2026-10-26 ~ 2026-10-26
L2BEAT의 donnoh_eth는 EIP-8037 리프라이싱(repricing)이 대부분의 OP 스택 체인을 또 깨뜨린다며 L1이 계속 자기 위의 스택을 깨는 것에 좌절감을 표했고, EF의 nero_eth는 깨뜨림을 받아들이자는 게 아니라 미래 수요에 맞춰 리프라이싱할 유연성과 기반이 바뀌지 않는다는 확실성 사이에서 적정점을 찾는 트레이드오프의 문제라고 답했다.
배경
EIP-8037(상태 생성 가스 비용 인상)과 EIP-8038(상태 접근 가스 비용 갱신)은 Maria Silva 등이 제안한 Glamsterdam 코어 EIP로, 상태(state) 성장을 억제하기 위해 SSTORE, 계정 생성, 코드 배포 등의 가스 비용을 재산정한다. 이 리프라이싱은 이미 쓴 가스가 트랜잭션 도중 되돌아와 gasleft()가 증가할 수 있게 만들어, 전달 가스를 하드코딩하거나 호출 전후 가스 차이로 소비량을 측정하는 기존 컨트랙트의 불변식(invariant)을 깨뜨린다. ChainSecurity와 Dedaub의 감사에서 OP 스택을 포함한 다수 컨트랙트가 영향받는 것으로 드러났고, 코어 개발자들은 Hoodi 테스트넷 포크를 연기하며 영향 범위를 분석하고 있다. EIP-8037·8038은 모두 Last Call 단계다.
왜 중요한가
L1 리프라이싱의 비용을 L2 스택이 가장 먼저 치른다는 점이 Fusaka에 이어 반복 확인되면서, L1과 L2의 이해관계 조정이 쟁점이 되고 있다. 유연성과 확실성 사이의 적정점을 어디에 두느냐는 결정은 '배포된 코드에 대한 약속'을 지키는 수준과 향후 상태 성장 억제 정책의 공격성을 동시에 좌우한다.
결론
ACDE #248(2026-10-22)에서 Hoodi Glamsterdam 하드포크가 무기한 취소됐고, ACDT #102(2026-10-26)에서 ChainSecurity·Dedaub 감사 결과를 기다리며 Hoodi 포크를 최소 2주 연기하기로 했으며 기본 경로는 영향받는 컨트랙트가 스스로 고치고 스펙 변경은 최후 수단으로 두기로 했다.
쟁점
- L1이 배포된 컨트랙트와 L2 스택을 깨뜨리는 비용은 누가 감당해야 하나?
- 미래 수요에 대응할 리프라이싱 유연성과 기반이 바뀌지 않는다는 보장 사이의 적정점은 어디인가?
- Fusaka 때의 tx 가스 리밋 충돌에 이어 반복되는 L2 사기 증명 시스템 파손을 어떻게 막을 것인가?
반대 — L1이 계속 자기 스택을 깨는 것은 문제다
donnoh.gwei 💗
- 대부분의 OP 스택 체인이 EIP-8037로 또 깨진다. 이미 Fusaka 때 트랜잭션 가스 리밋이 사기 증명 시스템과 충돌해 한 번 깨졌다.
- L1이 계속 당신의 것을 깨뜨리는데, 개발자이거나 불변 컨트랙트를 옹호하는 입장이라면 좌절스러울 수밖에 없다.
중립 — 깨뜨림을 받아들이자는 게 아니라 트레이드오프다
Toni Wahrstätter ⟠
- 깨뜨리는 것을 받아들이자고 주장하는 게 아니다. 이것은 트레이드오프이며, 적정점은 미래 수요에 적응할 만큼(예: 리프라이싱) 유연한 것과 기반이 발밑에서 바뀌지 않는다는 확실성을 제공하는 것 사이 어딘가에 있다.
- EIP-8037은 이미 쓴 가스가 tx 도중 되돌아와 gasleft()가 증가할 수 있게 해, 가스 카운터가 언더플로해 리버트되거나 도달 불가능해야 할 경로가 실행돼 tx가 성공한 것처럼 보이게 하는 등 기존 컨트랙트의 가정을 깨뜨린다.