인기 기자
(블록체인ABC)블록체인으로 이중지불한다? 51% 공격
블록체인 허점 이용해 거래조작…BTG·XVG 등 알트코인 해킹피해
2019-04-22 13:56:16 2019-04-22 13:56:25
[뉴스토마토 안창현 기자] 블록체인은 해킹이 불가능해 보안이 완벽하다고 알려졌지요? 이중지불 문제도 해결해 암호화폐를 안전하게 거래할 수 있다고도요. 우리가 종종 듣게 되는 암호화폐 해킹 사건들도 블록체인 자체가 아닌 암호화폐 거래소가 해킹돼 문제가 불거진 경우들이 많았습니다. 하지만 세상에 완벽한 기술이 어디 있을까요? 블록체인도 마찬가지입니다.
 
블록체인에서 하나의 거래가 완료되기 위해서는 전체 참여자의 51% 이상이 새롭게 생성된 블록(거래장부)을 정당하다고 승인해야 합니다. 블록체인은 참여자의 과반수가 찬성해야 하는 민주적인 시스템입니다. 이 과반 승인을 조작하는 게 어렵기 때문에 블록체인 기술이 안전하다고 얘기하는 것입니다. 하지만 그 과반(51%)이 악의적으로 담합한다면 어떨까요?
 
51% 공격은 비트코인이나 이더리움과 같은 작업증명(PoW) 방식의 암호화폐에서 전체 노드 중 51% 이상의 해시파워(연산능력)를 확보한 뒤, 거래정보를 조작하는 해킹 공격을 말합니다. 압도적인 해시파워를 가지고 다른 노드들의 정당한 블록보다 더 빨리 신규 블록을 생성하고 네트워크에 전파합니다. 그렇게 해서 위·변조된 기록을 블록체인에 남기는 것이지요.
 
51% 공격은 블록체인 시스템을 교란시키는 해킹 공격이다. 사진은 기사 내용과 무관함. 사진/뉴시스
 
가령 51% 해시파워를 가진 A가 B와 거래를 합니다. A는 암호화페를 지불하고 B에게서 상품을 구입했습니다. A와 B의 거래는 새로운 블록을 생성해 네트워크 승인을 기다리고 있는 상태입니다. 그런데 A는 동시에 C와도 거래를 했습니다. 마찬가지로 이 거래로 블록을 생성했겠죠? A는 우월한 연산능력으로 C와의 거래만 블록을 승인할 수 있습니다. 그러면 A와 B의 거래는 블록체인에 등록되지 않고, 결국 없던 거래가 됩니다. A가 블록체인 네트워크를 교란해 B와 C에게 이중지불한 셈이 되는 것입니다.
 
초기에는 51% 공격이 사실상 불가능하다는 얘기가 많았습니다. 전체 네트워크에 참여한 다른 노드들을 압도하는 연산능력을 가지기 쉽지 않기 때문입니다. 실제 참여 노드들의 수가 충분히 늘어나면 그렇습니다. 비트코인의 경우, 지난 2009년 처음 만들어진 이후 지금껏 한 번도 블록체인 자체가 해킹 당한 적은 없습니다.
 
하지만 참여자가 비교적 적은 알트코인들은 사정이 다릅니다. 지난해만 해도 비트코인골드(BTG), 버지(XVG), 젠캐시(ZEN), 모나코인(MONA) 등 여러 알트코인들이 51% 해킹 공격을 당했습니다. 피해액수도 상당했고요. 지난해 5월16일 발생한 BTG 해킹 사건에서는 51% 공격으로 약 200여억원 규모의 피해가 발생하기도 했습니다.
 
안창현 기자 chahn@etomato.com
 

ⓒ 맛있는 뉴스토마토, 무단 전재 - 재배포 금지

지난 뉴스레터 보기 구독하기
관련기사