게스 합의 버그 체인 분리 사건
사건표준Geth consensus bug chain split
다른 이름 Geth consensus bug chain split · CVE-2021-39137 · Ethereum chain split August 2021 · Geth chain split · Geth minority fork · Geth 체인 분할 · 게스 버그 체인 분리 · 게스 합의 버그 · 이더리움 소수 체인 분리 · 이더리움 체인 분리 2021
게스 합의 버그 체인 분리 사건(Geth consensus bug chain split)은 2021년8월27일 이더리움에서 가장 많이 쓰이던 실행 클라이언트 게스(Geth)의 메모리 손상 버그가 실제로 공격에 쓰여, 업데이트하지 않은 노드들이 소수 체인으로 갈라진 일이다. 수정판은 사흘 전 나와 있었고 채굴자 다수가 이미 업데이트해 올바른 체인이 가장 긴 체인으로 남았다.
1.감사 중에 발견된 버그#
게스는 이더리움 재단이 개발하는 Go 언어 클라이언트로, 당시 이더리움 노드의 약 4분의 3이 썼다. 보안 연구자 귀도 브랑컨(Guido Vranken)은 텔로스 EVM 감사 도중 게스의 결함을 찾아 이더리움 버그 바운티로 제보했다. 게스 보안 공지(CVE-2021-39137)에 따르면, EVM의 데이터 복사 사전 컴파일 컨트랙트를 처리하다 메모리가 손상될 수 있었고, 이 경우 취약한 노드는 특정 거래를 처리한 뒤 다른 노드와 다른 상태 루트(stateRoot)를 얻었다. 같은 블록을 두고 노드마다 결과가 다르면 합의가 깨진다. 영향 범위는 1.10.0부터 1.10.7까지였다. 게스 팀은 2021년8월24일 1.10.8을 내며 높은 심각도의 문제를 고쳤다고만 알리고 세부 내용은 공개하지 않았다. 런던 업그레이드를 지원하는 모든 게스 버전이 취약했으므로 모두 업데이트하라는 안내였다.
[1][2]2.블록 13,107,518#
2021년8월27일 누군가 이 버그를 건드리는 거래를 메인넷에 보냈고, 블록 13,107,518에서 패치하지 않은 게스 노드들이 별도 체인으로 떨어져 나갔다. 더 블록은 게스 노드의 약 73%가 아직 취약한 버전이었고 이더리움 노드 전체로는 약 54%에 해당한다고 집계했다. 코인텔레그래프는 비슷한 시점 약 53%로 적었다. 이더리움 재단의 마르틴 스벤데는 "합의 버그가 오늘 메인넷을 쳤다"며 "다행히 채굴자 대부분이 업데이트해 올바른 체인이 가장 긴 체인"이라고 밝혔다. 다만 플렉스풀, BTC.com, 바이낸스 풀 등 일부 채굴 풀은 한동안 잘못된 체인을 채굴했다. 같은 게스 코드를 쓰는 바이낸스 스마트 체인과 후오비 에코 체인에서도 같은 공격이 있었다.
[3][4]3.클라이언트 다양성 논의#
소수 체인은 오래가지 않았다. 업데이트하지 않은 노드는 1.10.8로 올리면 다시 올바른 체인을 따라갔다. 그러나 소수 체인에 담긴 거래를 기준으로 입금을 처리하면 이중 지불을 당할 위험이 있었다. 개발자들은 노드 운영자, 특히 거래소와 인프라 업체에 즉시 업데이트를 요청했다. 이 사건은 한 클라이언트가 네트워크 대부분을 차지하면 그 클라이언트의 버그가 곧 네트워크 전체의 장애가 될 수 있음을 보여 줬다. 2022년 머지를 앞두고 이더리움 커뮤니티가 게스 점유율을 낮추고 Nethermind·Besu·Erigon 등 다른 실행 클라이언트를 쓰자는 '클라이언트 다양성' 운동을 벌인 배경으로 이 사건이 거론된다.
[5][6]4.연표2건
- 2021.08출시8월24일 Geth v1.10.8, 높은 심각도 합의 버그 수정
- 2021.08사건8월27일 블록 13,107,518에서 미패치 노드 소수 체인 분리
각주
- [1]Ethereum Contains Consensus Flaw During Block Processing (CVE-2021-39137) — github.com · GitHub Advisory Database
- [2]Bug impacting over 50% of Ethereum clients leads to fork — theblock.co · The Block
- [3]Bug impacting over 50% of Ethereum clients leads to fork — theblock.co · The Block
- [4]Bug in Ethereum client leads to split — EVM-compatible chains at risk — cointelegraph.com · Cointelegraph
- [5]Week in Ethereum News, August 28, 2021 — weekinethereum.substack.com · Week in Ethereum News
- [6]GHSA-9856-9gg9-qcmq — osv.dev · OSV
이 문서가 도움이 됐나요?
토큰포스트 위키, “게스 합의 버그 체인 분리 사건”, 2026-10-04 수정, https://wiki.tokenpost.kr/w/geth-chain-split-2021Accept: text/markdown 로 요청해도 같은 결과문단 3개 · 연표 2건 · 각주 6개