51% 공격(Attack)이란?

51% 공격은 작업증명 (PoW) 알고리즘에서 나오는 용어입니다. 비트코인은 작업증명(PoW)을 사용해서 연산을 통해 일종의 문제를 가장 빨리 푼 노드에게 블록을 추가시킬수 있는 권한을 줍니다. 이때 나머지 노드들은 해당 블록이 유효한 거래인지 승인을 하게 됩니다. 절반 이상의 승인을 거치면 유효한 거래로 확인하고 블록을 블록체인에 연결, 모든 노드에게 전파하게 됩니다. 그런데 블록체인 전체 연산량의 50%이상을 보유한 채굴자는 압도적인 채굴량을 바탕으로 전체 네트워크를 마음대로 결정할 수 있게되며 51%공격을 감행할 수 있습니다. 

  • A: 비트코인 네트워크 전체 해시 파워 중 51% 이상을 가진 채굴자 및 거래자
  • B: 일반 거래자

A가 B에게 악의적인 생각을 가지고 BTC를 판매하려고 가정합니다. A는 B에게 50BTC를 송금하고 송금한 거래 기록의 트랜잭션이 실제 블록에 담기어, 블록체인에 연결이 됩니다. B는 자신의 거래 내역이 블록체인에 연결되었기 때문에 A에게 돈을 주게 됩니다. 여기까지의 과정은 아래와 같이 볼 수 있습니다.


돈을 받은 A는 B에게 지불한 기록을 삭제하고 새로운 블록을 생성합니다. A는 해시파워가 전체의 51% 이상을 가지고 있기 때문에 빠르게 이어질 블록까지 생성해나갑니다.



A는 연산력이 다른 채굴자에 비해 훨씬 높기 때문에 A가 만든 블록은 인정을 받아 블록체인에 연결이 이어집니다. B에게 송금한 진짜 기록의 블록연결고리는 더 짧은 길이가 되어 가짜가 됩니다.(고아 블록, 스테일 블록) 이와 같이 진행되면 A는 BTC를 송금한 기록이 사라지게 되고 B에게 돈을 받은셈입니다.


51% 공격이란 전체 네트워크의 자원을 독보적으로 많이 가지고 있는 사용자, 혹은 그룹으로 인하여 발생할 수 있는 문제입니다. 이 문제는 이론적으로 가능하나 경제적으로는 불가능한 상황이 존재합니다. 만약 51% 이상의 해시파워를 보유했다면 이와같이 거래를 조작할 수 있게 되는 사실을 스테일 블록이 발생하는 과정을 통해 파악할 수 있습니다. 이 과정을 지켜보는 사용자들은 비트코인 거래를 신뢰할 수 없다고 생각되어 마구잡이로 파는 패닉셀이 발생할 수 밖에 없습니다. 51%이상의 해시파워를 지닌 채굴자는 해시파워를 유지하기위해 그만큼 어마어마한 유지비를 감당해야 되는데 비트코인 가격이 똥값이 되면 가장 먼저 타격을 입게 됩니다.

'블록체인' 카테고리의 다른 글

양자컴퓨터란?  (0) 2018.07.23
블록체인 타임스탬프  (0) 2018.07.18
51% 공격(Attack)이란?  (0) 2018.07.17
작업증명 (Proof-of-Work : PoW) 알고리즘이란?  (0) 2018.07.11
머클트리(merkle tree)란?  (0) 2018.07.09
블록체인 기술 정의  (0) 2018.07.08

+ Random Posts