Tech/EIPs/#2315
EIP 2315카테고리 · 코어유형 · 표준 트랙상태 · 철회됨

Simple Subroutines for the EVM

EIP-2315는 EVM에 서브루틴(subroutine) 기능을 추가하는 세 가지 새로운 옵코드(BEGINSUB, JUMPSUB, RETURNSUB)를 제안했습니다. 컨트랙트 코드의 구조화와 가스 효율화를 목표로 했으나 최종적으로 철회되었습니다.

제안 내용

BEGINSUB는 서브루틴 진입점을 표시하고, JUMPSUB는 서브루틴으로 점프하며, RETURNSUB는 호출 지점으로 반환하는 옵코드입니다. 기존 JUMP/JUMPI와 달리 정적 분석이 가능하고 스택 기반 서브루틴 호출을 지원합니다.

기대 효과

컴파일러가 서브루틴을 사용해 중복 코드를 줄이고 바이트코드 크기를 최적화할 수 있습니다. 정적 분석 도구와 형식 검증 도구가 더 쉽게 코드를 분석할 수 있습니다. EVM 코드의 안전성과 효율성을 동시에 향상시킬 것으로 기대되었습니다.

철회 이유

EOF(EVM Object Format, EIP-3540) 프로젝트가 서브루틴을 포함한 더 포괄적인 EVM 개선을 추진하게 되었습니다. EIP-2315의 단순한 서브루틴 추가보다 EOF 기반 접근이 더 체계적이라는 판단에 따라 철회되었습니다. 개발 자원이 EOF로 집중되었습니다.

역사적 맥락

베를린 하드포크 포함 여부가 논의되었으나 최종적으로 제외되었습니다. 이 논의는 EVM 개선의 방향성에 대한 커뮤니티 내 깊은 기술적 토론을 촉발했습니다.

공식 EIP 문서open_in_new