EIP-7568 하드포크 메타 백필: 베를린부터 샤펠라 (Hardfork Meta Backfill - Berlin to Shapella)

최종 확정 · 기타 · 원문 상태 Final · 2023-12-01 작성

메타 EIP 없이 진행된 과거 네트워크 업그레이드(비콘체인 출시부터 샤펠라까지)의 명세 위치를 한곳에 모아 연결하는 문서형 메타 EIP입니다. 네트워크 규칙 자체는 바꾸지 않습니다.

왜 필요한가

이더리움은 오랫동안 각 네트워크 업그레이드에 어떤 변경이 들어가는지를 메타 EIP라는 문서로 정리해 왔습니다. 그런데 뮤어 글레이셔(Muir Glacier) 하드포크 이후 이 방식이 버려지고 업그레이드 내용은 다른 저장소의 파일이나 릴리스로 흩어져 추적됐습니다. 그 결과 비콘체인 출시, 베를린, 런던, 알테어, 애로우 글레이셔, 그레이 글레이셔, 더 머지, 샤펠라에 어떤 변경이 포함됐는지 확인하려면 실행 레이어와 합의 레이어의 서로 다른 저장소를 찾아다녀야 했습니다. 최근 메타 EIP를 다시 쓰자는 공감대가 형성되면서 이 EIP는 메타 EIP가 없던 업그레이드들의 명세를 모아 빈 구간을 메웁니다.

무엇이 바뀌나

지금

EIP-7568 이후

누구에게 영향이 있나

심층 설명

메타 EIP의 중단과 복원

뮤어 글레이셔 하드포크 이후 메타 EIP는 버려지고 업그레이드에 포함된 변경은 다른 방식으로 추적됐습니다. 최근 메타 EIP를 다시 쓰자는 합의가 형성됐고 이 EIP는 메타 EIP가 없었던 업그레이드들의 명세를 모아 연결하는 백필(backfill) 문서입니다. 대상은 비콘체인 출시(세레니티 페이즈 0), 베를린, 런던, 알테어, 애로우 글레이셔, 그레이 글레이셔, 더 머지(패리스+벨라트릭스), 샤펠라(상하이+카펠라)이며, 업그레이드는 활성화 순서대로 나열하고 실행 레이어는 [EL], 합의 레이어는 [CL]로 표기합니다.

실행 레이어 업그레이드의 명세 위치

베를린에 포함된 EIP 목록은 원래 EIP-2070에 명세됐다가 ethereum/execution-specs 저장소의 berlin.md 파일로 옮겨졌습니다. 런던, 애로우 글레이셔, 그레이 글레이셔, 패리스, 상하이도 각각 같은 저장소의 london.md, arrow-glacier.md, gray-glacier.md, paris.md, shanghai.md 파일에 포함 EIP 목록이 명세돼 있습니다.

합의 레이어 업그레이드의 명세 위치

합의 레이어 명세는 ethereum/consensus-specs 저장소의 릴리스로 관리됩니다. 비콘체인 출시(세레니티 페이즈 0)는 v1.0.0 릴리스, 알테어는 v1.1.0, 벨라트릭스는 v1.2.0, 카펠라는 v1.3.0 릴리스에 전체 명세가 있습니다. 비콘체인의 설계 배경과 메인넷 파라미터 설정의 근거는 EIP-2982가 따로 설명합니다.

더 머지: 두 레이어의 첫 공동 업그레이드

더 머지는 실행 레이어와 합의 레이어 사이의 조율이 필요했던 첫 업그레이드입니다. 합의 레이어에서 벨라트릭스가 먼저 활성화되고 그 뒤 실행 레이어에서 패리스가 활성화됐습니다. 벨라트릭스 명세는 consensus-specs v1.2.0 릴리스에, 패리스에 포함된 EIP 목록은 execution-specs의 paris.md에 있습니다.

샤펠라와 타임스탬프 기반 활성화

샤펠라(상하이+카펠라)는 실행 레이어와 합의 레이어에서 같은 시점에 활성화된 첫 업그레이드입니다. 이를 위해 실행 레이어의 업그레이드 활성화 기준을 블록 번호에서 타임스탬프로 바꿨고 이 변경은 EIP-6953과 EIP-6122에 설명돼 있습니다.

왜 메타 EIP로 다시 모았나

EIP 저장소는 이더리움 커뮤니티에 잘 알려져 있고, 메타 EIP는 특정 업그레이드에 포함된 EIP를 명확히 나열하는 데 유용했습니다. 실행 레이어와 합의 레이어의 명세 과정은 서로 다르지만 각 업그레이드의 EIP를 하나의 조화된 목록으로 같은 저장소에 두는 것에 가치가 있습니다. 하드포크 메타 EIP를 다시 도입하면 한 EIP가 두 레이어에 모두 영향을 줄 때 중복 기재도 줄일 수 있습니다.

상태와 호환성

이 EIP의 상태는 Final로 확정됐습니다. 기존 명세를 가리키는 기록용 문서라서 하위 호환성 문제가 없고 보안 고려 사항도 없습니다. 특정 포크에 포함될 변경이 아니므로 코어 개발자 콜의 포함 결정도 해당 사항이 없습니다.

EIP 원문 · ← EIPs