현재의 금융거래 시스템에서는 금융 당국이 A와 B사이의 거래가 이루어졌다는 원장을 관리하고 보증합니다. 이를 중앙화 된 거래 시스템이라고 하지요. 그러나 탈중앙화를 목표로 하는 비트코인은 거래를 100% 신뢰해주는 보증기관을 찾기가 불가능합니다. 이 문제를 해결하기 위해 도입된 시스템이 블록체인의 분산 원장입니다.
혹시 글을 읽다가 이해가 되지 않으시거나 비트코인의 태생적 문제가 무엇인지 알고 싶다면 글 최하단의 링크를 통해 전편의 글을 읽어주세요. 수월하게 오늘의 글을 읽으실 수 있습니다.
블록체인 기술을 통해 분산 원장을 관리하는 방법
아이디어는 단순합니다. 10명의 참여자가 시스템 내에 존재할 때, A와 B가 거래를 하면 거래의 내역을 다른 참여자인 C~J 모두에게 알려주는 것이지요. A가 B에게 돈을 주었음에도 B가 나는 돈을 받은 적이 없다고 이야기하면 C~J가 대신해서 거래 내역을 보증하게 됩니다.
C부터 J까지 모두 거짓말을 하면 어쩌나 싶기는 하지만, 시스템 내의 인원이 10명이 아니라 1억 명이라 생각하면 어떨까요. B가 일일이 찾아다니면서 A에게 돈을 받은 적이 없다고 거짓말을 해달라고 하기도 어렵습니다.
하지만 문제는 여전히 남아있습니다. A가 B에게 돈 10,000원(원본)을 주었음에도 이는 단순한 데이터 조각이기 때문에, A가 C에게 데이터를 복사하여 또다시 결제를 할 수도 있습니다. 이를 이중 지불이라 합니다. C입장에서는 돈을 받기 전 이 데이터가 복사본이 아닌 원본인지 확인을 위해 일일이 거래 원장을 찾아보는 것은 매우 비효율적입니다.
즉, 거래 내역의 분산은 다수의 사람이 거래를 보증하는 역할은 할 수 있으나, 분산된 원장을 통해 거래의 선행을 확인하기는 어렵다는 것이지요. 다른 참여자들의 원장을 확인하지 않아도 알 수 있는 시스템이 필요해집니다.
그렇기에 타임스탬프라는 개념이 도입됩니다.
Time과 Stamp를 합친 단어로, 우리나라말로 하면 (거래) 시간 도장입니다. 이 역시 아이디어는 간단합니다. 거래가 이루어지면 도장을 하나씩 찍어주는 것이지요. 이렇게 되면 선행된 거래에는 다음 거래 내역이 기록되지 않는 반면, 후행 거래 내역에는 선행 거래 내역이 보이니 내 앞에 거래가 있었다는 것을 확인할 수 있습니다.
그런데 조금 고민해볼 문제가 생깁니다. 선행과 후행이라는 개념은 결국 어떤 시간을 기준으로 앞과 뒤가 존재한다는 것입니다. 일상생활을 지내는 우리에게는 무슨 문제가 될까 싶지만, 생각보다 중요한 문제입니다.
첫 번째, 어떤 시간을 기준으로 하는가입니다. 누군가 중앙에서 거래 시간을 기록하는 사람이 없기 때문에 사람마다 사용하는 시간 체계가 다르면 문제가 생깁니다. 컴퓨터에 나오는 시간을 기준으로 하자고 하면 컴퓨터 시간을 바꿔버리면 그만입니다.
두 번째, 중앙화 된 하나의 시간을 정할 수가 없습니다. 처음으로 돌아가 비트코인의 태생을 생각해봐야 합니다. 중앙집권화를 탈피하여 분산된 시스템으로 운영되어야 하는데 중앙 집권화된 어떠한 시간 체계를 만들어두면 이를 완벽한 분산화된 시스템이라고 보기 어렵겠지요. 만일 비트코인 거래용 타임 서버를 만들더라도 시스템이 외부 공격으로 다운되어버리면 비트코인은 그 상태로 모든 거래가 정지됩니다.
그래서, 타임스탬프는 과감한 결정을 합니다. 거래에서 시간이라는 개념을 배재해버리고 사건의 논리성만을 갖고 거래의 선후관계를 따지기로 합니다. A가 B에게 100원을 보내고 B가 C에게 100원을 보냈을 때, B가 D에게 500원을 보내려고 하면, D는 앞선 거래 내역을 통해 지금 거래가 정상적인 거래인지, 비정상적인 거래인지 논리적으로 확인이 가능하다는 것입니다.
이제 블록체인을 이용한 비트코인 시스템의 체계가 잡혀갑니다.
시스템 내의 참가자들끼리 거래 내역을 공유하고 상호 간 보증하여 거래 신뢰를 높입니다. 거래의 순서는 중앙화 된 시스템이 보증하는 시간에 의존하지 않고, 논리적인 선후 관계를 따져 거래 내역의 신뢰성을 확보해 갑니다. 그럴싸 하지요.
그러나... 그럼에도 문제는 끝나지 않았습니다. 만약 누군가가 악의적으로 타임스탬프를 공격하여 거래 선후 관계를 뒤바꿔버리면 어떻게 할 건데?라는 질문이지요. 당연한 의문점입니다.
그렇기에 타임스탬프가 위조되는 것을 막기 위해 암호화를 결정합니다. 드디어 암호라는 단어가 나왔네요. 오늘부로 왜 비트코인이 암호화폐(Crypto Currency)인지 이해할 수 있게 되었습니다. 다음 글에서는 어떠한 방식으로 암호화를 하는지에 대해 적어보도록 하겠습니다.
함께 읽으면 좋은 글 : 탈중앙화 암호 화폐의 태생적 문제
탈중앙화 암호 화폐의 문제. 거래 보증, 복사결제(이중 지불)
비트코인은 중앙화 된 화폐 시스템을 벗어나고자 만들어진 암호 화폐입니다. 그런데 도대체 어떠한 방식으로 탈중앙화를 한다는 것인지 이해가 되지 않을 수 있습니다. 누군가는 거래를 보증해
lljjww.tistory.com
비트코인 산업을 이해하고 투자에 작은 도움이 되었으면 합니다.
댓글