이클립스 공격 (Eclipse Attack)
이클립스 공격(eclipse attack)은 공격자가 특정 노드의 P2P 연결을 모두 자신이 통제하는 노드로 채워, 그 노드를 정직한 네트워크로부터 고립시키는 공격입니다. 피해 노드는 공격자가 보여 주는 블록과 트랜잭션만 보게 됩니다. 일식(eclipse)처럼 진짜 네트워크를 가린다는 뜻의 이름이며, 네트워크 참여자의 다수가 악의적인 상황(51% 공격)과는 다른 개념입니다.
자세히 알아보기
블록체인 노드는 제한된 수의 이웃 노드와 연결됩니다. 공격자는 많은 IP 주소를 동원해 피해 노드의 주소록(피어 테이블)을 자기 주소로 채운 뒤, 피해 노드가 재시작하거나 연결을 다시 맺을 때 모든 연결을 장악합니다. 2015년 하일먼(Heilman) 등의 연구가 비트코인에서 이 공격의 현실성을 보여 주었고, 이후 이더리움에서도 유사한 연구가 발표되었습니다.
고립된 노드를 상대로 공격자는 여러 일을 할 수 있습니다. 피해자의 트랜잭션을 전파하지 않는 검열, 정직한 체인이 아닌 가짜 체인으로 확인 수를 속여 이중 지불을 노리는 공격, 채굴자를 고립시켜 해시파워를 낭비하게 만드는 공격 등입니다. 이클립스 공격은 다른 공격의 발판으로 쓰이는 경우가 많습니다.
이클립스 공격은 시빌 공격과 함께 설명되는 경우가 많습니다. 시빌 공격은 많은 가짜 신원을 만들어 네트워크에서 영향력을 키우는 것이고, 이클립스 공격은 그 가짜 노드들로 특정 피해자를 둘러싸는 데 집중합니다.
블록체인·암호화폐에서는
비트코인 코어는 연구 결과를 반영해 여러 방어책을 도입했습니다. 주소록 버킷 구조 개선, 서로 다른 네트워크 대역(ASN 등)에서 피어를 고르는 다양화, 블록 정보만 주고받는 추가 연결(block-relay-only), 재시작 시 기존 앵커 연결 유지 등입니다. 거래소나 결제 서비스는 여러 독립 노드와 외부 블록 탐색기를 교차 확인하고, 고액 입금일수록 충분한 확인 수를 기다리는 방식으로 위험을 줄입니다. 라이트 클라이언트처럼 소수의 서버에만 의존하는 지갑은 이 공격에 더 취약합니다.
개인 노드 운영자도 방어에 참여할 수 있습니다. 노드를 오래 켜 두어 안정적인 연결을 유지하고, 신뢰할 수 있는 몇몇 노드에 수동으로 연결을 추가하며, 노드 소프트웨어를 최신 버전으로 유지하는 것만으로도 위험이 줄어듭니다. 블록 높이가 다른 탐색기와 크게 다르다면 고립을 의심해 볼 만합니다.
쉽게 말하면
누군가 내 집 창문을 모두 가짜 화면으로 가려 놓고, 바깥 세상이라며 조작된 영상만 보여 주는 상황입니다.
이 글은 학습을 위한 일반 정보이며 투자 권유나 법률 자문이 아닙니다. 가상자산은 가격 변동이 크고 원금 손실 위험이 있습니다.