Skip to main content

<사토시의 서(개정증보판)> 순서를 정해주는 주체를 지우면, 그 자리에 무엇을 둘 것인가

· 8 min read
Doyul Kim, Ian
Software Engineer @OrderX, Real-time Trading Systems

책 표지

한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다.

이 책을 고른 이유

주문 체결 시스템을 만들고 있다. 순서가 끊기지 않게 하는 게 일의 큰 부분인데, 그게 실제로 끊기는 사고를 겪고 복구해본 적이 있다. 코인 거래도 다루는 쪽이라 비트코인은 늘 옆에 있었지만 시세로만 봤다. 그러다 이 책이 순서를 누가 정하느냐를 바닥부터 다시 설계한 사례라는 걸 알았다. 내가 겪은 건 정해진 순서가 끊기는 쪽이라 같은 문제는 아닌데, 한 번 겪어보니 두 번째가 궁금해졌다.

펴보니 비트코인 해설서는 아니었다. 사토시 나카모토가 2008년부터 2010년까지 메일링 리스트와 포럼에 쓴 글을 시간순으로 늘어놓고 저자가 각 글 앞에 맥락을 한두 문단 붙인 형태다. 설명서가 아니라 설계 문서의 초고와 그 아래 달린 리뷰 코멘트를 묶어놓은 책에 가깝다.

초반부를 읽은 뒤로는 목차를 보고 관심 가는 장을 골라 들어갔다. 이 글도 그렇게 읽은 차례대로 쓴다. 어디를 읽고 무엇을 봤는지는 쪽번호로 남긴다.

이런 분에게 추천한다

  • 분산 시스템에서 합의나 순서 결정을 다뤄본 사람. 화폐라는 도메인에서 같은 문제를 어떻게 풀었는지 볼 수 있다
  • 비트코인이 어떻게 돌아가는지는 대충 알지만 왜 그렇게 만들었는지는 모르는 사람
  • 기술 문서보다 그 문서가 만들어지던 과정의 논쟁을 읽고 싶은 사람

반대로 시세나 투자 전략을 기대하면 이 책은 아니다. 지갑 만드는 법도, 거래소 쓰는 법도 없다. 그리고 이 책은 앞에서부터 차례로 읽으라고 만들어진 책이 아니다. 저자가 배경지식 없는 독자는 2장(51쪽)부터 읽으라고 아예 안내해둔다.

읽어보니

결국 순서를 누가 정하느냐의 문제다

돈 이야기인 줄 알고 폈는데 계속 나오는 건 순서 이야기였다.

622쪽 - 조폐국 모델에서 순서를 정하는 주체를 지우는 대목

622쪽 백서 본문에 그게 그대로 나온다. 조폐국 기반 모델에서는 조폐국이 모든 트랜잭션을 알고 어느 것이 먼저 도착했는지 결정한다. 그 주체를 없애려면 트랜잭션을 공개적으로 알리고, 참가자들이 받은 순서를 기록한 단일 이력에 합의하는 시스템이 필요해진다. 같은 돈을 두 번 쓰는 걸 막는 일이, 결국 누가 먼저 왔는지를 정하는 문제로 바뀐다.

내가 만드는 시스템은 정반대다. 주문은 거래소로 나가고 체결 순서는 거래소가 정한다. 이 주문이 이 순서로 체결됐다고 알려오면 나는 그걸 검증할 방법이 없다. 그냥 받아들인다. 사토시가 없애려고 한 신뢰가 정확히 거기 있는 셈이다. 붙이는 거래소가 늘수록 그런 자리도 늘고, 곳마다 사정이 달라서 케이스별로 다르게 다뤄야 한다. 이 책은 그 신뢰를 지웠을 때 뭘 대신 놓아야 하는지를 2년에 걸쳐 공개적으로 답한 기록이다.

134쪽 - 기존 통화의 문제를 신뢰 문제로 정리하는 대목

134쪽이 그 문제의식을 가장 압축해서 보여준다. 사토시가 P2P 재단에 비트코인을 소개하면서 쓴 글이다.

기존 통화는 신뢰가 구축돼야만 작동한다는 근본적인 문제가 있습니다. (134쪽)

여기서 그는 중앙은행, 은행의 지급준비금, 신원 도용까지 신뢰가 요구되는 지점을 하나씩 짚는다. 그런 다음 한 세대 전 다중 사용자 시분할 시스템에서 관리자를 믿어야 했던 상황이 강력한 암호화가 보급되면서 사라졌다는 비유로 넘어간다. 신뢰를 개선하자는 게 아니라 신뢰가 필요한 자리 자체를 없애자는 논법이다.

되돌릴 수 있게 둘 것인가

99쪽에서 시작하는 12장은 컨펌과 블록 타임을 다루는데, 여기가 도메인 감각으로 제일 흥미로웠다.

100쪽 - 되돌릴 수 없음이 비용이 아니라 기능이 되는 대목

100쪽에서 사토시는 수표 부도와 카드 결제 취소가 처리에 며칠에서 몇 주까지 걸리는 반면 비트코인은 60분 정도면 되돌릴 수 없는 트랜잭션을 확정한다고 정리한다. 속도 이야기가 아니다. 되돌릴 수 없다는 걸 약점으로 두지 않고 기능으로 세웠다.

체결 시스템에서는 거래가 언제 되돌릴 수 없게 확정되는지가 늘 협상거리다. 잘못 나간 주문은 취소할 수 있어야 하고, 오류 정정 경로가 있어야 하고, 분쟁이 생기면 사람이 개입할 여지를 남긴다. 그 여지를 어디까지 둘지는 대체로 거래소가 정하고 나는 거기 맞춘다. 비트코인은 그 여지를 프로토콜에서 걷어내고 대신 에스크로와 다중 서명(255쪽부터)을 프로토콜 바깥의 선택지로 밀어냈다. 어느 쪽이 옳다는 얘기를 하려는 게 아니다. 되돌릴 수 있다는 걸 그냥 편의로만 여기고 있었는데 그것도 누가 고른 설계라는 걸 여기서 알았다.

방어가 설계 리뷰 형태로 남아 있다

이 책이 좋은 건 결론 옆에 반박이 같이 실려 있어서다. 79쪽 4장은 확장성 문제, 81쪽 5장은 51% 공격, 169쪽 33장은 작업증명 난이도, 173쪽 34장은 노드의 수익성을 다룬다. 전부 당시에 누군가 던진 질문이고 사토시가 그 자리에서 답한 기록이다.

요약본에서는 이런 게 다 깎여 나간다. 결론만 남고 왜 그 결론이었는지는 사라진다. 297쪽 59장에 나오는 오버플로 버그가 대표적이다. 22개월 만에 값이 음수로 롤오버되는 트랜잭션이 들어왔고, 불변이어야 할 블록체인을 개발자들이 되돌렸다. 설계 원칙과 운영 현실이 충돌했을 때 무엇을 포기했는지가 그대로 남아 있다.

개정증보판이 새로 붙인 것

이번 판에서 새로 붙은 건 76장부터 80장까지의 이메일이다. 옮긴이의 말(5쪽)이 마르티 말미, 아담 백, 웨이 다이, 할 피니, 마이크 헌 다섯을 신규 자료로 꼽는다. 그중 76장 말미와의 교환은 크레이그 라이트 소송을 계기로 말미 본인이 공개했고(399쪽), 말미와 아담 백이 재판 중 영국 법원에 이 이메일들을 제출했다는 언급이 결론(615쪽)에 나온다.

포럼에 쓴 글과 확실히 다르다. 418쪽에서 사토시는 1990년대에 디지캐시 같은 신뢰 기반 시스템이 10년 내내 실패하면서 다들 전자화폐 자체가 안 되는 거라고 여기게 됐다고 진단한 다음, 이번에는 다르다는 걸 알아달라고 설득한다. 비트코인이 갑자기 튀어나온 발명이 아니라 앞선 실패들에 대한 대답이었다는 걸 알 수 있다.

과장하지 않는 태도도 눈에 띈다. 506쪽에서는 비트코인 주소가 익명이 아니라는 점을 본인이 정정하고, 427쪽에서는 같은 주소로 받은 금액이 한 키에 묶여 프라이버시 위험이 된다고 스스로 짚는다. 410쪽에서 초기 가격 기준을 정할 때 미래를 알 수 없어 중간을 골랐다고 말하는 대목도 마찬가지다. 566쪽에는 사토시가 개빈 안드레센의 CIA 방문 때문에 떠난 게 아니며 공개 게시를 멈춘 뒤에도 몇 달간 메일을 주고받았다는 마이크 헌의 증언이 실려 있다. 379쪽 72장에서 끊긴 퇴장 서사를 이 판이 이어 붙인다.

아쉬운 점

백서 전문이 목차에서 사라져 있다. 이 책에는 사토시 백서의 완역이 619쪽부터 635쪽까지 17쪽에 걸쳐 실려 있다. 그런데 목차에는 이 항목이 없다. 82장 결론(613쪽) 다음이 곧바로 참고 문헌(636쪽)이다. 백서가 82장 안에 부록처럼 들어가 있어서 러닝헤드도 끝까지 "82장 결론"으로 찍힌다. 이 책을 사는 이유 중 하나가 백서 완역일 수 있는데, 목차만 봐서는 실려 있는지조차 알 수 없다. 별도 항목으로 뽑았어야 한다.

개인 서신 구간이 심하게 편중돼 있다. 76장 하나가 399쪽부터 540쪽까지 142쪽으로, 책 전체의 22%다. 나머지 네 개 장(77~80장)을 다 합쳐야 70쪽이다. 마르티 말미와의 교환이 분량이 많은 건 사실이지만, 빌드 문제나 버전 관리 같은 실무 대화가 길게 이어지는 구간에서는 밀도가 확실히 떨어진다. 게다가 410쪽과 570쪽처럼 76장과 80장에 비슷한 내용이 겹쳐 실린 곳도 있다. 편집에서 더 덜어낼 여지가 있었다고 본다.

82개 장이 평평해서 주제로 찾아 읽기 어렵다. 이 책에는 부가 없다. 82개 장이 시간순으로 나열될 뿐이다. 시간순 배열은 이 책의 강점이지만, 특정 주제를 다시 찾을 때는 목차가 색인 역할을 거의 못 한다. 확장성이나 수수료 이야기가 4장, 15장, 46장, 62장에 흩어져 있는 식이다. 뒤에 용어표(637쪽)는 있는데 주제 색인이 없다.

구성

추천사 성격의 서문 세 편과 앞부속으로 시작해 82개 장을 지나 참고 문헌과 용어표로 닫는다. 640쪽으로 상당히 두껍다.

다시 말하지만 이 책에는 부 구분이 없다. 1장부터 82장까지 시간순으로 평평하게 이어진다. 그래도 읽다 보면 성격이 갈리는 구간이 보이는데, 아래는 책의 구분이 아니라 내가 읽으면서 나눠본 것이다.

  • 도입 (12장, 4176쪽): 서론과 비트코인의 작동 원리. 저자가 배경지식 없는 독자에게 2장부터 읽으라고 안내하는 곳이다.
  • 크립토그래피 메일링 리스트 (320장, 77132쪽): 2008년 11월 백서 공개 직후 암호학자들의 반론에 사토시가 하나씩 답하는 구간. 기술 밀도가 가장 높다.
  • 공개 배포와 화폐론 (2143장, 133202쪽): 사토시가 엔지니어가 아니라 화폐 사상가로 말하는 구간. 2100만 개 상한, 반감기, 디플레이션 논쟁이 여기 모여 있다.
  • 성장통과 공격 (4472장, 203380쪽): 오버플로 버그, 코인 도난, 위키리크스 사태. 실전에서 두들겨 맞는 구간이고, 사토시가 사라지는 장면으로 끝난다.
  • 개인 서신과 마지막 메시지 (7381장, 381612쪽): 73~75장은 1판에도 있던 자료이고, 이번 판에 새로 실린 건 76~80장이다(마르티 말미, 아담 백, 웨이 다이, 할 피니, 마이크 헌). 81장은 서신이 아니라 2015년 게시판 글이다.
  • 결론과 백서 (82장, 613~635쪽): 결론 본문은 618쪽까지고, 그 뒤는 백서 전문 번역이다.

총평

379쪽 - 사토시가 공적 활동에서 물러나기 직전 남긴 마지막 포럼 게시물

이 책은 비트코인 사용법을 알려주는 책은 아니다. 설계 결정이 만들어지는 과정을 지켜보는 책에 가깝다. 앞부속과 초반부를 읽고 목차를 따라 12장과 13장, 21장, 30장, 59장, 72장, 82장을 찍어 읽었는데 어디를 열어도 같은 구조였다. 누군가 문제를 제기하고, 사토시가 답하고, 그 답이 그대로 남는다.

읽는 동안 계속 되물은 게 하나 있다. 내가 만드는 시스템에서 순서를 확정해주는 주체가 정확히 누구이고, 그 신뢰가 깨지면 무엇이 무너지는가. 답은 시스템 바깥에 있다. 거래소가 정하고 나는 그걸 받는다. 앞에서 내 문제와 이 책의 문제는 다르다고 했는데, 여기서 겹친다. 순서가 끊겼을 때 복구가 그렇게 고됐던 이유도 결국 거기 있었다. 내가 만들지 않은 사실을 뒤늦게 맞춰야 하니까. 평소에는 연동 문제로만 다루던 걸 이 책을 읽으면서 처음으로 신뢰의 문제로 놓고 봤다.

379쪽에서 사토시는 DoS 제한을 추가한 0.3.19 버전을 알리면서 이 소프트웨어가 DoS 공격에 전혀 저항력이 없고 공격 방법은 여전히 셀 수 없이 많다고 덧붙인다. 그리고 이게 그가 공개적으로 남긴 마지막 글이 된다. 자기가 만든 것의 한계를 마지막 문장까지 정확히 말하고 떠난 셈이다. 그 태도 때문에 남은 부분도 마저 읽을 생각이다.

#한빛미디어 #나는리뷰어다 #사토시의서