상세 컨텐츠

본문 제목

블록체인 보안 - 51% 공격

Blockchain/BlockChain Theory

by Yongari 2023. 2. 17. 18:15

본문

 

 

 

 

51% 공격이란?

 

51% 공격은 단일 주체나 조직이 대다수 해시파워를 차지해서 네트워크를 중단시킬 수 있는 공격이다.
악의적인 주체가 충분한 채굴파워를 가지고 있으면 다른 사람이 발생시킨 트랜잭션을 되돌릴 수 있는데 이것은 이중지불 

문제로 이어질 수 있다. 이중지불이란 이미 지불된 금액에 대해 다시한번 금액 또 지불되는 문제인데 이럴 경우
100만원을 출금신청했으나 내 의지와 상관없이 계좌에서 또 100만원이 추가로 출금되는 것과 비슷한 현상이다.

 

 

 

51% 공격의 동작방식

 

1. 공격자는 네트워크 전체 해시파워의 50% 이상을 확보한다. 그리고 블록을 채굴한다.

2. 블록채굴시 피어들에게 전파하지않고 혼자 가지고 있는다.

3. 공격자의 해시파워가 나머지 네트워크 전체 해시파워보다 높기 때문에 블록생성이 더 빠르다. 
4. 공격자는 정상 네트워크에 송금 트랜잭션을 발생시키고 다른 거래소 지갑으로 송금한다. 
5. 공격자의 트랜잭션이 확정되면 자신들의 블록을 네트워크에 전파한다. 이 경우 공격자의 블록체인이 더 길어서 체인 재구성이 일어난다. 

6. 이 경우 나머지 네트워크에 있던 트랜잭션 기록들은 취소될 것이다.

7. 이후 공격자들의 입금 트랜잭션도 취소하는데 이 때 공격자들은 이미 코인을 다른곳(거래소 등)으로 송금했기 때문에 취소할 수 없는 상태에서  잔액은 송금 트랜잭션 이전 상태로 돌아가기 때문에 이중 지불문제가 발생한다.

8. 왜냐하면 이미 공격자가 만든 송금 트랜잭션이 승인되게 만들고 취소를 해버리면 돈은 이미 인출했으나 잔액은 지불하지 않은 상태로 나오기 때문에 이중 지불 문제가 발생하게 되는 것이다. 

 

 

 

51% 공격에 대한 대안

 

  • 확정(Confirm) 횟수 증가 : 이중 지불 여부를 확인할 때까지 거래확정을 늦춤으로써 51% 공격을 예방함 대신 거래처리속도가 떨어지는 단점이 있다. 왜냐하면 거래 확정을 늦췄기 때문에 트랜잭션의 지연시간이 늘어날 것이다. 
  • 지연 기능 : 블록체인 트랜잭션을 공증하는 공증노드를 따로 둠으로써 전체 불변성을 보장하고 트랜잭션에 보안의 두 번째 계층을 제공한다. 

  • 블록체인 네트워크의 분산입니다. 분산을 하면 할수록 공격자가 채굴파워를 51%이상 얻기가 더 힘듭니다. 따라서 네트워크를 집중화하지 않고 분산화 할수록 블록체인을 보호할 수 있습니다. 

 

 

51% 공격 사례 

 

비트코인 골드

 

비트코인 골드 공격자는 네트워크 전체 해시파워의 51%를 회득해서 블록체인을 제어했다. 이후 이중지불 공격을 해서 

수익을 냈으며 공격자의 주소 거래내역에 2018년 5월 16일 이후 38만 BTG(한화 201억 1900만원)이 입금되었다. 

 

 

이더리움 클래식 

2019년 1월 5일부터 약 사흘(3일)간 이더리움 클래식에서 총 11회의 이중지불공격이 발생했고 이 공격으로 인해 8만 8500 ETC(한화 약 12억 3천만원)이 이중지불되었다. 코인베이스는 공격감지 후 이더리움 클래식을 보다가 세 번째 공격이 발생하고 이더리움 클래식의 거래를 중지했다. 이중 지불 공격 발생 이후 이더리움 클래식은 Confirm(확정)횟수를 400회까지 늘려 51% 공격에 대응했다. 

 

 

버지 코인 

  • 첫 번째 51% 공격 : 2018년 4월에 25만 버지 코인 탈취
  • 두 번째 51% 공격 : 3500만 버지코인(시가 18억)
  • 해커는 익명 게시판에 거래시간을 기록하는 장치를 조작해서 쉽게 풀 수 있는 해시 함수로 된 블록을 한꺼번에 생산한 뒤 코인을 채굴했다고 설명했음  >> 51% 공격 방식 

모나코인 

  • 2018년 5월 블록보류 공격(Block Withholding Attack)라고 불리는 공격을 당함 이 공격으로 대규모 체인 재구성이 일어났고 
    약 1억원 정도의 금전적 피해를 봤다.
  • 2018년 5월 13일부터 5월 15일까지 빈번하게 체인 재구성이 일어남
  • 모나코인 유저들이 거래소들마다 모나코인 입금시 컨펌횟수를 늘리도록 요청
  • 거래소는 입금정지 또는 컨펌횟수를 늘려서 해당사건 마무리 

젠 캐시 

  • 2018년 6월 2일 젠캐시에 대한 블록보류 공격으로 23,152개(한화 약 7억)의 젠코인이 이중지불됨 
  • 개발팀은 해시난이도를 높여서 추가 공격을 막음

'Blockchain > BlockChain Theory' 카테고리의 다른 글

스마트 컨트랙트와 UTXO  (0) 2023.02.05
블록체인 노드의 종류  (0) 2023.02.03
하드포크(Hard Fork)와 소프트포크(Soft Fork)  (2) 2023.02.03
채굴 알고리즘  (0) 2023.02.02
거버넌스 블록체인 - Klaytn  (0) 2023.02.02

관련글 더보기