비트코인은 어떻게 탈중앙화를 이루었을까
Last updated
Last updated
그럼 이제 본격적으로 비트코인의 탈중앙화에 대해서 알아보겠습니다.
암호 화폐에 관심있는 분이라면, 채굴(Mining)이란 말을 들어보셨을 겁니다. 채굴이란 금을 캐는 행위와 같이 코인을 발굴한다는 의미를 가집니다. 비트코인을 채굴에 성공하면 그만큼의 비트코인이 네트워크에서 새롭게 발행되고 채굴자는 보상으로 발행된 비트코인을 받아갈 수 있습니다. 채굴로 돈(코인)을 벌 수 있는 건 알겠는데, 왜 이런 채굴이라는 행위가 필요할까요? 없으면 안되는 것일까요?
앞에서 탈중앙화 시스템에서는 참여자들이 자유롭게 참여하고 기여함으로써 역할을 한다고 했는데, 아무런 대가도 없이 사람들이 이런 일에 참여해야할 이유가 있을까요? 사람들이 참여하도록 유도할만한 '보상 메커니즘'이 있으면, 또 보상으로 받은 무엇인가가 앞으로 더 가치가 있어진다면 사람들이 자발적으로 참여하지 않을까요?
이런 점에서 참여자들이 구성한 네트워크 위에서 보상을 통해 운영 및 유지가 되도록 하기 위한 메커니즘이 필요합니다. 하지만 보상 자체를 기존의 누군가가 자금을 들여서 나눠줄 수가 없기 때문에, 화폐 발행이라는 개념을 적용하였습니다. 시간이 지날 수록 발급량을 조절하여 희소성을 부과하고, 더 큰 생태계의 확장으로 발전하도록 유도하는 것이 비트코인의 채굴입니다. 요약하면, 채굴은 '네트워크 구성원에 대한 보상으로 참여 동기를 제공하는 것이다"라고 볼 수 있겠네요.
비트코인에 적용된 채굴의 기본적인 작동 방식은 '네트워크에 기여한 연산량 만큼 보상을 준다'입니다. 채굴의 동작 방식을 알아보면, 컴퓨터가 계산하기에 굉장히 오래걸리는 문제를 참여자들이 공통적으로 풀기 시작합니다. 가장 먼저 문제를 해결한 참여자는 이를 네트워크에 알려서 자신이 가장 먼저 문제를 풀었음을 알리죠. 그러면 다른 참여자들은 다시 새로운 문제를 푸는 것에 도전을 합니다. 문제를 풀 때마다 블록이 생성되고, 화폐가 발행되고, 그동안 발생했던 거래들이 최종적으로 결정됩니다.
왜 컴퓨터를 계산에 이용해서 오래걸리는 문제를 풀도록 할까요? 이 답은 블록체인의 구조와 연관되어 있습니다. "채굴에 성공 = 블록을 생성 = 새로운 화폐 발행"은 모두 동일한 의미인데요. 여러분이 채굴을 해서 문제를 제일 먼저 풀었다면, 여러분이 블록 생성자가 되는 것이고, 새로운 화폐가 여러분에게 지급이 됩니다. 앞에서 "블록체인은 거래내역이 위변조 되어도 쉽게 알아차릴 수 있다"고 말씀드렸는데요, 혹시 그럼 모든 거래를 다 바꿔버리면 어떻게 되는지 한번 생각해 봅시다.
거래내역이 위변조 된 것을 찾으려면, 현재의 블록체인에 저장된 정보로 부터 역으로 추적하게 되는데, 추적을 시작할 때부터 정보가 잘못되어 있다면 어떤게 위변조된 거래내역인지 찾을 수가 없습니다. 따라서, 이런 일을 방지하기 위한 방법이 필요하겠지요.
그래서 블록이 하나씩 생성될 때마다 굉장한 연산량을 필요하도록 설계를 해두면, 모든 거래를 다 바꿔버리는 것은 훨씬 더 많은 연산량을 필요로 하게되고, 이 연산량이 슈퍼컴퓨터로도 불가능한 일이라면, 블록체인의 거래내역이 위변조 될 일이 없게 됩니다. 그래서 채굴은 이런 문제를 푸는 행위를 통해서 보안성을 확보하는 것이고, 비트코인 네트워크의 보안에 기여를 했기 때문에 보상으로 비트코인을 발행하여 주는 것입니다. 여기서 문제를 푸는 행위를 작업 증명(Proof of Work)이라고 부릅니다. 내가 문제를 잘 풀었다는 것을 네트워크에 증명한다는 의미가 담겨있습니다.
또한, 컴퓨터의 연산이 필요한데, 연산량이 많으면 많을수록 문제를 빨리 풀 확률이 높아지고, 보상을 가져갈 확률이 높아집니다. 결과적으로 참여자들은 컴퓨터의 연산량을 이용하여 채굴에 참여하여 네트워크의 보안성에 기여하고 보상을 받아 가는 것입니다. 비트코인이 나오기 이전에는 이런 방식으로 탈중앙화 환경의 화폐 발행을 통해 보상을 지급함으로써 참여를 유도하고, 참여자가 많아질 수록 위변조로부터 안전하다라는 메커니즘이 없었습니다. 결국 블록체인과 탈중앙화를 달성하기 위해서는 보상을 위한 화폐라는 시스템이 필요했던 것이고, 비트코인이 최초의 암호 화폐가 될 수 있었던 이유입니다.
작업 증명을 위해서는 공정한 환경이 제공되어야 합니다. 그래서 네트워크는 가장 최신 블록 위에서 문제를 푸는 것에 모두가 암묵적으로 합의가 되어있는 상태입니다. 내가 문제를 풀어서 보상을 받아가고 싶은데, 혼자서 최신 블록이 아닌 엉뚱한 블록에 작업하여 그동안 작업한 것이 무용지물이 되지 않기 위해서라도 최신 블록에 작업하는 선택을 하게 됩니다. 최신 블록이란, 연산량이 가장 많이 투여된 블록이라는 의미이고, 참여자들이 가장 많이 선택하여 작업하고 있는 블록이라는 의미입니다. 많은 참여자들이 선택하여 작업하는 블록은 연산량이 가장 많다보니 제일 길 수밖에 없때문에 가장 길이가 긴 블록체인 위에서 작업하는 것이 합리적인 방법입니다. 이것을 Longest Chain Rule이라고 합니다.
하나의 블록을 생성할 때마다(하나의 문제를 풀때마다) 충분한 연산량이 필요하고, 또 그위에 생성되는 블록은 더 많은 연산량을 필요로 합니다. 이렇게 블록이 쌓이다 보면 이전의 거래내역을 조작하려면, 기존 블록들을 다 변경해야 하겠지요. 더해서, 지금 네트워크에 참여하고 있는 채굴자들이 선택하는 가장 긴 체인보다 더 빠르게 길이를 늘려나가야 합니다.
앞에서 설명한 작업 증명방식과 Longest Chain Rule을 합쳐서 합의(Consensus) 라고 부릅니다. 암호 화폐에서 합의란 네트워크를 구성하는 참여자들(채굴자와 같은) 간에 어떤 방식으로 안전하게 블록체인을 만들어 나갈 것인지를 의미합니다. 기존에는 신뢰할 수 있는 누군가가 보장을 해줘야만 가능했던 위변조 불가능한 데이터 저장소가 탈중앙화 네트워크에서 합의를 통해 이루어지는 최초의 운영 사례가 비트코인 네트워크입니다.
지금까지 비트코인과 블록체인의 원리에 대해서 알아보았는데요. 비트코인은 이런 원리를 통해서, 기존에는 구성하기 어려웠던 글로벌한 가치 전송 네트워크로써, 또 시간이 지날 수록 채굴량 감소를 통해 희소성을 부가하여 가치 저장 수단으로써의 의의도 가집니다. 기술이 많이 발전되었음에도 최초라는 상징성과 고유성, 안전성을 유지해온 보안 덕분에 지금도 여전히 암호 화폐 중 가장 총 가치가 높습니다.
여러분은 이제 탈중앙화의 의미와 블록체인의 원리, 비트코인의 의미에 대해서 이해하였습니다. 여기까지만 보면, 비트코인의 기능이 별거 아닌 것처럼 보일 수 있는데요. 이를 비약적으로 향상시킨 스마트 컨트랙트 개념이 등장합니다. 이에 대해선 다음편에 알아보도록 하겠습니다.