서적/300 사회과학

§ 비트코인 : 개인 대 개인 전자 화폐 시스템

inventoryer 2025. 3. 24. 00:31

비트코인 : 개인 대 개인 전자 화폐 시스템 (논문)
장르 : 비트코인, 논문
 
사토시 나카모토라는 익명의 비트코인 개발자가 비트코인을 개발하며 게재한 9페이지가량의 영어 논문이다.
 
목차는 아래와 같이 구성되어 있다.
 
0. 초록(Abstract)
1. 서론(Introduction)
2. 거래(Transactions)
3. 타임스탬프 서버(Timestamp Server)
4. 작업증명(Proof-of-Work)
5. 네트워크(Network)
6. 인센티브(Incentive)
7. 디스크 공간 회수(Reclaiming Disk Space)
8. 간소화한 결제 검증(Simplified Payment Verification)
9. 금액 합치기와 나누기(Combining and Splitting Value)
10. 프라이버시(Privacy)
11. 계산(Calculations)
12. 결론(Conclusion)
 
0. 초록에서는 이중 지급 문제를 막기 위한 현재의 방식 ~신뢰받는 제삼자(Trusted Third Party) 시스템~의 문제를 꼬집고, 거래 내역을 암호화한 체인을 생성하여, 개개인의 참여와는 별개로 '체인'이 거래의 신뢰성을 증명할 것이라는 내용이다.
 
1. 서론은 물리적 통화(Currency)를 사용하지 않는 인터넷 상거래에서 발생하는 분쟁을 중재하기 위한 금융기관 의존성을 해소하기 위해 암호학적 증명에 기반하는 P2P 전자 결제 시스템을 소개한다.
 
2. 거래에서는 디지털 서명이 담긴 체인으로 전자화폐를 정의한다. 소위 말하는 블록체인(Block Chain)이다. 조폐국(Mint)의 운영 기업에 전체 통화 체계(Money System)의 운명이 달린 것이 아닌, 거래의 공개와 각 노드 과반의 동의로 증명되는 시스템이 필요하다고 얘기한다.
 
3. 타임스탬프 서버에서는 위 거래 시스템에서의 이중 지급 문제를 막기 위한 솔루션으로, 직전 거래의 타임스탬프를 포함해 암호화하는 방식으로 거래의 보안성을 강화하는 방식을 서술한다.
 
4. 작업증명에서는 블록의 구성 방식과 작업증명 방식에 관해 설명한다. 이 부분이 다소 어려운데, 작업증명은 SHA-256 같은 해시 처리를 거쳐 나온 결과가 0비트 여러 개로 구성된 특정 값을 찾는 방식이며, 블록에서 한 번 완성된 작업증명을 변경하려면 이후 모든 블록의 재작업이 포함되어야 한다는 내용이다. 각 IP당이 아닌 각 CPU당 한 표의 작업증명을 수행하는 것으로 정직한 노드가 체인의 대부분을 구성해 다른 체인을 압도할 것이며 이로 인해 공격자의 공격 성공 가능성이 감소할 것임을 이야기한다.
 
5. 네트워크에서는 이 네트워크의 실행단계를 이야기한다. 새로운 거래가 모든 노드에 전파되고, 블록의 작업증명을 찾아 다시 모든 노드에 전파하면 노드에서는 모든 거래가 유효하고 지급되지 않은 경우에 블록을 받아들인 뒤 받아들인 블록의 해시를 이용해 체인의 다음 블록을 생성하는 작업을 수행한다. 이 때 다른 버전의 블록을 동시에 전파받으면 먼저 받은 블록을 작업하고 다른 분기(Branch)를 보관해 두었다가, 노드가 가장 긴 분기를 사용한다.
 
6. 인센티브에서는 각 노드가 네트워크를 지원할 인센티브에 대해 얘기한다. 블록 안의 첫 번째 거래는 블록 창조자가 새 화폐를 발행하는 거래(채굴)임을 이야기하며, 정해 놓은 수 만큼 화폐가 유통되면(채굴이 종료되면) 인센티브는 거래 수수료 전환된다. 또한 네트워크 공격자가 많은 CPU 파워를 확보해 시스템 유효성을 해치는 것보다 비트코인 네트워크에 정직하게 참여하는 것이 이득임을 제시함으로써 공격을 무효화할 수 있다는 내용이다.
 
7. 디스크 공간 회수에서는 머클트리 방식의 거래 요약을 통해 오래된 거래 기록을 쳐냄으로써 무한히 이어지는 체인에서의 저장공간 문제를 발생하지 않도록 한다. 여기서는 무어의 법칙이 잠시 언급되는데 이는 데이터 저장용량이 18~24개월마다 약 2배로 증가하는 법칙으로, 체인에 쌓이는 데이터량보다 저장용량이 증가하는 속도가 더 빠를 것이라는 것을 이야기한다.
 
8. 간소화한 결제 검증에서는 풀 네트워크 노드가 아닌 헤더 정보만 있는 사본을 이용해 거래의 검증을 하는 방식을 설명한다. 다만 이 방식은 정직한 노드들의 통제 하에선 유효하나 공격자가 CPU의 대부분을 장악한 상황에서는 취약하다. 따라서 저자는 이를 방어하기 위해 유효하지 않은 블록을 탐지한 네트워크 노드가 보내는 경고를 받아들이라고 하고 있다.
 
9. 금액 합치기와 나누기에서는 비트코인은 성질상 자잘하게 쪼갤 수 있는데, 모든 작은 거래들을 기록으로 남기는 게 아니라 여러 건의 거래 정보를 나누거나 합칠 수 있도록 복수의 입출금을 하나의 거래로 갈음하는 것을 이야기한다. 단 여기서 발생할 수 있는 거래가 다른 거래에 의존하고, 또 그 거래들이 또다른 거래에 의존하는 팬-아웃 구조는 문제되지 않는다고 설명한다.
 
10. 프라이버시는 전통적인 은행 모델의 거래방식과 다른 비트코인 거래에서의 프라이버시 모델을 소개한다. 비트코인 거래는 마치 증권시장처럼 모든 거래 내역이 공용 네트워크에 공유되긴 하지만 거래 당사자가 누구인지는 알 수 없는 방식으로 익명성을 유지한다. 비트코인 거래 간에 비대칭 키 암호화 방식이 언급되나 반복적인 거래에 이용 시 해당 키의 소유자를 간접적으로 밝힐 위험에 대해서도 서술하고 있다.
 
11. 계산에서는 이 거래를 이루고 있는 체인을 공격하기 위한 공격자의 공격 성공 확률을 가상 시나리오로 계산하는데, 여기서는 「도박꾼의 파산」 문제와 유사하다는 점을 들어 공격자가 정직한 노드의 체인을 따라잡을 확률을 계산한다. 공격자가 따라잡아야 하는 블록 수가 늘어날수록 정직한 노드를 따라잡을수 없을 확률이 증가함을 「랜덤 워크」 문제로 접근해 이 네트워크 방식이 안전하다는 것을 통계적으로 증명한다.
 
12. 결론에서는 초록에 언급한 신뢰에 의존하지 않는 전자 거래용 시스템을 제안하며 이에 필요한 디지털 서명으로 만든 화폐 체재, 이를 완전하게 만들 수 있는 이중 지급 방지 수단, 공개 거래 이력을 기록하는 개인 대 개인 네트워크를 제시함을 다시 이야기하고, 비트코인이 가진 기능과 익명 노드들의 참여, 각 노드들의 자유로운 의사결정과 시스템의 유지에 필요한 메커니즘에 대해서도 되짚는다.
 
현재 비트코인 네트워크는 2009년 1월부터 약 16년동안 견고하게 유지되고 있다. 지금의 비트코인이 어찌 변질되었든 이 논문 「Bitcoin: A Peer-to-Peer Electronic Cash System」 은 상당히 완성도있고 혁신적인 거래 방식을 제안한 것임은 이견이 없다고 생각한다. 나는 비록 무지하여 이 논문에 담긴 내용을 완벽하게 이해하진 못했지만, 어쨌든.

아래 논문의 원본과 한글 번역본을 첨부한다.

Bitcoin - A Peer-to-Peer Electronic Cash System.pdf
0.18MB
비트코인 - 개인 대 개인 전자 화폐 시스템.pdf
0.30MB