비트코인 분산장부로 안전하다더니 왜 해킹당하나

머니투데이 송학주 기자 2017.12.21 18:55
글자크기

블록체인 기술은 해킹 불가능…거래 편의성 위해 만든 전자지갑 '월릿' 노린다

비트코인 분산장부로 안전하다더니 왜 해킹당하나


국내 가상통화(암호화폐) 거래소인 유빗이 지난 19일 해킹 공격으로 가상통화를 도난당해 파산하는 사고가 발생했다. 가상통화 거래소에 대한 해킹은 이번이 처음이 아니다. 지난 4월에도 유빗의 전신인 야피존이 55억원 상당의 비트코인을 도난당했고 지난해에는 세계 최대 가상통화 거래소인 홍콩 비트피넥스가 6500만달러(약 704억원)의 피해를 입었다.

비트코인 등 가상통화는 기반기술인 블록체인(분산원장) 기술 덕분에 해킹이 불가능하다고 알려졌다. 그렇다면 왜 가상통화 거래소가 해킹당해 비트코인 등을 도난당하는 것일까.



블록체인은 거래정보를 중앙 서버에서 관리하는 은행과 달리 네트워크로 연결된 불특정 다수의 컴퓨터에 분산해 관리하는 기술이다. 블록은 거래기록의 묶음이고 이 블록들이 체인처럼 연결되면 모든 거래기록이 된다. 새 블록은 복잡한 수학 문제를 푼 사람(채굴자)이 생성할 수 있고 이 대가로 채굴자가 얻는 것이 비트코인이다.

블록체인 때문에 비트코인 등 가상통화를 해킹하려면 서버 하나를 공격하는 것이 아니라 개별 네트워크 참여자들의 블록체인 모두를 공격해야 하는데 10분마다 새로운 정보를 담은 블록이 업데이트되기 때문에 이를 동시에 해킹하는 것은 물리적으로 불가능하다는 것이 중론이다.



다만 블록을 새로 생성하려면 참여자의 50% 이상이 거래의 유효성 검증에 합의하면 되는 만큼 블록체인이 저장된 전체 컴퓨팅 파워의 50% 이상을 장악해 다른 채굴자보다 블록을 빨리 생성하면 블록을 조작해 가상통화를 탈취할 수 있다. 하지만 이는 현재 컴퓨터 기술로는 불가능한 것으로 알려졌다.

비트코인은 실체가 없다. 비트코인 거래는 거래자 각자에게 부여된 비트코인 전자키(비밀키)를 통해 이뤄진다. 비트코인 전송 승인이 이뤄지는 즉시 이 정보가 네트워크에 연결된 ‘노드’(node)를 통해 다른 노드로 전송되고 빠르게 비트코인 네트워크에 퍼진다. 노드는 비트코인의 블록체인을 유지하는 중계 컴퓨터 프로그램 또는 이를 운영하는 서버를 말한다. 노드는 네트워크에서 거래가 이뤄질 때마다 그 거래의 유효성과 돈의 출처가 거짓이 아님을 점검해 주는 역할을 한다.

일반 투자자는 거래소를 통해 가상통화를 구매한다. 거래소에 계좌를 개설하고 돈을 입금하면 가상통화를 살 수 있다. 정확하게 말하면 거래소에서 가상통화를 매수한다는 것은 가상통화를 사서 어딘가에 저장하는 것이 아니라 가상통화에 접속해 거래에 서명할 수 있는 안전한 전자키를 확보해 보관한다는 의미다. 이 전자키 정보는 ‘월릿’(wallet)이라는 가상통화 지갑에 저장된다.


사이버 범죄자들이 해킹하는 것은 블록체인 자체가 아니라 가상통화 거래소의 가상통화 지갑이다. 가상통화 지갑의 비밀키를 탈취하면 마치 공인인증서를 해킹해 은행 계좌에 있는 돈을 빼가는 것처럼 가상통화를 훔쳐 자기 것처럼 거래할 수 있다. 결국 비트코인 거래를 조작할 수는 없지만 비트코인 전자키를 해킹해 훔칠 수는 있다는 의미다.

해킹 위험 때문에 최근에는 네트워크에 접속하지 않고 전용 단말기를 이용하는 ‘콜드월릿’이 주목받고 있다. 콜드월릿은 네트워크에 연결돼 있지 않아 해킹에서는 자유롭지만 단말기를 잃어버리거나 단말기가 고장 나면 데이터를 복구할 수 없는 문제가 있다.



가상통화 거래소들은 해킹 위험을 줄이기 위해 가상통화 전자키 정보를 인터넷에 연결되지 않은 저장장치인 ‘콜드스토리지’에 보관한다. 유빗 역시 총 자산의 80%가 넘는 가상통화 전자키 정보를 콜드스토리지에 보관해 총 자산의 약 17%로 피해를 줄인 것으로 알려졌다.
TOP