Whitepaper
비트코인 백서와 작동 원리
2008년 10월 31일, 사토시 나카모토는 9쪽 분량의 논문 「Bitcoin: A Peer-to-Peer Electronic Cash System」을 공개했다. 이 페이지는 백서가 무엇을 문제로 규정했고 어떤 해법을 제시했는지, 그리고 그 해법이 실제 네트워크에서 어떻게 작동하는지를 원문 구조에 따라 정리한다.
백서 3·4장의 구조다. 블록 헤더에 직전 블록의 해시가 들어가므로 과거 기록을 바꾸려면 그 이후 구간의 작업증명을 전부 다시 만들어야 한다.
원문은 12개 절로 구성된다. 순서대로 읽으면 '문제 정의 → 해법 → 검증 → 인센티브 → 확률 계산'의 흐름이 보인다.
| 절 | 제목 | 요지 |
|---|---|---|
| 1 | 서론 (Introduction) | 신뢰받는 제3자에 의존하는 온라인 결제의 한계를 문제로 규정한다. |
| 2 | 거래 (Transactions) | 코인을 '전자서명의 사슬'로 정의하고 이중지불 문제를 제시한다. |
| 3 | 타임스탬프 서버 | 거래 묶음에 시간 순서를 부여하고 직전 해시를 포함해 연결한다. |
| 4 | 작업증명 (PoW) | 논스 탐색으로 기록에 비용을 부과하고, 다수결 기준을 연산량으로 삼는다. |
| 5 | 네트워크 | 블록 전파와 검증, 충돌 시 가장 긴 체인 채택 절차를 6단계로 정리한다. |
| 6 | 인센티브 | 발행 보상과 수수료로 채굴 참여를 유도하고, 공격보다 정직한 채굴이 합리적임을 논증한다. |
| 7 | 디스크 공간 회수 | 머클트리로 지출된 거래를 잘라내도 블록 헤더 무결성은 유지된다. |
| 8 | 간이 결제 검증 (SPV) | 헤더와 머클 경로만으로 거래 포함을 검증하는 경량 클라이언트 방식. |
| 9~10 | 금액 결합·분할 / 프라이버시 | 입출력 결합 구조와, 주소를 매번 새로 쓰는 프라이버시 관행을 설명한다. |
| 11~12 | 계산 / 결론 | 공격자의 역전 확률이 확인 수에 따라 지수적으로 감소함을 계산한다. |
21만 블록(약 4년)마다 보상이 절반으로 줄고, 이 등비수열의 합이 2,100만 개에 수렴한다. 총량 상한은 정책 결정이 아니라 이 규칙의 수학적 귀결이다.
- 2009년 (제네시스)50 BTC · 블록당 50 BTC
- 2012년 1차 반감기25 BTC · 블록당 25 BTC
- 2016년 2차 반감기12.5 BTC · 블록당 12.5 BTC
- 2020년 3차 반감기6.25 BTC · 블록당 6.25 BTC
- 2024년 4차 반감기3.125 BTC · 블록당 3.125 BTC
원문을 읽을 때 반복 등장하는 개념을 정의와 예시로 정리했다.
같은 코인을 두 번 이상 사용하려는 시도. 중앙 기관 없는 전자화폐의 핵심 난제다.
예시: 같은 UTXO를 쓰는 두 거래가 있으면 먼저 블록에 담긴 쪽만 유효해진다.
목표값보다 작은 블록 해시를 찾기 위해 연산을 반복하는 과정. 계산은 어렵고 검증은 쉽다.
예시: 채굴기가 초당 수십조 번 해시를 계산해 논스를 탐색한다.
아직 사용되지 않은 거래 출력. 지갑 잔액은 내가 쓸 수 있는 UTXO의 합계다.
예시: 0.5 BTC 하나로 0.2 BTC를 보내면 0.2와 약 0.3(거스름돈) 출력이 새로 생긴다.
블록 내 거래들을 해시로 두 개씩 묶어 하나의 루트 해시로 요약하는 자료구조.
예시: 경량 지갑은 머클 경로만으로 내 거래의 블록 포함을 검증한다.
블록 헤더에 들어가는 가변 숫자. 작업증명 조건을 맞추기 위해 계속 바꿔 시도한다.
예시: 논스를 다 써도 답이 없으면 헤더의 다른 값을 바꿔 탐색을 이어간다.
2,016블록마다 목표값을 다시 계산해 블록 간격을 약 10분으로 유지하는 규칙.
예시: 해시파워가 늘면 난이도가 올라 발행 속도는 그대로 유지된다.
누적 작업량이 가장 큰 체인을 정본으로 채택하는 합의 규칙.
예시: 동시에 두 블록이 나오면 다음 블록이 붙는 쪽이 정본이 된다.
기존 노드와 호환되는 방식으로 규칙을 좁히는 업그레이드.
예시: 세그윗과 탭루트가 소프트포크로 적용됐다.
전체 블록체인을 내려받지 않고 블록 헤더와 머클 경로로 거래를 검증하는 방식.
예시: 모바일 지갑이 수 GB 데이터 없이 입금을 확인하는 근거다.
백서가 규정한 문제: 이중지불과 신뢰받는 제3자
백서의 첫 문장은 목표를 분명히 밝힌다. "금융기관을 거치지 않고 당사자 간에 직접 이뤄지는 온라인 결제." 사토시는 인터넷 결제가 은행·카드사 같은 신뢰받는 제3자에 의존하는 구조 자체를 문제로 봤다. 제3자가 있으면 수수료가 붙고, 소액 결제가 불가능해지고, 거래 취소(chargeback) 가능성 때문에 판매자가 고객 정보를 더 요구하게 된다는 것이다.
디지털 화폐를 제3자 없이 만들 때 가장 어려운 문제는 이중지불(double-spending)이다. 디지털 데이터는 완전 복제가 가능하므로, 같은 코인을 두 사람에게 동시에 보내는 시도를 막을 방법이 필요하다. 기존 전자화폐 시도들은 중앙 발행기관이 모든 코인을 회수·재발행하며 이 문제를 해결했고, 그 결과 기관이 사라지면 시스템도 사라졌다.
백서의 해법은 거래 순서를 증명하는 것이다. 어떤 거래가 먼저 있었는지 네트워크 참여자 다수가 동일하게 인정할 수 있다면, 나중에 들어온 같은 코인의 거래는 자동으로 무효가 된다. 즉 비트코인은 '복제 방지 기술'이 아니라 '시간 순서에 대한 합의 기술'이다.
이 관점이 중요한 이유는 이후 모든 설계가 여기서 파생되기 때문이다. 작업증명, 블록의 연결, 가장 긴 체인 규칙, 채굴 보상은 모두 '누가 순서를 정하는가'라는 하나의 질문에 대한 답이다.
핵심 해법: 작업증명과 가장 긴 체인
백서 3·4장은 타임스탬프 서버와 작업증명(Proof-of-Work)을 설명한다. 거래들을 묶어 블록으로 만들고, 각 블록에 직전 블록의 해시를 포함시켜 사슬처럼 연결한다. 과거 블록을 바꾸면 이후 모든 블록의 해시가 어긋나므로, 기록 변경은 그 이후 구간 전체를 다시 계산해야 하는 일이 된다.
작업증명은 블록 해시가 특정 목표값보다 작아지도록 논스(nonce)를 무작위로 바꿔가며 반복 계산하는 과정이다. 정답을 찾는 데는 막대한 연산과 전력이 필요하지만, 검증은 해시 한 번으로 끝난다. 이 비대칭성이 '기록에 비용을 부과하는' 장치다.
충돌이 생기면 노드는 가장 긴(정확히는 누적 작업량이 가장 큰) 체인을 정본으로 채택한다. 다수결의 기준이 계정 수나 IP 수가 아니라 투입된 연산량이라는 점이 핵심이다. IP 기반 투표는 주소를 무한히 만들 수 있어(시빌 공격) 성립하지 않지만, 연산량은 위조할 수 없다.
백서 11장은 공격자가 정직한 체인을 따라잡을 확률을 계산한다. 해시파워가 절반 미만이라면 블록이 쌓일수록 역전 확률은 지수적으로 0에 수렴한다. 6확인(약 1시간)을 관행으로 쓰는 근거가 이 계산이다.
거래는 어떻게 만들어지는가: UTXO와 전자서명
비트코인에는 은행식 '잔액' 필드가 없다. 대신 사용되지 않은 거래 출력, 즉 UTXO(Unspent Transaction Output)들의 집합이 존재한다. 지갑이 보여주는 잔액은 내 개인키로 사용할 수 있는 UTXO의 합계를 계산한 결과다.
송금은 보유한 UTXO를 입력으로 넣고, 받는 사람 몫과 거스름돈 몫을 출력으로 새로 만드는 일이다. 입력 합계에서 출력 합계를 뺀 차액이 채굴자에게 가는 수수료가 된다. 이 구조 때문에 지갑은 매번 새 주소로 거스름돈을 받고, 그것이 프라이버시 관행과도 연결된다.
각 입력에는 소유자의 전자서명이 붙는다. 개인키로 서명하고 공개키로 검증하는 방식이므로, 개인키 없이는 UTXO를 옮길 수 없고 개인키를 잃으면 누구도 복구해 줄 수 없다. 백서 2장의 "코인은 전자서명의 사슬"이라는 표현이 이 구조를 가리킨다.
블록 안 거래들은 머클트리(Merkle tree)로 요약되어 블록 헤더에 32바이트 루트 해시 하나로 들어간다. 덕분에 경량 노드는 전체 거래를 받지 않고도 특정 거래가 블록에 포함됐음을 증명받을 수 있다. 백서 7·8장의 디스크 회수와 간이 결제 검증(SPV)이 이 위에 서 있다.
공급 규칙과 인센티브: 왜 2,100만 개인가
백서 6장은 인센티브를 다룬다. 블록을 만든 채굴자는 새로 발행되는 코인과 거래 수수료를 받는다. 초기에는 발행 보상이 네트워크에 참여할 이유를 제공하고, 발행이 줄어들면 수수료가 그 역할을 대신하도록 설계됐다.
발행량은 소프트웨어 규칙으로 정해진다. 블록 보상은 21만 블록(약 4년)마다 절반으로 줄고, 이 등비수열의 합이 2,100만 개에 수렴한다. 2009년 50 BTC였던 보상은 2024년 4월 3.125 BTC가 됐다. 총량 상한은 누가 정책적으로 결정하는 값이 아니라 반감기 규칙의 수학적 귀결이다.
블록 간격을 약 10분으로 유지하는 장치는 난이도 조정이다. 2,016블록(약 2주)마다 실제 소요 시간을 보고 목표값을 다시 계산한다. 해시파워가 늘면 난이도가 올라가고, 줄면 내려간다. 그래서 채굴 장비가 늘어도 발행 속도는 빨라지지 않는다.
백서는 이 인센티브 구조가 공격보다 정직한 채굴을 합리적으로 만든다고 주장한다. 다수 해시파워를 확보한 주체가 체인을 되돌리려 하면, 그 과정에서 자신이 보유한 코인과 장비 가치를 스스로 훼손하게 된다는 논리다.
백서가 다루지 않은 것과 이후의 변화
백서는 9쪽짜리 설계 개요이며, 지금 네트워크의 모든 규칙을 담고 있지 않다. 1MB 블록 크기 제한, 난이도 조정 주기, 스크립트 언어의 세부, 주소 형식은 모두 이후 구현과 합의 과정에서 정해졌다.
이후 주요 변경은 소프트포크로 진행됐다. 2017년 세그윗(SegWit)은 서명 데이터를 분리해 용량과 확장성 문제를 완화했고, 2021년 탭루트(Taproot)는 서명 방식을 개선해 스마트 계약의 프라이버시와 효율을 높였다. 라이트닝 네트워크는 백서가 언급한 소액 결제 문제를 2계층에서 해결하려는 시도다.
백서에 없던 논쟁도 생겼다. 블록 크기 확대를 둘러싼 2017년 분쟁은 비트코인 캐시 분기로 이어졌고, 이 사건은 '규칙 변경이 얼마나 어려운가'를 실증적으로 보여준 사례로 남았다. 규칙을 쉽게 바꿀 수 없다는 특성이 비용이 아니라 자산의 성질이라는 해석이 여기서 나온다.
백서를 읽을 때 유의할 점은 이것이 예측이나 투자 문서가 아니라 기술 제안서라는 것이다. 가격, 시장, 자산으로서의 성격은 백서의 주제가 아니었고, 이 페이지의 설명 역시 투자 권유가 아니다.
출처 · 참고 자료
- Bitcoin: A Peer-to-Peer Electronic Cash System (원문 PDF) ↗
사토시 나카모토, 2008년 10월 31일 공개된 백서 원문 9쪽.
- 비트코인 백서 한국어 번역 ↗
bitcoin.org가 제공하는 공식 한국어 번역본.
- Bitcoin Developer Guide — 거래·블록체인 구조 ↗
UTXO·스크립트·수수료 등 구현 수준의 설명.
- BIP 141 — Segregated Witness ↗
2017년 세그윗 소프트포크 규격 원문.
- BIP 341 — Taproot ↗
2021년 탭루트 업그레이드 규격 원문.
- Bitcoin Core — 난이도 조정 구현 ↗
2,016블록 주기 난이도 재계산 코드.