더 머지 하드포크
Paris(실행) + Bellatrix(합의) · 메인넷 2022-09-15
작업 증명 채굴을 끝내고 지분 증명으로 옮겼습니다. 이더리움의 에너지 사용이 99% 넘게 줄었습니다.
무엇이 달라졌나
- 사용자
- 거래를 보내거나 지갑을 쓰는 방식은 그대로였습니다. 수수료가 내려가거나 처리 속도가 빨라진 것도 아니었습니다. 대신 네트워크를 지키는 방식이 채굴 장비에서 예치한 이더(ETH)로 바뀌었고 전기 사용이 99% 넘게 줄었습니다. 블록이 나오는 간격도 채굴 운에 따라 들쭉날쭉하다가 12초마다 한 번으로 고정됐습니다.
- 지갑·앱 개발자
- 스마트 계약과 API는 거의 그대로 동작했습니다. 바뀐 것은 DIFFICULTY 옵코드입니다. 채굴 난이도가 사라지면서 이 자리에 비컨 체인의 무작위 값(PREVRANDAO)이 들어갔습니다. 솔리디티의 block.difficulty 를 난이도 숫자로 쓰거나 작은 값이라고 가정한 계약은 전혀 다른 값을 받게 됐습니다. 이 값은 추첨 같은 곳에 참고용으로 쓸 수 있지만 블록 제안자가 한 슬롯 앞서 알 수 있는 값이라 큰돈이 걸린 추첨에는 그대로 쓰지 않는 것이 좋습니다. 블록 간격이 12초로 고정되면서 거래 확정 시점을 예측하기는 쉬워졌습니다.
- 검증자
- 채굴자의 역할을 검증자가 넘겨받았습니다. 32 ETH를 예치하고 검증자 소프트웨어를 돌리면 블록을 제안하고 다른 블록에 투표하며 보상을 받습니다. 머지 이전에 비컨 체인(Beacon Chain)에서 합의만 하던 검증자들은 이날부터 실행 계층의 거래까지 담긴 블록을 만들게 됐습니다. 거래 수수료의 팁과 MEV 수익도 채굴자 대신 검증자의 몫이 됐습니다. 예치한 이더와 보상의 인출은 머지 시점에는 열리지 않았고 다음 업그레이드인 샤펠라(Shapella)에서 가능해졌습니다.
- 노드 운영자
- 노드 하나로 끝나던 구성이 두 개로 늘었습니다. 기존 실행 클라이언트(Geth 등)에 합의 클라이언트(Prysm, Lighthouse 등)를 함께 돌려야 하고 둘 사이는 JWT 비밀값으로 인증하는 엔진 API(Engine API)로 연결합니다. 합의 클라이언트가 없으면 실행 클라이언트는 새 블록을 받지 못해 체인이 멈춘 것처럼 보입니다. 작업 증명 시절의 채굴 관련 설정과 난이도 기준 동기화 판단은 의미가 없어졌습니다.