과거를 박제하는 수학적 사슬

3. 타임스탬프 서버

by NT
"Each timestamp includes the previous timestamp in its hash, forming a chain, with each additional timestamp reinforcing the ones before it."
(각 타임스탬프는 자신의 해시 안에 이전 타임스탬프를 포함하여 사슬을 형성한다. 새로 추가되는 타임스탬프는 그 앞의 것들을 더욱 강력하게 보강한다.)

- Satoshi Nakamoto, Bitcoin Whitepaper Section 3



디지털 세상에는 치명적인 결함이 있다. 바로 '순서'가 모호하다는 것이다.


현실의 나무를 보자. 나무는 매년 껍질이 자라며 '나이테'를 만든다. 안쪽의 나이테가 먼저 생겼고, 바깥쪽이 나중에 생겼다는 것은 절대적인 자연의 법칙이다. 누구도 나무를 죽이지 않고서는 10년 전의 나이테만 쏙 빼내어 고칠 수 없다.


디지털 세상은 다르다. 그곳은 마치 쓰고 지울 수 있는 화이트보드와 같다. 10분 전에 쓴 글씨를 지우개로 쓱 지우고 다시 써도 아무도 모른다. 흔적이 남지 않기 때문이다.


돈의 세계에서 '흔적 없이 지우는 능력'은 재앙이다. 철수가 영희에게 1비트코인을 보냈다가 마음이 바뀌어 지우개로 쓱 지우고 안 보낸 척한다면?


이것이 바로 중앙은행(감시자) 없이는 해결할 수 없었던 난제, 이중 지불(Double Spending) 문제다.


사토시 나카모토는 백서 3장에서 이 문제를 해결하기 위해 '타임스탬프 서버'를 제안한다. 이것은 디지털 세상에 지워지지 않는 나이테를 심는 기술이다.


여기서 사토시가 설계한 타임스탬프는 우리가 흔히 아는 '도장 쾅' 정도가 아니다. 그는 '해시(Hash)'라는 암호학적 도구를 이용해 과거와 현재를 쇠사슬처럼 묶어버렸다.


이 과정을 조금 더 깊이, 현미경을 대고 들여다보자. 백서의 이 대목은 정말 소름 돋도록 정교하다.


1. 정보를 갈아서 지문을 만든다(Hashing)


사토시는 블록(장부 한 페이지)에 담긴 모든 거래 내역을 SHA-256이라는 수학 함수에 집어넣는다. 이 함수는 일종의 믹서기다. 어떤 데이터를 넣든 갈아버려서 64자리의 문자열로 만든다. 이것이 그 블록의 지문(Hash)이다.


이 믹서기의 특징은 잔인할 정도로 예민하다는 것이다. 수만 건의 거래 내역 중 점 하나, 숫자 1만 바뀌어도, 결과물인 지문은 완전히 다른 모양으로 변해버린다.


2. 앞 페이지의 지문을 뒷페이지에 심는다(Chaining)


이게 핵심이다. 사토시는 두 번째 블록을 만들 때, 그 재료 안에 '첫 번째 블록의 지문'을 슬쩍 집어넣었다.


자, 이제 어떤 일이 벌어질까? 만약 해커가 1년 전의 거래(블록 100번)를 0.1이라도 조작하고 싶다면?

블록 100번의 내용이 바뀌었으므로, 블록 100번의 지문(Hash)이 바뀐다.

블록 100번의 지문을 재료로 쓰고 있던 블록 101번의 내용이 바뀐 셈이 되므로, 블록 101번의 지문도 바뀐다.

블록 101번을 품고 있던 블록 102번의 지문도 바뀐다.


이것이 쇄도 효과(Avalanche Effect)다. 과거의 아주 작은 티끌 하나를 건드리는 순간, 그 뒤에 연결된 모든 미래의 블록들이 와르르 무너져 내리며 "조작되었다!"고 비명을 지르게 되는 구조다.


은행 데이터베이스는 '수정(Update)'이 가능하다. 관리자 권한만 있으면 엑셀 파일 고치듯 숫자를 바꿀 수 있다. 그러나 사토시가 만든 이 타임스탬프 체인 안에서는 수정이 불가능하다. 과거를 수정하려면 그 시점부터 현재까지 쌓인 모든 블록을 다시 계산해서(채굴해서) 끼워 넣어야 한다.


사토시는 백서에서 이렇게 적었다.

"...reinforcing the ones before it."
(...그 앞의 것들을 더욱 강력하게 보강한다.)

이 문장의 의미는 심오하다. 시간이 흐를수록, 즉 뒤에 블록이 많이 쌓일수록 과거의 기록은 더 안전해진다.

콘크리트를 계속 덧바르는 것과 같다. 어제의 거래보다 10년 전의 거래를 조작하는 것이 훨씬 더 어렵다(사실상 불가능하다). 이것은 '오래된 것일수록 검증하기 어렵다'는 아날로그 세상의 상식을 뒤집는다.


우리집 거실 한쪽 구석에서 조용히 돌아가는 앰브렐 노드(비트코인 노드다)를 볼 때마다 경외감을 느낀다. 이 작은 기계는 10분에 한 번씩 전 세계에서 날아온 새로운 블록을 받아서 검증한다. 그 검증이란 단순히 잔고 계산을 하는 게 아니다.


"이 블록이 정말 앞 블록의 지문을 품고 있는가?", "이 사슬이 2009년 사토시가 만든 첫 번째 블록(Genesis Block)까지, 단 한 번의 끊어짐이나 조작 없이 수학적으로 연결되어 있는가?"를 직접 확인하는 일이다.


내 노드는 이 엄격한 인과율을 확인하고 나서야 비로소 "그래, 이것은 진짜 역사다"라고 승인한다.




조지 오웰의 소설 <1984>에서 독재자는 "과거를 지배하는 자가 미래를 지배한다"며 역사책을 끊임없이 수정한다. 중앙 권력은 마음만 먹으면 데이터베이스의 로그를 지우거나 조작할 수 있다.


사토시가 발명한 이 타임스탬프 서버 안에서는 그 누구도, 심지어 개발자 자신도 과거를 수정할 수 없다. 한번 찍힌 해시는 영원히 그 자리에 박제되는 것이다.


사토시는 디지털 세상에 단순히 시계를 단 게 아니다. 디지털 세상에는 존재하지 않았던 비가역성(Irreversibility)을 주입한 것이다.


백서 3장은 건조한 공학 용어로 쓰여 있지만, 그 행간에는 무시무시한 선언이 담겨 있다.


"수학적 증명(Proof) 없이는, 그 어떤 과거도 신뢰하지 않겠다."라는.




매거진의 이전글중개인을 해고한다