이더리움 블록체인에서 이중지불 위험 정량화: 공공·컨소시엄·프라이빗 환경 비교
초록
본 논문은 이더리움 네트워크를 공공, 컨소시엄, 프라이빗 세 가지 배포 형태로 나누어, BGP 하이재킹과 ARP 스푸핑을 이용한 네트워크 분할 공격 후 Balance Attack을 수행함으로써 이중지불 위험을 실험적으로 정량화한다. 결과는 공공 체인에서는 성공 확률이 극히 낮은 반면, 컨소시엄·프라이빗 환경에서는 10시간 내에 자산을 20만 배 이상 증식시킬 수 있음을 보여준다.
상세 분석
이 논문은 기존 연구가 이론적·시뮬레이션 수준에 머물렀던 블록체인 보안 문제를 실제 네트워크 인프라와 결합해 실험적으로 검증한 점이 가장 큰 강점이다. 먼저 저자들은 이더리움 메인넷의 상위 10개 마이닝 풀을 식별하고, 각 풀의 해시 파워를 정밀히 측정한 뒤, Linux cgroups를 이용해 가상 머신(VM)별 CPU 할당량을 조정함으로써 실제 마이닝 파워 비율을 재현하였다. 이는 “마이닝 풀 → 스트래텀 서버 → 네트워크” 구조를 그대로 모사한 것으로, 풀 내부의 복잡한 트래픽 흐름과 외부 피어와의 연결성을 그대로 유지한다는 점에서 실험 설계가 매우 현실적이다.
네트워크 분할 단계에서는 두 가지 공격 벡터를 사용한다. BGP 하이재킹은 전 세계 라우터 수준에서 IP 프리픽스를 탈취해 특정 AS 간의 트래픽을 차단하고, ARP 스푸핑은 로컬 LAN 내에서 MAC 주소를 위조해 패킷을 가로채는 전통적인 MITM 기법이다. 저자들은 자체 구축한 OpenStack 기반 클라우드 환경에 BGP 라우터를 배치하고, 라우터 간 피어링을 조작해 목표 AS를 격리함으로써 실제 인터넷 서비스 제공자(ISP) 수준의 라우팅 공격을 재현했다.
분할이 이루어진 뒤에는 Balance Attack을 적용한다. 이 공격은 네트워크를 거의 동등한 마이닝 파워를 가진 서브그룹으로 나눈 뒤, 공격자가 하나의 서브그룹에 추가 마이닝 파워를 투입해 해당 체인이 최종적으로 정식 체인으로 채택되도록 유도한다. 논문에서는 7분간 네트워크를 차단하고, 차단된 서브그룹에선 공격자가 거래를 전송해 물리적 자산을 교환하도록 유도하고, 다른 서브그룹에서는 공격자가 블록을 채굴해 앞선 거래를 무효화한다. 이때 이더리움의 “가장 높은 누적 난이도” 선택 규칙을 악용해 공격자가 만든 체인이 최종 체인으로 선택되면 이중지불이 성공한다.
실험 결과는 세 가지 배포 환경에서 크게 차이를 보인다. 공공 이더리움 네트워크는 다수의 독립적인 AS와 광범위한 피어링 구조를 가지고 있어, 단일 BGP 하이재킹만으로는 전체 네트워크를 효과적으로 분할하기 어렵다. 실제 실험에서도 차단된 구간이 짧고, 다른 풀들이 빠르게 재동기화하면서 공격 성공률이 0%에 가까웠다. 반면, 컨소시엄 환경은 몇 개의 조직이 자체 데이터센터를 연결하는 형태로, AS 수가 제한적이고 라우팅 정책이 단순하다. 동일한 BGP 하이재킹을 적용했을 때 7분간의 완전 분할이 가능했으며, Balance Attack을 통해 10시간 내에 초기 투자 대비 200 000배 이상의 이더를 획득했다. 프라이빗 환경에서는 ARP 스푸핑만으로도 LAN 수준에서 완전한 패킷 차단이 가능했으며, 마이닝 파워가 제한된 상황에서도 공격자는 충분히 블록을 생성해 체인 선택을 장악할 수 있었다.
핵심 인사이트는 다음과 같다. 첫째, 블록체인 보안은 프로토콜 자체뿐 아니라 네트워크 토폴로지와 운영 환경에 크게 의존한다. 둘째, 공공 블록체인은 다중 경로와 전 세계적인 피어링 덕분에 BGP 기반 라우팅 공격에 강인하지만, 컨소시엄·프라이빗 블록체인은 라우팅 정책이 단순하고 중앙집중식 인프라가 많아 동일한 공격에 취약하다. 셋째, 마이닝 파워를 정확히 재현한 실험 환경을 구축함으로써 이론적 공격 성공 확률을 실제 수치로 전환할 수 있었다. 마지막으로, Balance Attack은 기존의 “네트워크 지연 → 포크” 시나리오를 넘어, 공격자가 직접 네트워크를 분할하고 자신의 마이닝 파워를 전략적으로 배분함으로써 낮은 해시 파워에서도 이중지불을 달성할 수 있음을 입증했다.
댓글 및 학술 토론
Loading comments...
의견 남기기