上海升级完成后,以太坊核心开发者会议又有哪些新内容?

상하이 업그레이드 완료 후, 이더리움 코어 개발자 회의에서 어떤 새로운 내용이 논의되었을까?

BroadChainBroadChain2023. 05. 05. 오후 09:30
이 콘텐츠는 AI에 의해 번역되었습니다
요약

이번 개발자 회의 이후, 일시 중단된 EIP 그룹이 다음 네트워크 업그레이드인 Dencun(Deneb + Cancun)에 포함될 예정이다.

원문 제목: 《이더리움 코어 개발자 회의 업데이트 015》

원문 출처: AllCoreDevs Update

원문 번역: Stephanie, ECN

요약

Shapella 업그레이드가 성공적으로 활성화되었습니다! 이제 다음 업그레이드인 Dencun 업그레이드 계획의 마지막 단계에 접어들었습니다. EIP 4844, 6780, 1153, 6475가 포함될 예정이지만, 아직 최종 규격은 확정되지 않았습니다. EIP 2537, 4788, 6493은 후보 목록에 올라 있습니다. 그 외에도 많은 EIP들이 현재 EthMagicians 포럼에서 논의 중입니다. 저는 장기적으로 네트워크 업그레이드를 촉발하는 메커니즘을 정리한 EIP-6953 초안을 작성했습니다. 올여름에는 이더리움 거버넌스 관련 주제로 여러 장소에서 발표할 예정이며, 아래에 전체 일정을 안내해 드립니다.

Shapella 업그레이드

성공적으로 활성화되었습니다! 업그레이드 과정에서 약간의 문제가 있었지만, 한 달도 채 지나지 않아 이더리움에서의 인출이 이제 일상적인 일이 되었습니다.

Dencun 업그레이드

지난 이더리움 코어 개발자 회의 업데이트를 발표할 당시, Shapella 업그레이드 규격은 거의 확정된 상태였지만 여전히 많은 변경 사항이 있었습니다. 제가 업데이트를 발표한 후, 모든 규격이 최종 확정되어 이더리움 재단 블로그에 '진행 상황 → 업데이트 → 최종 메인넷 버전'까지 게시되었습니다. 또한 프로토콜 공지 서비스가 이제 이메일 구독을 지원합니다!

이번 업데이트도 비슷한 성격을 띱니다. 다음 네트워크 업그레이드인 Dencun(Deneb + Cancun)에 포함될 잠정적인 EIP 목록을 확보했습니다. 각 EIP가 무엇인지, 왜 중요한지, 그리고 추가로 검토 중인 후보 EIP들에 대해 간략히 설명드리겠습니다.

참고로, 본 업데이트는 주로 이더리움의 실행 계층(Execution Layer)에 초점을 맞추고 있습니다. 합의 계층(Consensus Layer)에서 제가 놓친 내용이 있을 수 있습니다. 가능하다면 Dencun 업그��이드 내용이 최종 확정된 후 다시 업데이트를 제공하겠습니다. 하지만 현실적으로, 제가 다음으로 발표할 내용은 첫 번째 테스트넷 포크 공지가 될 것입니다. 그럼 이제 EIP들을 살펴보겠습니다!

포함 확정된 EIP

EIP-4844, Proto-Danksharding

더 이상의 설명이 필요 없을 정도로, 4844는 Dencun 네트워크 업그레이드의 핵심 기능입니다. 간단히 말해, 이 EIP는 이더리움 네트워크에 일시적인 '데이터 blob'을 도입하여, L2가 현재 CALLDATA에 저장되는 트랜잭션/증명 데이터를 게시할 수 있게 합니다.

blob은 일시적으로만 저장되므로, 영구적으로 네트워크에 저장되는 CALLDATA보다 훨씬 낮은 가스 비용이 예상됩니다. 이는 L2 트랜잭션 수수료를 크게 절감해 줄 것입니다. 현재 L2 트랜잭션 비용의 90% 이상이 L1 데이터 저장에 소비되기 때문입니다. EIP-4844에 대해 더 깊이 알고 싶으시다면, eip4844.com에서 다양한 수준의 해설 자료와 FAQ를 확인하실 수 있습니다.

이번 업그레이드가 머지(Merge)만큼 대규모는 아니지만, EIP-4844는 이더리움에 중대한 변화를 가져옵니다. 네트워크에 완전히 새로운 데이터 계층을 도입하며, 현재의 합의 계층과 실행 계층 모두가 이와 상호작용해야 합니다. 이 EIP의 규모는 Dencun 업그레이드 내 다른 수정 사항의 적용 범위를 제한한다는 의미이기도 합니다.

즉, 4844 외에도 몇 가지 추가 EIP가 이번 업그레이드에 포함될 예정입니다.

EIP-6780: SELFDESTRUCT 오퍼레이션 코드 비활성화 (스마트 계약 생성과 동일한 트랜잭션 내에서 호출된 경우 제외)

Dencun 업그레이드에 포함될 두 번째 주요 변경 사항은 EIP-6780에 따른 SELFDESTRUCT 오퍼레이션 코드 비활성화입니다. 이 제안은 수년간 논의되어 왔으며, Shapella 업그레이드에서는 공식적인 비활성화 통보가 있었습니다.

최근 분석에 따르면, SELFDESTRUCT는 주로 같은 트랜잭션 내에서 계약이 생성되고 파기되는 패턴으로 사용되고 있습니다. EIP-6780은 이러한 사용 방식을 허용합니다. 즉, SELFDESTRUCT가 계약 생성과 동일한 트랜잭션 내에서 호출될 경우 기존과 동일하게 작동합니다.

그 외 모든 경우에는, 해당 오퍼레이션 코드가 계약의 스토리지나 코드를 삭제하지는 않지만, 계약 내 ETH는 여전히 대상 주소로 전송됩니다.

클라이언트 팀은 현재 이것이 SELFDESTRUCT를 처리하는 최선의 방법이라고 판단하고 있지만, 보다 포괄적인 영향 분석은 계속 진행 중입니다. 이 분석이 완료되면, 다른 경계 사례(Boundary Cases)를 처리하기 위해 규격이 수정될 수도 있습니다. 또는 완전히 다른 접근 방식이 채택될 수도 있습니다. 예를 들어, EIP-6046도 검토 대상에 포함됩니다.

결국 Deneb 업그레이드에서 SELFDESTRUCT 제거는 '어떻게' 제거할 것인가의 문제이며, '제거할 것인가'의 문제가 아닙니다.

EIP-1153: 일시적 저장소(Transient Storage)

Dencun 업그레이드에 포함될 세 번째 변경 사항은 EIP-1153입니다. 이 제안은 약 5년 전부터 논의되어 왔으며, 작년에 Uniswap 팀에 의해 다시 제기되었습니다. 이 EIP는 이더리움 개발자 커뮤니티에서 큰 지지를 받고 있습니다. TSTORE와 TLOAD라는 두 개의 새로운 오퍼레이션 코드를 도입하여, 트랜잭션 종료 시 자동으로 삭제되는 일시적 저장소를 제공합니다. 이를 통해 재진입 잠금(Reentrancy Lock)부터 단일 트랜잭션 내 ERC-20 토큰 다중 승인까지 다양한 사용 사례가 가능해집니다.

EIP-1153은 이전에 Shapella 업그레이드에 포함될 가능성도 검토되었지만, 최종적으로 연기되었습니다. 이번에는 클라이언트 팀이 이를 추진하기로 합의했습니다. 특히 강조할 점은, 이 EIP 자체의 타당성과 유용성 외에도, 1153이 채택된 결정적 요인 중 하나는 탁월한 기술적 옹호 작업이었다는 점입니다. Uniswap 및 기타 팀은 모든 실행 계층 클라이언트에 대한 완전한 1153 참조 구현과 포괄적인 테스트 케이스를 제공했습니다.

EIP-6475: SSZ 선택형 값(Optional Values)

포함 확정된 마지막 변경 사항은 EIP-4844의 보완 제안으로 볼 수 있습니다. Proto-danksharding은 기존 트랜잭션 유형에서 사용되는 RLP 인코딩 대신, SSZ 인코딩을 사용하는 새로운 트랜잭션 유형을 도입합니다.

오랫동안 이더리움 실행 계층 전체를 SSZ 인코딩으로 전환하려는 논의가 계속되어 왔습니다. 이는 더 풍부한 인코딩 구조이며, 동시에 합의 계층에서도 사용되고 있기 때문입니다. 하지만 현재로서는 Deneb 업그레이드에 이를 구현하는 것은 공학적 부담이 너무 큽니다. EIP-6475는 4844 트랜잭션 형식의 구성 요소 중 하나인 SSZ의 '선택형 값(Optionals)'을 정의함으로써, 향후 이더리움에 도입될 SSZ 객체와의 전방 호환성을 보장합니다.

일반 트랜잭션과 특정 4844 blob 트랜잭션에 대한 최적의 장기 SSZ 형식에 관한 논의가 계속 진행 중이므로, 이 두 EIP 모두 향후 수정될 가능성이 있습니다.

검토 중인 EIP

공식적으로 이번 업그레이드에 포함 확정된 EIP 외에도, 클라이언트 팀은 여전히 포함 여부를 검토 중인 후보 EIP 목록을 가지고 있습니다.

EIP-2537: BLS 12-381 곡선 연산을 위한 프리컴파일(Precompile)

이 EIP는 2019년 이래로 어떤 형태로든 업그레이드에 포함될 가능성을 검토받아 왔습니다. 과거에는 이더리움 실행 계층에 새로운 암호학적 곡선을 추가하는 것에 대한 반대 의견이 많았습니다. 그러나 비콘 체인(Beacon Chain)은 BLS 12-381에 크게 의존하고 있으며, 머지(Merge) 완료 후 BLS는 이더리움의 '핵심' 의존 요소가 되었고, 안정적이며 최적화된 라이브러리가 이미 확보된 상태입니다.

이 사전 컴파일을 도입하면 실행 계층에서 비컨 체인 서명을 검증할 수 있으며, 해당 곡선을 활용한 새로운 사용 사례를 개발할 수 있게 됩니다.

EIP-4788: EVM 내 비컨 블록 루트

EIP-2537과 유사하게, 이 EIP는 비컨 체인의 정보를 실행 계층에 공개합니다. 구체적으로, 비컨 체인 블록의 루트가 실행 페이로드(execution payload)에 추가된 후 실행 계층의 스마트 계약에 저장됩니다. 저장된 비컨 블록 루트는 새 오퍼레이션 코드 BEACON_ROOT를 통해 접근할 수 있으며, 이 코드는 슬롯 번호(slot number)를 입력받아 해당 슬롯의 비컨 블록 루트를 반환합니다.

이를 통해 스테이킹 풀, 브리지, 리스테이킹 프로토콜 등이 신뢰 가정을 더욱 줄인 설계를 구현할 수 있게 됩니다.

EIP-6493: SSZ 트랜잭션 서명 방식

이 EIP는 EIP-6475를 보완하는 내용으로, SSZ 트랜잭션에 대한 서명 방식을 정의합니다. 기존 RLP 트랜잭션에는 적용되지 않지만, 현재 EIP-4844의 SSZ 트랜잭션 서명 방식이 향후 실행 계층의 대규모 SSZ 개편과도 호환되도록 보장하는 데 사용될 수 있습니다.

참고: EOF 관련 EIP는 이번 업그레이드에 포함되지 않았습니다.

EOF 관련 EIP 세트는 Shapella 및 Dencun 업그레이드 초기 검토 대상에 잠시 포함되었으나, 대역폭 제약으로 인해 공식적으로 이번 업그레이드에서 제외되었습니다. 현재는 향후 업그레이드의 '주요 기능'으로 우선 채택하는 방안이 논의 중이지만, 클라이언트 팀 간 공식 합의는 아직 이루어지지 않았습니다.

기타 제안된 EIP

위에서 언급한 내용 외에도, 이번 업그레이드에 제안된 전체 EIP 목록은 Ethereum Magicians 포럼에서 확인할 수 있습니다. Dencun 업그레이드에 포함될 대부분의 내용은 이미 논의된 상태지만, 예상치 못한 새로운 제안이 등장할 가능성도 여전히 있습니다. 주목할 점은, 지난 ACD 회의에서 처음 소개된 EIP-5656(오퍼레이션 코드 MCOPY)에 대한 팀들의 반응이 매우 긍정적이었다는 사실입니다.

네트워크 업그레이드 활성화 메커니즘 관련 EIP

참고: 저는 네트워크 업그레이드를 트리거하기 위해 지금까지 사용된 다양한 메커니즘—PoW 블록, 에포크(epoch), TTD, 그리고 현재의 타임스탬프 방식까지—을 정리한 정보성(informational) EIP 초안을 작성했습니다.

현재의 에포크와 타임스탬프를 결합한 방식에 추가 변경이 필요하지 않기를 바랍니다.

Summer (Remote) Talks — 여름 강연 일정

앞으로 몇 달 동안, 이더리움 거버넌스 프로세스가 어떻게 작동하는지에 대한 제 생각을 공유하는 여러 강연을 진행할 예정입니다. 일부는 오프라인으로, 일부는 원격으로 진행되며, 아직 확정되지 않은 일정도 있습니다. 시간 순서대로, EDCON, ETHPrague, ETHShanghai, EthCC, ETHMontreal에 참석할 계획입니다.