본문으로 건너뛰기

비트코인 백서

비트코인 백서는 2008년에 사토시 나카모토가 발표한 아홉 쪽짜리 문서입니다. 비트코인이 어떤 원리로 작동해야 하는지 담은 설계도로, 건물이 올라가기 전에 기둥과 구조를 정해 두는 도면에 비유할 수 있습니다.

짧은 문서이지만 비트코인의 핵심 문제와 해법을 제시했습니다. 핵심은 중개자 없이 개인과 개인이 돈을 주고받는 것, 그리고 중개자 없이 이중 지불을 막는 것입니다.

중개자 없이 보내는 전자 현금

2008년에도 카드 결제와 계좌 이체로 인터넷에서 돈을 보낼 수 있었습니다. 그러나 카드 결제에는 가맹점과 카드사가 관여하고, 계좌 이체에는 은행이 가운데에서 장부를 기록해야 했습니다. 중개 기관이 거래를 거절하면 돈이 전달되지 않을 수도 있습니다.

그렇다면 중개자를 빼면 될 것 같지만, 디지털 돈에는 다른 문제가 생깁니다. 디지털 돈은 정보이므로 복사할 수 있습니다. 같은 돈을 한 곳에 지불한 뒤 다른 곳에도 다시 지불하는 문제를 이중 지불이라고 부릅니다.

현금은 손에서 손으로 건네면 거래가 끝나지만, 디지털 정보는 원본과 복사본을 구분하기 어렵습니다. 중개자를 두면 이중 지불을 관리할 수 있지만, 그러면 다시 은행이나 카드사 같은 중개 기관에 의존해야 합니다.

비트코인 백서는 이 문제에 대한 대안으로 개인 대 개인 전자 현금 시스템을 제시했습니다. 개인 대 개인은 영어로 P2P라고 하며, 은행 같은 중개자를 거치지 않고 한 사람이 다른 사람에게 직접 돈을 보내는 구조를 뜻합니다. 백서는 현금을 건네는 성질을 인터넷 위로 옮기겠다고 선언한 셈입니다.

모두가 보는 전체장부

중개자 없이 이중 지불을 막기 위해 백서는 모든 거래를 하나의 장부에 시간 순서대로 기록하는 방식을 제시했습니다. 참여자들이 같은 장부 사본을 나누어 가지고, 이미 먼저 기록된 거래와 어긋나는 기록을 걸러 내는 방식입니다. 이 공개된 장부를 전체장부라고 부릅니다.

이렇게 하려면 누가 장부에 새로운 기록을 추가할지 정해야 합니다. 백서가 제시한 답은 컴퓨터 계산이라는 비용을 치른 사람에게 기록 권한을 주는 것입니다. 이 방식을 작업증명이라고 부릅니다.

작업증명에서는 새로운 기록을 추가하기 위해 계산을 수행해야 합니다. 이미 적힌 기록을 조작하려면 그 뒤의 계산을 다시 해야 하므로, 장부를 몰래 바꾸는 일이 쉽게 이루어지지 않도록 만드는 효과가 있습니다.

같은 돈을 두 번 쓰려는 거래는 이미 먼저 기록된 내용과 충돌할 수 있습니다. 노드는 규칙에 맞는 후보 체인 가운데 누적 작업량이 가장 큰 체인을 선택하며, 그 체인에 포함된 거래를 기준으로 삼습니다. 따라서 거래가 발생한 시각이나 어느 장부에 먼저 보였다는 사실만으로 채택 순서가 영구적으로 확정되는 것은 아닙니다. 경쟁하는 블록이 생기면 체인이 재구성되어 최근 기록이 채택된 체인에서 제외될 수도 있습니다.

공격자가 기존 거래를 무효화하는 대체 체인을 만들 가능성은 확인이 쌓일수록 낮아지지만 0으로 보장되지는 않습니다. 백서의 보안 논의도 정직한 측이 공격자보다 계산 능력에서 우위를 차지한다는 조건을 전제로 합니다. 한 명의 심판이 모든 거래를 판정하지 않아도, 유효한 규칙과 누적 작업량을 기준으로 이중 지불 시도를 어렵게 만드는 것이 백서가 제시한 핵심 구조입니다.

백서를 읽는 방법

백서에는 수식이 나오는 대목도 있습니다. 그렇다고 개발자나 전문가만 읽을 수 있는 문서인 것은 아닙니다. 아홉 쪽 전체의 핵심은 다음 두 약속으로 정리할 수 있습니다.

  1. 중개자 없이 개인이 개인에게 돈을 직접 보냅니다.
  2. 이중 지불은 모두가 보는 전체장부와 작업증명으로 막습니다.

백서는 인터넷에 공개되어 있으며, 우리말 번역본도 찾을 수 있습니다. 처음부터 모든 내용을 완전히 이해하려 하기보다 첫 쪽의 요약문과 위 두 가지 약속부터 천천히 읽으면 전체 구조를 파악하는 데 도움이 됩니다. 설계도를 모두 읽지 못해도 그 설계로 지어진 건물을 사용하는 데 지장이 없는 것처럼, 백서의 모든 수식을 이해하지 않아도 핵심 구조를 배울 수 있습니다.

설계도와 현실의 차이

백서는 비트코인의 출발점입니다. 문서에는 중개자 없는 직접 송금과 공개 장부를 통한 이중 지불 방지라는 뼈대가 담겼지만, 실제 운영 과정에서 나타난 모든 문제까지 다루지는 않습니다.

예를 들어 수수료가 크게 오르는 상황이나 채굴이 일부 장소에 집중되는 문제처럼, 비트코인이 오랫동안 실제로 작동하면서 새롭게 나타난 물음이 있습니다. 이런 문제는 백서의 출발점만 읽는 것으로 모두 답할 수 없으며, 이후의 기술과 운영 역사를 별도로 살펴봐야 합니다.

아홉 쪽이라는 분량은 백서가 세부보다 뼈대를 중심으로 작성되었다는 특징을 보여 줍니다. 세부 구현은 바뀌더라도 핵심 구조를 확인할 수 있기 때문에, 논쟁이 생겼을 때 돌아가 살펴보는 기준점으로 활용될 수 있습니다.

비트코인 백서가 제시한 것은 중개자 없이 개인과 개인이 직접 돈을 보내는 방식, 그리고 전체장부와 작업증명으로 이중 지불을 막는 방식입니다. 그 두 약속이 현실에서 어떻게 구현되고 얼마나 잘 작동하는지는 백서 이후의 역사와 함께 살펴볼 문제입니다.

관련 내용은 비트코인의 탄생이중 지불에서 이어서 확인할 수 있습니다.

링크 복사하기X에 공유페이스북에 공유쓰레드에 공유