비트코인 백서 톺아보기- 1편

2022-01-21

우리가 거래를 할 때 가장 기본이 되는 것은 바로 ‘신뢰’입니다. 그런데 이 신뢰가 무너지게 된다면 어떻게 될까요? 믿고 거래를 할 수 없겠죠. 그래서 우리는 은행이라는 신뢰할만한 제3자를 통해 거래를 하고 있는 것입니다.

그러던 어느 날, 사토시 나카모토라는 사람이 암호학 전문가 등 관련자 수백 명에게 '저는 신뢰할만한 제3자인 중개자가 전혀 필요 없는 개인 대 개인으로 운영되는 새로운 전자화폐 시스템을 연구해오고 있다'는 메일과 함께 자신이 작성한 <비트코인 : 개인 대 개인의 전자화폐 시스템(2008)>이라는 9쪽짜리 논문을 다운받을 수 있는 링크를 보냈습니다. 이 논문은 비트코인 백서로, 비트코인과 블록체인의 기본 구조를 설명하고 있습니다.



P2P 버전의 전자화폐

사토시 나카모토가 말하는 P2P(peer-to-peer) 버전의 전자화폐는 은행을 거치지 않고 한 개인과 다른 개인이 직접 거래가 가능합니다. 이때 ‘디지털 서명(digital signature)이 그 해결책의 일부가 되겠지만, 만약 전자화폐의 이중지불(double-spending) 방지하기 위해 여전히 신뢰할만한 제3자가 필요하다면 이점이 사라지게 될 것’이라고 말하고 있습니다. 그렇다면, ‘이중지불’이란 무엇일까요?

 


이중지불이란?

지금 내 통장에는 만 원밖에 없다고 합시다. 이 돈을 동시에 그린과 존에게 보내고 싶은데요. 과연 가능할까요? 


먼저 PC와 모바일을 통해 인터넷 뱅킹에 접속해 보겠습니다. 그리고 그린과 존에게 보낼 돈 만 원을 입력하고 동시에 송금하기 버튼을 눌렀습니다. 과연 그린과 존 모두에게 만 원이 송금될까요?

아닙니다. 내 통장에는 만 원밖에 없기 때문에 그린과 존 중 한 명에게만 만 원이 입금됩니다. 아무리 동시에 송금하기를 눌렀다 하더라도 은행의 중앙 제어 시스템은 가장 먼저 들어온 거래부터 처리합니다. 그렇기 때문에 그린에게 송금하기라는 거래가 0.00001초 먼저 도착하였다면 그린에게 만 원이 송금되는 것입니다. 자, 그럼 이제 내 통장에는 잔액이 0원 밖에 없겠죠? 존에게도 만 원을 보내야 하지만 통장에 잔액이 0원이라 은행에서는 잔액부족을 이유로 만 원을 송금하지 않습니다.


만약 그린과 존 모두에게 만 원씩 입금이 된다면 두 번 결제되어 발생하는 즉, 이중지불 문제가 발생한 것이죠. 우리는 이런 문제를 예방하기 위해 은행이라는 신뢰할만한 제3자를 통해 거래를 하고 있는 것입니다. 그렇다면 P2P 거래에서는 누가 은행의 역할을 하는 걸까요?


사토시 나카모토는 그 해결방법으로 ‘P2P 네트워크를 이용한다’고 설명합니다. P2P 네트워크란 쉽게 말해 컴퓨터끼리 양방향으로 파일 전송이 가능한 시스템으로, 중앙에 서버가 없이 컴퓨터가 곧 서버도 되고 클라이언트가 되어 파일을 주고 받는 것이라 할 수 있습니다.



기존에는 은행이 모든 거래내역을 기록하여 저장해 두었다면, 이제는 P2P 네트워크를 통해 거래를 증명하여 저장할 수 있게 된 것입니다. 이와 관련한 내용은 다음 편에서 알아보도록 하겠습니다.