다가오는 이더리움의 Dencun 업그레이드 이해 및 탐색
이더리움은 2013년 백서가 발표된 이후 현재까지 9년의 역사를 기념하고 있습니다. 이 기간 동안 이더리움은 총 11번의 주요 업그레이드를 성공적으로 이루어내며, 각각이 생태계에 새로운 이야기와 기회를 제공해 왔습니다. 현재 이더리움은 Serenity 단계(이더리움 2.0)에 진입하였으며, 설립자인 Vitalik Buterin은 확장성, 향상된 보안, 합의 메커니즘 및 경제 모델 최적화에 초점을 맞춘 6단계 업그레이드 로드맵을 개요로 설명했습니다. 이더리움 로드맵에 따르면, Dencun 업그레이드는 "The Surge"의 일부로 포함되어 있습니다.
The Surge
The Surge 단계의 주요 목표는 지속적인 확장성 문제를 해결하는 것이며, 궁극적으로는 이더리움의 성능을 초당 100,000 거래(TPS)로 향상시켜 전통적인 전자 결제 속도에 근접하는 것입니다. Danksharding ("DS") 또는 샤딩을 통해 이 업그레이드가 이루어지며, 이 기사의 주요 내용은 이번 해에 계획된 Dencun 업그레이드를 강조하고 있습니다.
:quality(80)/2024-02-14/FA5736DDC60FAA5E0045E1F975EEAC02.jpg)
Dencun 업그레이드란?
Dencun 업그레이드는 이더리움에서 중요한 개선 사항으로, 데이터 저장량을 확대하고 비용을 절감하기 위해 고안되었습니다. 이 업그레이드에는 5개의 이더리움 개선 제안(EIP)이 포함되어 있는데, 특히 EIP-4844가 주목을 받고 있습니다. EIP-4844는 이더리움의 확장성 문제를 해결하고, 레이어 2 솔루션의 거래 비용을 절감하여 더 넓은 L2 생태계에 직접적인 이익을 제공하는 것을 목표로 합니다. 핵심 EIP-4844 외에도 EIP-1153, EIP-4788, EIP-5656, 그리고 EIP-6780이 있습니다.
이더리움은 1월 17일과 30일에 Goerli와 Sepolia 테스트 네트워크에서 Dencun 업그레이드 테스트를 시작했습니다. 현재 테스트넷은 정상적으로 blob 수량을 제출하는 등 순조롭게 운영되고 있습니다. Holesky 테스트넷에 대한 후속 테스트는 2월 7일로 예정되어 있으며, 메인넷 구현일은 아직 발표되지 않았습니다.
:quality(80)/2024-02-14/8105F23807FEA1DEF73A160CA689F75B.png)
EIP-4844 (Proto-Danksharding):
현재 이더리움의 모든 레이어 2 트랜잭션 데이터는 레이어 1의 Calldata에 저장되어 있습니다. 그러나 Calldata 공간이 제한되어 있어 증가하는 스토리지 수요를 충족할 수 없어 높은 데이터 사용 비용이 발생하고 이더리움 노드의 계산 부담이 늘어나고 있습니다. Dencun 업그레이드는 이 문제를 해결하기 위해 EIP-4844라는 새로운 데이터 저장 구조인 Blob을 도입했습니다. Blob은 Calldata와 별도로 합의 레이어에 저장되어 있어 Ethereum Virtual Machine(EVM)에서 액세스할 수 없습니다. Blob의 주요 역할은 Layer 1에서 완전히 실행할 필요 없이 일정 시간 프레임(약 1개월) 내에 저장된 데이터에 대한 수요 측 액세스 검증을 완료하여 노드 워크로드를 크게 줄이는 것입니다.
:quality(80)/2024-02-14/294AE512D7C5ED2FB760374AD091F280.png)
(원본: https://hackmd.io/@luozhu/SyleCcpti)
현재 blob의 크기는 128KB로 고정되어 있으며, 이는 롤업이 데이터의 개별 부분이 아닌 전체 blob만을 구매할 수 있다는 것을 의미합니다. 따라서 6개의 완전한 blob을 블록에 부착하면 블록 크기가 약 40% 증가합니다. 현재 블록 크기가 약 1.875MB인 것을 고려하면 완전한 blob 세트가 약 0.75MB를 추가할 수 있습니다. 이러한 증가는 18일의 롤링 기간 동안 발생하며, 네트워크 노드에 대한 장기적인 스토리지 용량 증가를 보장합니다.
:quality(80)/2024-02-14/BED6A938BFFC7782ED2195238CADED93.png)
새로운 프리컴파일 Point Evaluation Precompile:
또한 EIP-4844는 새로운 프리컴파일인 Point Evaluation Precompile을 도입하여 Optimist Rollup 및 ZK Rollup 솔루션에서 Blob 관련 데이터의 검증을 간편하게 합니다. Optimist Rollup에서는 Point Evaluation Precompile이 기본 데이터를 검증하는 데 사용되며, 주로 사기 증명 제출 중에 활용됩니다. ZK Rollup에서는 이러한 Precompile을 사용하여 Blob 커밋과 ZK Rollup 자체 커밋을 검증하며, 이를 통해 데이터 일관성과 시스템의 신뢰성과 보안을 보장할 수 있습니다.
EIP-1153 (즉각적인 스토리지 운영):
현재 이더리움은 모든 데이터 저장을 영구 저장 모델에 따라 처리하므로 낭비가 심하고 가스 요금이 높습니다. EIP-1153은 이러한 문제를 해결하기 위해 스마트 계약 실행 중에 임시 저장 또는 인스턴트 저장을 처리하는 새로운 메커니즘을 도입하는 것을 목표로 합니다. 인스턴트 저장 작업의 도입은 스마트 계약이 완전한 거래 실행 주기 동안 임시 저장 데이터를 읽고 호출할 수 있도록 하고, 거래 실행 주기가 종료된 후에 임시 데이터를 클리어합니다.
EIP-4788 (Beacon 블록 루트 제출):
현재 이더리움 가상 머신(EVM)과 Beacon 체인(이더리움 합의 레이어) 간의 독립성은 여러 가지 과제를 가지고 있습니다. 현재 EVM은 Beacon 체인에 직접 액세스할 수 없으며, Beacon 체인에서 데이터와 상태를 얻기 위해 외부의 신뢰할 수 있는 오라클에 의존하고 있습니다. EIP-4788은 이 문제를 해결하기 위해 각 실행 블록 헤더에 Beacon 체인 블록 루트를 배치하여 EVM이 이더리움의 합의 레이어의 상태와 데이터에 직접 액세스할 수 있도록 합니다. 이는 프로토콜 수준의 오라클을 도입하여 운영 효율성과 정확성을 높이고, 외부 오라클과 관련된 위험을 줄이는데 도움이 됩니다.
EIP-5656 (MCOPY Opcode):
EIP-5656은 스마트 계약이 실행될 때 메모리에서 데이터를 복사하는 과정을 최적화하기 위해 MCOPY opcode를 도입합니다. 메모리 복사는 데이터를 한 위치에서 다른 위치로 이동시키는 프로세스로, 컴퓨팅에서 데이터 구조를 설정하고 객체를 복사하는 데 필수적인 작업입니다. MCOPY opcode를 도입함으로써 해당 작업에 필요한 가스 비용을 줄이고, 동시에 계약 실행의 성능을 향상시킬 수 있습니다.
EIP-6780 (SELFDESTRUCT 제한):
기존의 SELFDESTRUCT opcode는 이름 그대로 스마트 계약을 완전히 제거하여 블록체인에서 삭제할 수 있게 합니다. 실행되면 이더리움에서 해당 계약의 코드와 스토리지를 제거하고, 계약에 남아 있는 ETH를 특정 주소로 전송합니다. 이 작업은 계정 상태에 상당한 변경을 초래하며, 배포된 계약 코드와 스토리지 데이터를 체인에서 제거합니다.
EIP-6780은 SELFDESTRUCT opcode의 사용을 제한하는 목적으로 만들어졌습니다. 이제 스마트 계약을 작성하고 동일한 거래 내에서 SELFDESTRUCT opcode를 실행할 때에만 작동합니다. 그렇지 않으면 코드의 삭제나 저장이 발생하지 않습니다.
요약:
이더리움은 블록체인 기술의 선두주자로서, 기업 및 사용자의 증가하는 요구와 기대에 부응하기 위해 꾸준한 업데이트와 업그레이드를 통해 기술적 역량을 지속적으로 향상시켜 왔습니다. 이번 Dencun 업그레이드는 이더리움의 확장성 및 성능 향상 로드맵에서 중요한 단계로, 이를 통해 이더리움은 보다 광범위한 응용을 위한 견고한 기반을 확립하게 됩니다.
Dencun 업그레이드를 통해 이더리움은 보안, 확장성 및 지속 가능성 측면에서 큰 발전을 이루었으며, 이는 블록체인의 미래에 대한 강력한 기초를 마련했습니다.