
디코딩: ETC 블록체인 거래 일시 중단 문제, 분석 및 사건 재구성
배경 지식:
북경 시간 7월 31일, Multi-geth가 1.9.18 버전을 출시하며 이더리움 클래식(Ethereum Classic)에 대한 지원을 종료한다고 발표했다. 주요 이유는 이더리움 클래식이 Phoenix 하드포크 과정에서 코드의 불변성(immortality)과 '코드는 법이다(Code-is-law)' 원칙을 위반하여 일부 스마트 계약의 폴백 함수가 작동하지 않게 되었기 때문이다.
Multi-geth 자체는 분산형으로 다수의 블록체인을 지원하는 이더리움 프로토콜 개발 키트이다. 이더리움 클래식에 대한 지원 종료는 다수의 대체 체인이 등장하게 되며, 모든 이더리움 클래식 노드들이 서로 다른 기준에 따라 어느 체인이 메인 체인이 될지를 결정하게 됨을 의미한다. 일부 노드들은 가장 긴 체인을 메인 체인으로 선택할 수 있고, 일부는 가장 큰 블록 난이도를 가진 체인을 선택할 수도 있으며, 또 다른 일부는 현재 작업량이 가장 많은 체인을 채굴할 수도 있다.
사건 경위:
이더리움 클래식(Ethereum Classic)은 어제 공식 트위터를 통해 현재 네트워크 정비 중이라며 거래소, 마이닝 풀 등의 서비스 제공업체에 ETC 입금을 일시 중단해줄 것을 요청했다. 이는 네트워크 문제를 추가로 점검하기 위한 조치였다.

이전에 이더리움 재단 커뮤니티 매니저 허드슨 제임슨(Hudson Jameson)은 트위터를 통해 이더리움 클래식 블록체인에 문제가 발생했으며, 거래소에서는 입출금을 일시 중단해야 한다고 언급했다. 또한 마이너들은 협력하여 동일한 체인을 채굴하고 소수가 채굴하는 체인은 포기할 것을 제안하며 문제가 해결될 때까지 그렇게 해야 한다고 밝혔다.

북경 시간 8월 2일, 이더리움 클래식 랩스(Ethereum Classic Labs)는 미디엄(Medium) 공식 채널을 통해 ETC 네트워크가 블록체인 리오르가니제이션(reorganization)을 완료했으며 해당 문제가 해결되었다고 발표했다.
알 수 없는 오류로 인해 OpenEthereum / Parity와 Open-ETC가 정상적으로 작동하지 않게 되었다. 이 오류는 임시 체인과 소수 체인의 단절을 초래했다. 앞으로 OpenEthereum이나 Open-ETC를 실행하는 모든 이더리움 클래식 노드는 잘못된 체인을 채굴할 수 있다.
문제 분석 및 사건 재구성:
이번 사고의 진행 순서는 다음과 같다:
1. 악의적인 마이너(ETC 주소: 0x75d1e5477f1fdaad6e0e3d433ab69b08c482f14e)가 약 3000개의 블록을 채굴했다.
2. 배경 설명에서 언급된 바와 같이 Multi-geth가 이더리움 클래식에 대한 지원을 종료함에 따라 2Miners 마이닝 풀이 일시적으로 오프라인 상태가 되어 유지보수를 진행했다.
3. 2Miners 마이닝 풀이 유지보수 중인 동안 새로운 블록이 생성되지 않았다. 유지보수 후 다시 온라인 상태가 되자 약 3000개의 블록이 동시에 2Miners 마이닝 풀에 삽입되었다.
4. 이더리움 클래식 상의 모든 Parity 또는 OpenEthereum 노드는 Core-Geth 노드로부터 삽입된 3693개의 블록을 처리할 수 없었기 때문에 체인 분기(chain fork)가 발생했다. 즉, 모든 Parity 또는 OpenEthereum 노드 상의 마이너들은 여전히 원래의 메인 체인에서 채굴을 계속했지만, Core-Geth 노드를 사용하는 마이너들은 약 3000개의 블록이 삽입된 새로운 체인에서 채굴을 시작했다.
5. 작업증명(PoW) 합의에 따르면, 새 체인의 작업량이 점차 원래 메인 체인을 초과하게 되었고, 원래 메인 체인 상에서 운영되던 Parity 노드의 일부 마이너들은 "더 많은 작업량을 가진 체인에서 채굴한다"는 원칙에 따라 새 체인으로 전환하여 채굴을 진행했다.
6. 결국 블록 높이 10904146에서 총 3693개의 블록이 리오르가니제이션(reorganization) 방식으로 블록체인에 포함되었으며, 리오르가니제이션은 블록체인의 특성 중 하나로 일반적으로 롤백(rollback) 작업에 사용된다.
공격인지 여부:
이것을 공격으로 볼 것인지 여부는 주로 약 3000개의 블록이 어떻게 생성되었는지에 달려 있다. 진짜 원인이 실수로 네트워크 연결이 끊긴 사이에 채굴한 블록인지, 아니면 누군가 고의로 만든 것인지가 관건이다.
현재 공식 발표된 "알 수 없는 오류"라는 설명만으로는 이번 사건의 정확한 실체를 판단하기 어렵다.
영향력:
거래 자체에 미친 영향은 크지 않다. 왜냐하면 해당 블록 내의 거래가 거의 없었기 때문이며, 또한 이러한 블록 외부에서 채굴되지 않은 거래들도 궁극적으로 다시 제출되기 때문이다.
그러나 '체인' 자체에 대해선 일부 영향이 있을 수 있다. 그 이유는 Multi-geth가 이더리움 클래식에 대한 지원을 종료한 지 하루도 안 되어 문제가 발생했기 때문이다. 이번 상황은 비교적 단순했지만, 만약 고수들에 의해 조직적으로 같은 수법을 반복적으로 여러 번 이용된다면, 의도적으로 분기를 반복하려는 목적이 있는지 알 수 없다. 또한 이러한 방식을 통해 악의적인 공격자가 51% 공격을 시도하여 블록체인을 장악하고, 더블 스펜딩 공격을 수행하거나 이미 존재하는 체인 상의 거래를 삭제할 가능성도 있다.
참조 링크:
https://coinfomania.com/the-ethereum-classic-blockchain-etc-51-attack/
https://hashdeploy.com/?p=38898
https://hackmd.io/@cUBb4hAvQciAEPoU2yfrzQ/Skd4X6MZw
https://twitter.com/pool2miners/status/1289475794230587394?s=21
https://github.com/multi-geth/multi-geth/releases/tag/v1.9.18
https://cointelegraph.com/news/ethereum-classic-blockchain-splits-due-to-reorg-by-a-single-miner
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














