이 장은 이미 손에 쥔 부품들을 조립하여, 사람들이 "블록체인"이라고 말할 때 대개 떠올리는 바로 그 하나의 아이디어를 완성한다. 부품은 앞의 두 장이 마련해 두었다. 8장 '비전문가를 위한 암호학'은 암호학적 해시 — 어떤 데이터든 변조를 드러내는 짧은 지문 — 를 설명했고, 10장 '분산 시스템, 신뢰, 그리고 비잔틴 장군 문제'는 서로 믿지 못하는 컴퓨터들이 무엇에든 합의하기가 왜 그토록 어려운지를 설명했다. 여기서 이 둘을 결합한다. 이 장은 장부란 무엇이고 왜 장부에는 언제나 신뢰받는 관리자가 필요했는지를 정의하고, 블록들을 해시로 사슬처럼 엮으면 평범한 목록이 어떻게 변조가 드러나는(tamper-evident) 기록으로 바뀌는지 보여 주며, 이 아이디어의 기록된 선례를 하버와 스토네타(1991)의 암호학적 타임스탬프 연구까지 거슬러 추적하고, 결정적으로 '자료구조'(블록체인)와 '시스템'(네트워크가 유지하는 분산원장, distributed ledger)을 구별한다. 진짜 혁신이 자리한 곳이 바로 그 구별이며, 이 구별은 12장 — 비트코인이 이 모든 장치를 실제로 굴러가게 만드는 장 — 을 준비한다.
친구 3명이 구독하면 이 장이 여기서 열립니다.
내 초대 링크
쉽게 말해
일상에서 중요한 장부는 거의 전부 하나의 신뢰받는 기관이 관리한다. 당신의 잔액이 '진짜' 얼마인지는 은행이 정한다. 그 집의 '진짜' 주인이 누구인지는 국가의 등기부가 정한다. 우리는 전국의 등기부등본을 저마다 공식 사본으로 갖고 있지 않다. 관리자가 하나뿐인 진본을 정직하게 지켜 주리라고 믿을 뿐이다.
누구의 것도 아닌 장부를 만드는 일은 주로 저장의 문제가 아니라 '합의'의 문제다. 어려운 대목은, 일부는 정직하지 않고 네트워크 자체도 미덥지 않은 조건에서, 수천 명의 낯선 이들의 컴퓨터가 하나의 사건 역사에, 하나의 순서로 합의하게 만드는 것이다.
쪽 번호가 매겨진 봉인 일기장을 상상하자. 모든 쪽에 차례로 번호가 붙어 있고, 새 쪽을 펼치면 무엇을 적기 전에 먼저 '직전 쪽 전체' — 그 쪽에 담긴 모든 단어 — 의 지문을 맨 위에 옮겨 적는다. 그러면 50쪽은 49쪽에 무엇이 적혀 있었는지 정확히 '알고', 49쪽은 다시 48쪽을 알며, 그렇게 1쪽까지 거슬러 이어진다. 쪽들은 그저 순서대로 쌓여 있는 것이 아니다. 저마다 앞 쪽에 암호학적으로 결박되어 있다.
봉인 일기장의 한 쪽만 조용히 고칠 수는 없다. 뒤에 오는 모든 쪽의 지문이 그 쪽에 의존하므로, 옛 기입 하나를 고치는 순간 사슬은 그 지점에서 끊기고, 거기서부터 끝까지 모든 쪽을 위조해야 한다. 뒤집어 말하면, '가장 최근' 쪽의 지문 하나만 믿을 수 있다면 그 뒤에 놓인 역사 전체의 무결성을 검증할 수 있다. 한 번의 확인이 그 앞의 모든 것을 보증한다.
하버와 스토네타의 1991년 설계는 비트코인보다 17년 앞서 기술된, 바로 그 쪽 번호 매겨진 봉인 일기장이다. 기입 하나하나가 해시로 앞선 기입들에 꿰매어져 있어, 역사 전체의 '순서'와 '무결성'이 잠긴다. 그들의 동기는 무언가가 언제 일어났는지를 증명하는 것이었지만, 그러기 위해 발명한 구조는 누가 봐도 블록체인이다.
'블록체인'은 일종의 자료구조(data structure)다. 기록을 배열하는 특정한 방식, 곧 방금 기술한 해시로 연결된 블록들의 사슬이다. '분산원장'(distributed ledger)은 일종의 시스템이다. 그런 기록의 사본을 저마다 보관하고, 그 내용에 합의하기 위해 공동의 규칙을 따르는 컴퓨터들의 네트워크다. 앞엣것은 하드디스크 위의 물건이고, 뒤엣것은 수많은 기계와 그것을 돌리는 사람들로 이루어진 살아 있는 짜임이다. 둘의 관계는 '책의 제본'(어느 쪽도 몰래 끼워 넣거나 뜯어낼 수 없도록 쪽들을 묶는 구조)과 '도서관 시스템'(수많은 분관에 동일한 사본들을 맞춰 두는 기관과 직원과 절차)의 관계와 같다.
마법은 블록들의 사슬에 있지 않다. 그 사슬의 동일한 사본을 낯선 이들의 무리에게 나눠 주고, 매번의 추가에 합의하는 규칙을 쥐여 주는 데 있다. 그러면 그들 중 누구도 — 그리고 어떤 소수 집단도 — 과거를 조용히 바꿀 수 없다. 블록체인은 장부의 '형식'이고, 분산 네트워크와 그 합의 규칙이야말로 장부가 '신뢰받는 관리자 없이' 굴러가게 해 주는 것이다.
이미 전원을 알고 검증까지 마친 사람들만 앉는 회원제 장부는 굴리기 쉽다. 생판 낯선 사람까지 들이는 공개 장부는, 한 사람이 백만 명 행세하는 것을 막기 위해 훨씬 더 열심히 — 그리고 훨씬 더 많은 에너지나 자본을 들여 — 일해야 한다. 비트코인의 비용과 복잡성의 상당 부분은, 허가형 시스템이라면 정의(定義)상 사라져 버리는 문제를 풀기 위해 존재한다.
'대안들보다 느리고, 비싸고, 고치기 어렵고, 수천 배 중복된 데이터베이스를 대체 누가 원하는가?' 정직한 답은 이렇다. 원할 이유가 없다 — 어느 단일 당사자도 통제하지 않고 어느 참여자도 몰래 다시 쓸 수 없는 공유 기록이 '특별히' 필요한 경우가 아니라면. 블록체인은 효율을 내주고 신뢰받는 관리자의 제거를 산다. 신뢰받는 관리자를 구할 수 있고, 값싸고, 받아들일 만한 곳에서는 보통의 데이터베이스가 더 나은 도구다. 블록체인이 제값을 하는 곳은 관리자 자체가 문제인 곳뿐이다.
이 장에서 다루는 내용
- 장부란 무엇이며, 왜 언제나 관리자가 필요했는가
- 공유 장부는 왜 어려운가: 이중지불 문제
- 해시에서 해시 포인터로: 쪽 번호가 매겨진 봉인 일기장
- 사슬 구조가 어떻게 불변성을 만드는가
- 기록으로 남은 선례: 암호학적 타임스탬프(하버와 스토네타, 1991)
- 블록체인 대 분산원장: 구조 대 시스템
- 비허가형 장부와 허가형 장부
- 트레이드오프: 느리고 중복투성이인 데이터베이스를 대체 왜 원하는가
- 종합
이 장에서 설명하는 용어
전체 내용은 책에 실려 있습니다.
전체 책 구매8장을 무료로 받아 보세요
구독하면 암호학을 다룬 8장이 이 사이트에서 열립니다. 친구를 초대하면 제3부의 나머지 장도 열립니다.
확인 메일 한 통에 이어 7일간의 무료 이메일 강좌 '쉽게 말해, 웹3'를 보내 드리고, 가끔 책 소식을 전합니다. 언제든 구독을 해지할 수 있습니다.