인간의 욕심이 만든 비트코인

비트코인의 시작, 사토시의 독백

by매드본

2009년 어느 날, 비토코인의 아버지 사토시의 고백.


나는 오래전부터 디지털 세계에서 보이는 화폐의 모순에 주목해왔다.


인터넷이 개발되면서 세상의 거의 모든 것이 디지털화되고 있다.

정보는 이메일로 주고받고 음악은 mp3로 들리고
문서는 PDF로 읽혔고 인간의 소통마저 온라인 채팅으로 옮겨가고 있다.


그런데 이상하게도 <돈>만은 여전히 중앙 서버 안에 갇혀 있었다.


인터넷은 국경 없이 연결되었지만
돈은 여전히 국가와 은행의 허가가 필요했다.

온라인에서 누군가에게 파일을 보내는 것은 즉시 가능했지만
돈을 보내기 위해선 여전히 국가와 금융기관의 승인을 거쳐야 했다.


나는 여기서 하나의 질문이 생겼다.


왜 인터넷 자체의 돈은 왜 존재하지 않을까?

즉, <디지털 돈>을 내가 만든다면 어떤 일이 벌어질까?



2009년,

온라인 공간에서 모든 것이 무한 복사가 가능해졌다.

문서, 음악, 이미지, 데이터 그 무엇이든

클릭 하나로 동일한 사본이 무수히 생성된다.


이런식으로 돈이 디지털화 된다는 것은

무한히 복사될 수 있다는 것을 뜻하기도 하다.

하지만 이것은 화폐의 중요한 요소인

희소성을 유지할 수 없기 때문에 문제가 된다.

돈이 복사된다면

같은 돈을 두 번 쓰는 것을

어떻게 방지할 것인지 부터 해결해야 한다.


바로 <이중 지불(Double Spending) 문제>이다.


전통 금융은 이를

중앙 장부에 기록함으로써 해결했는데

모든 거래를 은행이 일일히 기록하는 것이다.

예를들어 A가 100원을 B에게 보내면

은행은 A 계좌액에서 100원을 차감하고 B 계좌액을 100원 증가시킨다.

그리고 A가 그 100원을 인출하려 하면 거부한다.

즉, 은행이 장부를 독점적으로 관리하는 것이다.


은행이 자신의 장부에

A의 100원이 더이상 없다고

기록하기만 하면 되는 것이다.

이 방식은 거래의 진실을 판단하기 위해

은행에게 의존해야만 한다.

이중지불 해결의 대가로 우리는

중앙 기관에 의존하게 되는 것이다.


장부가 무조건 올바를 것이라고

거래를 임의로 막지 않을 것이라고

통화를 과도하게 발행하지 않을 것이라고

정치와 권력으로부터 독립적일 것이라고

그렇게 중앙기관에 대한 믿음 안에서 이 시스템이 굴러간다.

아니, 그렇게 믿어야만 하는 것인지도 모른다.


하지만 내 생각은 다르다.

은행이 기록하면 존재 /은행이 삭제하면 사라짐/ 은행이 막으면 전송 불가

라는 이 구조는

인터넷 시대의 분명한 문제이다.


인터넷 철학과 충돌하기 때문이다.

인터넷은 중앙 서버가 없어도 유지된다.

그런데 화폐는 반드시 중앙기관이 있어야만 유지된다.


정보는 날라다니는데
돈의 가치는 허가가 있어야만 한다는게

이해하기 힘들다.

여기서 나는 질문이 들었다.



장부 관리자 없이도 모두가 그 거래 기록을 보고 동의한다면

저절로 합의가 되지 않을까?



현실적으로 이것은 매우 어려운 문제였다.

화폐의 기능을 하려면 적어도

그 화폐를 만들고 유지하기 위한

비용이 필요하기 때문이다.

(국가가 화폐를 인증하는 것 자체도 비용이다.)


아무 비용 없이도 누구나 장부에

'내 돈은 얼마'라고 수정할 수 있다면
시스템은 조작으로 무너질 것이다.

그래서 나는 장부를 수정하려면

현실적인 '비용'이 들게 만들고자 했다.


'전자 화폐' 자체를 만들기 위한

비용은 존재하기 힘들기 때문에


화폐 장부를 '조작하기 힘들도록'

하기 위한 비용이 필요하도록 한 것이다.



그 비용은 바로 연산(채굴)이다.



규칙은 이렇다.

비트코인의 새로운 거래를 기록하려면

새로운 장부가 계속 필요하다
하지만 새로운 장부를 만들려면

엄청나게 긴 비밀번호를 맞춰야만 한다.

이는 마치 복권 번호를 무한히 찍어보는 느낌이다.

예를 들면

123456 → 실패

928341 → 실패

555192 → 실패

000731 → 성공 → 새로운 장부를 쓸 사람으로 선정

이런 식으로 컴퓨터가 초당 수억 번 숫자를 바꿔가며 시도한 끝에

특정 조건을 만족하는 해시값을 찾았다면

새로운 장부에 거래기록과 보상 정보를 적을 수 있다

(마치 바둑에서 내 수가 돌아온것 처럼)

장부에는 다음을 기록한다 :

최근 거래들 (철수 → 영희 1BTC/ 민수 → 지영 0.5BTC..)

이전 블록 정보

자신이 찾은 정답값(nonce)

보상 지급 기록 (예를들어, 새로 생성된 3.125 BTC는 A 의 지갑 주소에 기록)

결과적으로 3.125 비트코인이 A에게 보상되었다.

이 보상이 없다면 아무도 새로운 장부를 생성하지 않을 것이고

비트코인이 유지되지 못한다.

그리고 이 결과를 전세계의 노드(node)가

지켜보고 기록이 맞는지 검증을 한다.

그 검증을 통과하면

노드 자신의 장부 사본에도 저 기록을 적는다.

*노드(node) : 바둑판의 수를 보고 그대로 표시하는 사람들과 같다


A의 컴퓨터가 일을 잘해서

A에게 기록된 비트코인은 이제 모두가 인정했다.


해시값을 찾기에 실패한 다른 컴퓨터들은

이번 정답은 포기하고

이제 다음 장부(block)를 기록하기 위해

모두가 다시 경쟁을 시작한다.


<읭? 왜지?>


의문을 가질 필요가 없다.

이 모든 것이 의도된 규칙이다.

게임의 룰이 있듯이

비트코인 생태계 안에서는

그래야만 하는 것이다.


현실 세계의 비용(전기·연산·시간)을

지불한 사람만 새로운 기록을

추가할 수 있도록 설계되었다.


그리고 모든 참여자는 그 규칙을 공유한다.




나는 사람들이 이익을 추구한다고 가정하고

시스템을 이렇게 설계했다.

누군가가 계산 경쟁에서 승리하면
그 보상으로 새로운 화폐를 받는다.


그러면 사람들은 돈을 벌기 위해 계산을 수행할 것이고

그 경쟁이 심해질 수록

기존 거래들을 검증하고 네트워크를 보호한다.


<욕심을 시스템 보안으로 전환한다.>

이것이 핵심이었다.


인터넷이 중앙 서버 하나 없이 유지될 수 있다면

돈 역시 그렇게 만들 수 있고

그렇게 되어야 하지 않을까?


누구의 통제도 없지만
모두가 동일한 기록에 합의하는 시스템.

참여에 허가가 필요 없는 시스템.


정부, 은행, 기업, 특정 개인도 아닌
수학과 코드 위에서 유지되는 시스템.


나는 인터넷이 정보를 자유롭게 만든 것처럼

돈의 가치 또한 인터넷 위를

흐를 수 있어야 한다고 생각한다.


그것이 내가 비트코인을 만든 이유이다.