London 하드포크
메인넷 2021-08-05
수수료를 기본 수수료와 팁으로 나누고 기본 수수료를 태우기 시작했습니다. 수수료 예측이 쉬워지고 ETH 발행량이 상쇄되기 시작했습니다.
무엇이 달라졌나
- 사용자
- 수수료가 블록마다 정해지는 기본 수수료(base fee)와 블록 생산자에게 주는 팁(priority fee)으로 나뉘었습니다. 기본 수수료는 앞 블록이 얼마나 찼는지에 따라 자동으로 오르거나 내려서 지갑이 얼마를 내야 거래가 들어가는지 맞히기 쉬워졌습니다. 내가 정한 최대 금액에서 실제 기본 수수료와 팁을 뺀 나머지는 돌려받습니다. 기본 수수료는 소각되어 새로 발행되는 ETH를 일부 상쇄하기 시작했습니다.
- 지갑·앱 개발자
- 거래 형식이 바뀌어 가스 가격 하나 대신 최대 수수료(maxFeePerGas)와 최대 팁(maxPriorityFeePerGas) 두 값을 다루게 되었습니다. 예전 형식도 계속 받아 주지만 수수료 추정과 서명 코드는 새 형식에 맞춰 고쳐야 했습니다. 컨트랙트는 BASEFEE 옵코드로 현재 블록의 기본 수수료를 읽을 수 있게 되었습니다. 저장 공간을 비울 때 주던 가스 환급이 크게 줄어, 환급을 노려 가스를 미리 쌓아 두는 가스 토큰(gas token) 방식은 쓸모가 없어졌습니다. 0xEF로 시작하는 바이트코드는 배포가 거부됩니다.
- 검증자
- 런던 당시 블록을 만드는 쪽은 채굴자였습니다. 기본 수수료는 채굴자에게 가지 않고 소각되고 채굴자는 블록 보상과 팁만 받게 되어 수수료 수입이 줄었습니다. 난이도 폭탄(difficulty bomb)은 적용 시점이 뒤로 미뤄져 지분 증명 전환 전에 채굴이 느려지는 일을 막았습니다. 지금의 검증자도 이 구조를 그대로 이어받아 거래 수수료 중에서는 팁만 받습니다.
- 노드 운영자
- 런던을 지원하는 클라이언트로 올려야 했습니다. 블록 가스 한도가 목표치의 두 배까지 늘어나는 탄력 구조로 바뀌어 수요가 몰리는 순간에는 한 블록이 이전보다 커질 수 있습니다. 대신 기본 수수료가 올라 다음 블록은 다시 목표치 쪽으로 돌아오므로, 평균적인 블록 크기는 전과 비슷하게 유지됩니다.