이더리움 2.0과 앞으로 변화 (2021년 7월판)
임도형 (DSRV), 전정호 (DSRV)
이더리움 2.0 계획과 London 하드포크 등 앞으로 변화를 살펴보겠습니다. 이더리움 2.0 계획이 몇번 변경되었기 때문에 최근 버전이 궁금하면 도움이 될 수 있습니다.
"이더리움 2.0"이 무엇을 지칭하는가?
사실 이더리움 2.0은 이더리움이 동작하기 전부터 등장했습니다. 일단 PoW로 시작하지만 결국 PoS로 전환할 미래의 모습을 이더리움 2.0으로 불렀습니다. 당시에는 합의 알고리즘의 변화만 의미했고, 확장성은 관심 밖이었습니다.
2015년 중순 이더리움이 시작하고 2018년 중순까지는 Serenity의 시대였습니다. Frontier → Homestead → Metropolis → Serenity로 이어지는 여정에서 Serenity는 PoS 합의 알고리즘 Casper와 확장성을 개선할 샤딩이 공존하는 모습입니다. 당시 이더리움 연구회 활동을 시작했기 때문에 Serenity와 Slasher 등을 조사한 기억이 납니다. Casper를 설명한 EIP-1011을 보면 MIN_DEPOSIT_SIZE
가 1500 ETH인 점이 흥미롭습니다.
이 시기에 Casper 테스트넷이 시작하기도 했습니다.
Shasper (sharding + casper)
2018년 중순 베를린 밋업에서, 비콘 체인을 중심으로 한, 우리에게 익숙한 이더리움 2.0 모습이 등장합니다. 비콘 체인을 시작으로, 샤딩과 실행단을 추가해간다는 청사진입니다. 이후 샤딩을 우선 1개만 가동하고 그 위에 현재 이더리움을 올리는 Phase 1.5가 등장합니다. 검증자가 되기위해 필요한 이더가 (탈중앙과 효율성의 타협점인) 32 이더로 줄어듭니다. 또, PoS와 샤딩이 별개가 아니라 동일한 검증자가 담당하게 됩니다. 2020년 12월 1일 드디어 비콘 체인이 시작합니다.
The Merge
2021년 3월 중순 먼저 현재 이더리움을 PoS로 전환하자고 결정합니다. PoW의 환경적 우려, 채굴자들의 반발, rollups이 급한 확장성 불을 껐다는 의견, 이더리움의 향후 rollups 중심 로드맵, 스테이킹한 이더를 인출할 수 있는 시점을 앞당길 필요, 기술적으로 어렵지 않음 등이 이 결정에 영향을 주었습니다.
The Merge는, 트랜잭션을 실행하는 현재 이더리움의 엔진을 PoS로 교체합니다. 이미 4월 중순부터 한달간 ETHGlobal 해커톤 중에 Rayonism 테스트를 진행했습니다. Rayonism에서 현재 이더리움 노드와 이더리움 2.0 노드의 호환성을 테스트했습니다. The Merge 시점은 빠르면 연말 늦어도 내년 초로 예상합니다. 자연스럽게 샤딩 일정은 뒤로 밀렸습니다.
London 하드포크와 EIP-1559
London 하드포크 시점이 12,965,000번 블록, 한국시간으로 8월 5일 자정 즈음으로 다가왔습니다. London 하드포크의 주인공은 누가 뭐래도 EIP-1559입니다. 수수료 시장(Fee Market)이라고도 부르는, EIP-1559는 경제적 측면과 EVM 호환성 측면에서 큰 변화를 가져옵니다.
EIP-1559는 블록에 트랜잭션이 얼만큼 들어가는지에 따라 자동으로 기본 가스 가격이 변경됩니다. 기본 가스 가격에 해당하는 수수료는 소각합니다. 사용자는 기본 가스 가격에 추가로 블록에 빨리 포함되기위한 팁을 추가할 수 있고, 팁은 채굴자에게 돌아갑니다. EIP-1559에서 추가된 개념은 아래와 같습니다.
baseFeePerGas
- 블록의 기본 가스 가격입니다. 블록에 담긴 트랜잭션이 실제 사용한 가스량이 블록의 최대 가스 한도인 경우 +12.5% 증가하고, 최대 가스 한도의 절반인 경우 0% 그대로, 없는 경우 -12.5% 감소합니다. 사이에 있는 다른 값은 비례해서 계산할 수 있습니다. EIP-1559가 적용될 때 블록의 최대 가스 한도가 2배로 증가하고, 기본 가스 가격은 1 gwei에서 시작합니다. 기본 가스 가격의 최대 한도는 없고, 최소값은 0.000000007 gwei입니다.maxPriorityFeePerGas
- 트랜잭션을 블록에 빨리 포함하려고 사용자가 추가한 팁(급행비)입니다. 이 부분은 채굴자에게 돌아갑니다.maxFeePerGas
- 트랜잭션을 실행할 때 사용자가 지불할 수 있는 최대 가스 가격입니다. 실제 가스 가격은baseFeePerGas + maxPriorityFeePerGas
와maxFeePerGas
중 작은 값입니다.baseFeePerGas
보다 작으면 트랜잭션을 실행할 수 없습니다.
현재 테스트넷에 London 하드포크가 적용되었기 때문에 Etherscan에서 확인할 수 있습니다. EIP-1559 트랜잭션은 기존 트랜잭션과 달리 오른쪽에 녹색 아이콘으로 표시합니다.
EIP-1559 트랜잭션을 비교해 봅시다. "Gas Price"가 "Max Fee Per Gas"와 "Max PriorityFee Per Gas"로 분리되었고, 기존 트랜잭션 방식에 비해 절약한 수수료 "TxnFee Savings"를 보여줍니다.
한편 블록 정보에는 기본 가스 가격 "BaseFee Per Gas"와 소각한 총 수수료 "Burnt Fees"가 보입니다.
기존 방식과 EIP-1559 모두 시장이 수수료를 결정합니다. 차이는 채굴자가 자신의 이익(MEV, Miner Extractable Value)을 높이기위해 인위적으로 가스 가격을 높이도록 유인하는 행위를 자제시키는 점입니다. EIP-1559는 수수료를 내리지 않습니다. 대신 가스 가격을 예측가능하게 만듭니다. 팁을 명시하여 트랜잭션이 블록에 포함될 시기를 예상하기 쉽고, 사용자 경험이 개선됩니다. 블록 크기가 2배로 늘어 순간적인 사용량 증가에 대응할 수 있습니다. 스팸 트랜잭션을 보내는 비용이 증가하고 체인을 포크할 유인이 감소하여 안정성에 기여하기도 합니다.
London 하드포크의 다른 3000번대 EIP와 달리 1559번인 것을 보면 알 수 있듯이 수수료 시장 아이디어는 3년 전에 등장했습니다. 기술적으로 큰 변화가 아님에도 3년이나 걸린 점이 흥미롭습니다. 새로 발행하는 블록 보상 보다 소각하는 수수료가 더 커서 디플레이션을 예상하는 의견도 있지만, 원저자는 디플레이션을 의도하지는 않았습니다.
EIP-1559를 사용하면 기존보다 무조건 수수료가 낮아지기 때문에 London 하드포크 후에 사람들은 EIP-1559 트랜잭션을 사용할 겁니다. 그러나 위 그림에서 볼 수 있듯이 EIP-1559 트랜잭션은 기존 트랜잭션과 형식이 다릅니다. EIP-1559 트랜잭션을 지원하도록 개발 도구들도 업데이트될 예정입니다.
문제는 EVM 호환 체인들입니다. 시장에는 BSC, Celo, Klaytn, NEAR Aurora, HECO, (L2) Polygon 등 다양한 EVM 호환 체인들이 있습니다. 현재 트랜잭션 수수료가 낮기 때문에 EVM 호환 체인들이 EIP-1559를 도입할 유인이 없지만, 이더리움 개발 도구들이 차츰 EIP-1559를 지원하면서 어쩔 수 없이 따라갈 상황은 벌어질 수 있습니다. 일부 EVM 호환 체인은 논의를 시작하기도 했습니다. 이들은 과거에 이더리움과 갈라졌기 때문에 EIP-1559 트랜잭션을 지원하지 않습니다. 게다가 London 하드포크의 EIP-3198은 BASEFEE opcode를 추가합니다. 즉, EVM이란 CPU에 현재 기본 가스 가격을 조회하는 명령어가 추가되었습니다. 개발 도구들이 기존 트랜잭션을 지원하더라도 BASEFEE 같은 새로운 명령어를 사용하는 스마트 컨트랙트를 EVM 호환 체인으로 이전할 때 주의가 필요합니다.
London 하드포크 이후
일단 이더리움 2.0 첫번째 하드포크 Altair가 기다리고 있습니다. Altair는 사소한 인센티브를 조정하고 처벌(slashing)을 원안대로 키웁니다. 네트워크 중단을 최소화하려고 London 하드포크와 동시에 일어나길 기대하지만 정확한 시기는 미정입니다.
연말에 Shanghai 하드포크가 있습니다. 하드포크의 내용이 결정되지 않았지만, 아마도 The Merge 이전일 가능성이 큽니다. 요즘 이더리움 2.0은 없다, 이더리움 2.0은 합의 알고리즘의 변화만을 뜻하고, 어떻게 변하더라도 이더리움은 계속 이더리움이라는 주장이 일부에서 제기되고 있습니다. 앞으로 이더리움의 행보가 기대됩니다.
참고자료
이더리움 2.0의 역사에 대해서 마침 이번주에 공개된 PEEPanEIP #40: A Brief History of Ethereum's Future with Ben Edgington 영상을 많이 참고했습니다. Ben Edgington은 과거 What’s New in Eth2 뉴스레터(특히 2021년 3월 28일)와 팟캐스트에서도 비슷한 정보를 전했습니다.
EIP-1559의 기술적인 측면은 1559 Cheatsheet for Implementers 문서가 도움이 됩니다.
EIP-1599이후 소각된 이더리움 모니터링 사이트