brunch

You can make anything
by writing

C.S.Lewis

by KoSAC Aug 02. 2019

인간이 만든 세계, 블록체인

 2008년 말 발표된 백서의 제목을 보면 비트코인은 분명 전자화폐 시스템이다.주1)  비트코인은 종래의 디지털 화폐 또는 전자적 지불 수단들의 취약점인 이중 지불 문제를 해결하기 위한 목적으로 만들어진 것이었다.주2)  사실상 어떻게 이중 지불 방지할 것이냐가 모든 블록체인 시스템에 있어 가장 핵심적인 목표이자 기술의 중심이다. 그러나 블록체인이 그 문제를 풀어낸 방식은 블록체인이 단순히 새로운 형태의 전자화폐를 이 세상에 선보이는 데 그치지 않고, 이제까지 우리가 가졌던 인터넷에 대한 상식, 정보가 유통되는 방식, 나아가 공동체가 운영되는 방식에 관한 혁명을 초래하였다. 그 혁명으로 인해 이제 우리 인간은 삶의 무대가 확장되었을 뿐만 아니라 우리 스스로의 힘으로 완전히 새로운 세계를 만들어낸 것이다.



이중 지불 문제


 실물 화폐의 경우에는, 원 소유자가 다른 사람에게 화폐를 넘겨주는 순간 실물이 이동하므로 이중 지불이 발생하지 않는다. 예를 들어, A, B, C라는 세 사람이 있을 때, A가 갖고 있는 돈을 B에게 모두 주고 나면, C에게는 아무것도 줄 수 없다.


 그러나 디지털 화폐는 이중 지불의 문제가 발생할 수 있다. 그 이유는 디지털 화폐를 구성하는 재료에 해당하는 디지털 파일은 무한 복제가 가능하기 때문이다.주3)  또 다른 의미에서는 디지털 화폐는 실재하지 않으면서 실재하는 것으로 간주되는 그 무엇이기 때문이다. 사실상 디지털 화폐는 존재하지 않는 것이며 그것의 실체는 오직 디지털 장부의 기록으로만 보증될 수 있는 것이다. 따라서 디지털 화폐의 이중 지불 문제를 해결하는 방법은 디지털 파일의 복제 가능성을 통제하여 오직 하나의 장부만을 사용해야 하며 해당 장부의 기록이 조작과 오류 없이 오직 사실만을 기록해야만 한다. 오직 하나의 믿을 수 있는 디지털 장부는 그것을 기록하고 관리하는 사람 또는 조직에 대한 신뢰가 필요하다. 현대사회의 경제 시스템에서 많은 사람들이 그나마 신뢰할 만한 사람 또는 조직은 (부패하지 않은 정부의) 공공기관이나 신뢰 자체가 실존의 기반이 되는 금융회사이다. 이리하여 디지털 화폐 시스템은 중앙에 제삼의 신뢰 기관에 의해 보증되고 운영될 수밖에 없었다.


 문제는 이런 방식은 사실상 독과점일 수밖에 없기 때문에 시장에 대한 지배력이 소수에게 집중되고 높은 수수료가 발생하는 등 사회적 비용이 불가피해졌다. 하지만 그럼에도 불구하고 이중 지불의 문제는 근본적으로 해결된 것이 아니다. 신뢰 기관이 갖고 있는 디지털 장부는 금융 사기꾼과 범죄 집단의 최대의 공격 목표가 되었고 실제로 그들의 범죄가 성공하는 경우 수많은 사람들에게 적지 않은 피해를 주었다.



이중 지불 문제에 대한 비트코인의 해법


 백서에 밝히고 있는 바와 같이, 비트코인의 가장 중요한 목표는 이러한 디지털 화폐의 이중 지불 문제를 근본적으로 해결하는 것이었다. 사토시 나카모토가 제시한 해법은 바로 P2P 네트워크를 이용하여 누구나 객관적으로 신뢰할 수 있는 디지털 장부를 만드는 것에서 시작한다. 아니 그것이 전부다. P2P 네트워크를 이용한다는 말은 별도의 제삼자 신뢰 기관이 없다는 말이다. 정확하게는 이중 지불 문제 해결을 위해 더 이상 '신뢰'를 필요로 하지 않는다는 의미이다.


어떻게 그것이 가능할까?


 첫째, 디지털 화폐의 이중 지불 문제의 원인이었던 디지털 파일의 복제 가능성을 오히려 문제 해결을 위한 수단으로 삼은 것이다. 비트코인은 신뢰할 수 있는 단 하나의 장부를 유지하기 위해 네트워크를 통제하지 않고, 누구나 제한 없이 복제할 수 있지만 모두 동일한 내용을 가진 수많은 장부들을 네트워크에 분산 킴으로써 마치 단 하나의 장부만 존재하는 것과 같은 효과를 달성하였다. 다른 장부들과 내용이 다른 장부가 발견되는 즉시 잘못된 장부로 인식되고 자동으로 다른 장부와 동일한 내용으로 교체된다. 이로써 특정인에 대한 신뢰가 필요 없게 되었다.


 둘째, 회계에서 사용하는 원장의 기재 방식을 응용한 것이다. 지불자가 원래 갖고 있던 금액을 수입(입력), 수취자에게 송금한 금액과 잔액(지불자가 자기 자신을 수취자로 하여 송금한 것으로 표현)을 지출(출력)로 구분하여 기록한다. 특정 정상적인 송금이라면 그 거래에 포함된 수입의 합계와 지출의 합계가 같아야 한다. 즉, A라는 사람이 갖고 있던 100원을 꺼내서 B라는 사람의 계정에 40원을 넣어주고 남은 60원을 다시 A의 지갑에 넣는다. 최초 100원을 수입으로 40원과 60원을 지출로 보면 수입의 합계와 지출의 합계가 같다. 어떤 사람이 현재 보유한 금액은 모든 거래 기록들 중에서 그 사람이 수취자로 되어 있는 지출(출력) 부분만 모아 보면 알 수 있다. 이것을 좀 더 효율적으로 하기 위해서 실제로는 그러한 출력들 중에서 아직 다른 거래의 입력으로 사용되지(참조되지) 않은 것들만 찾으면 된다.주4)  웬만한 전문성과 집중력이 없으면 발각되지 않게 회계장부를 조작하는 것이 얼마나 어려운지 아는 사람이라면 이 단순해 보이는 해법이 얼마나 효과적인 것인지 이해할 수 있을 것이다. 블록체인을 다른 말로 분산 원장(distributed ledger)라고 부르는 이유는 이렇게 회계 장부(원장)를 기록하는 방식으로 기록을 처리하기 때문이다. 이로써 이중 지불 문제 해결의 실마리가 마련되었다.


 셋째, 아무도 장부에 기록된 내용을 변경할 수 없도록 만드는 것이다. 위 설명에서처럼 어떤 사람이 현재 얼마를 가지고 있는지는 이전 거래들에서 그 사람이 받은 금액의 합계라면, 이전 기록을 조작하여 갖고 있는 액수를 부풀림으로써 이중 지불이 가능해진다. 단순한 해결 방법은 장부의 새로운 페이지를 쓸 때마다 바로 앞 페이지의 사진을 찍어 새 페이지 어딘가에 붙여 놓는 것이다. 누군가가 앞 장의 내용을 바꾸면 바로 뒷 장에 붙어 있는 내용과 차이가 나서 그 사실이 발각될 것이다. 하지만 앞 페이지의 사진을 찍어 붙이는 방법은 비용이 많이 들며 비교하기도 어렵다. 만약 원자 하나까지 정확하고 신속하게 측정할 수 있는 저울이 있다면, 앞 페이지의 질량을 측정해서 다음 페이지에 기록하는 방법을 쓸 수 있을 것이다. 앞 페이지에서 글자 하나만 바꿔도 새로 측정한 질량이 다음 페이지에 기록된 질량과 달라져서 변경 여부를 즉각 파악할 수 있다. 비트코인에서 사용하는 해쉬 함수는 바로 그런 상상의 저울에 해당한다. 아무리 내용이 방대하더라도 해쉬 함수는 순식간에 그 내용에 대응하는 짧은 문자열을 만들어 내며, 내용이 조금만 달라져도 완전히 다른 문자열을 만들어내는 특성이 있다. 우리가 비트코인을 블록체인이라 부르는 이유는 장부의 각 페이지에 해당하는 블록들이 해쉬값을 이용하여 서로 연결되어 있기 때문이다. 이렇게 하여 변경 불가능한(immutable) 디지털 장부를 만듦으로써 이중 지불 문제가 완벽하게 해결되었다.



제네시스


 비트코인을 포함하여 그 영향을 받은 대다수 퍼블릭 블록체인을 트러스트리스(trustless) 네트워크라고 부른다. 여기에서 트러스트리스 네트워크의 의미는, 네트워크를 구성하는 여러 노드 중에 어떤 것이 선량하고 어떤 것이 악의적인 노드인지 알지 못하고 어떤 노드라도 악의적으로 행동할 수 있는 가능성 때문에 '신뢰할 수 없다'는 의미라기보다는 네트워크의 정상적인 작동을 위해 노드들에 대한 '신뢰를 필요로 하지 않는다'는 의미이다. 마치 우리가 그것을 믿든 안 믿든 이 우주에 존재하는 수많은 사물들처럼, 누군가의 신뢰에 의존하지 않고도 객관적인 사실들이 존재하는 공간이 만들어졌다. 인간이 살고 있는 이 물질로 이루어진 객관적인 사실들의 집합을 우주라고 부르는데, 그렇다면 이 새로 만들어진 공간, 즉 디지털 데이터로 표현되는 객관적인 사실들의 집합을 인간에 의해 만들어진 디지털 우주라고 부를 수 있지 않을까?


 기껏해야 이중 지불 문제가 없는 디지털 화폐 하나 만든 것 가지고 우주를 운운한다면 너무 요란한 호들갑을 떤다고 생각할 수도 있다. 하지만 블록체인은 단지 디지털 화폐에서 그치는 것이 아니다. 기본적으로 블록체인의 거래는 화폐의 이동을 표현하고 있지만 실제로 그것이 담을 수 있는 내용에는 제약이 없다. 인간의 언어로 표현할 수 있는 것뿐만 아니라 그림이나 소리와 같이 디지털 데이터로 표현할 수 있는 모든 것이 거래라는 형식으로 포함될 수 있다. 다시 말해 블록체인에는 우리가 감각하고 인식할 수 있는 모든 것과 우리의 상상에 의해 만들어지는 모든 추상적인 것이 담길 수 있는 것이다. 어차피 우리의 무대가 되는 세계는 우리가 감각하고 인식하고 상상할 수 있는 범위로 한정될 수밖에 없으므로 블록체인으로 구현되는 디지털 우주를 결코 작다고 볼 수는 없을 것이다.


 그러나 이 디지털 우주의 빅뱅이 점화되려면 한 가지가 더 필요하다. 그 우주를 떠받쳐 주기 위해서는 현실 세계로부터 수많은 컴퓨터와 그것을 유지하기 위한 자원들이 동원되어야 한다. 누가 이 우주를 만들어내고 유지하기 위해 자신의 자원을 기꺼이 제공할 것인가? 문제는 그런 선의를 가진 사람들이 아주 많이 필요하다는 점이다. 그러나 우주가 존재하는 데에는 신뢰도 선의도 필요 없어야 한다. 비트코인은 새로운 블록을 생성하고 거래를 처리해 주는 네트워크 노드들에 대한 보상을 약속하였다. 그러자 빅뱅이 일어났다. 인간에 의한 세계 창조, 즉 제네시스가 이루어졌다.

 

 아직 창조의 과정은 마무리되지 않았다. 이 세계에는 여전히 탄생 직후의 뜨거운 열기와 혼돈만이 가득하다. 하지만 곧 열기와 혼돈이 가라앉고 하늘과 땅과 바다가 제자리를 찾게 될 것이다. 이제 우리는 창조의 다음 단계로 넘어가야 한다. 그러려면 우리는 스스로에게 다음과 같이 질문해 보아야 한다. 우리는 이 세계를 무엇으로 채울 것인가? 어떻게 하면 이 세계가 우리가 보기에 좋은 세계가 될 수 있을 것인가?




주1) Satoshi Nakamotom, 'Bitcoin: A Peer-to-Peer Electronic Cash System'. 

https://bitcoin.org/bitcoin.pdf

주2) 같은 논문.

주3) Usman W. Chohan, 'The Double Spending Problem and Cryptocurrencies'. Banking & Insurance Journal. Social Science Research Network (SSRN). Accessed 24 December 2017. "Double-spending is a potential flaw in a digital cash scheme in which the same single digital token can be spent more than once. Unlike physical cash, a digital token consists of a digital file that can be duplicated or falsified."

주4) 비트코인에서 이렇게 아직 다른 거래의 입력에 사용되지 않은 거래의 출력을 UTXO(Unspent Transaction Output)이라 부른다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari