블록체인의 원리와 채굴 및 보상의 이해
블록체인이란? 블록체인 뜻과 의미
블록체인은 블록(Block)과 체인(Chain)이란 단어가 합성된 용어입니다. 먼저 블록(Block)이라는 곳에는 거래 데이터(Transaction)가 저장됩니다. 여기서 거래 데이터는 특정인이 누군가에게 얼마를 송금했는지 등의 내역 등이 될 수 있는데요.
우리가 알고 있는 상식으로 거래 데이터는 운영자(중앙 주체)가 관리해주고 확인을 해줍니다. 근데 블록체인은 중앙 주체가 없는 분산화된 시스템입니다. 그럼 데이터가 진짜인지 가짜인지 누가 확인을 해줄까요?
바로 시스템을 유지하고 있는 참여자들에 의해서 상호 검증 하게 됩니다. 진짜 돈을 송금한 것이 맞는지, 송금 주소가 정확한지 등을 참여자들이 확인해야만 블록이 완성되고 생성되는 구조입니다. 그리고 완성된 거래 내역, 즉 장부를 모든 참여자가 갖게 됩니다. 만약 다른 장부를 가지고 있는 참여자가 있다면 잘못 생성되거나 위변조가 된 데이터라고 볼 수 있는 것이죠.
거래는 한 번으로 끝나는 것이 아니라 계속 이뤄지게 됩니다. 그럼 새로운 블록에 또 다른 거래 데이터가 기록됩니다. 새로 생성된 블록은 이전 데이터와 연결이 되어야 사실이 맞는지 판단할 수 있으므로 이전 블록과 생성된 블록은 끊임없이 연결되는데요. 거래내역 중 어떤 것에 대한 위변조가 일어나면 바로 확인할 수 있는 구조를 가지기 때문에 "블록체인에 저장된 것은 위변조할 수 없다"라고 할 수 있는 것입니다.
데이터의 집합체인 블록이 검증을 통해 생성되고, 이 블록이 끊임없이 연결되어 이뤄 나가는 시스템을 바로 블록체인이라고 합니다.
블록체인을 쓰는 이유, 탈중앙화란 무엇인가?
굳이 이렇게 복잡한 블록체인을 써야 하는 것인가? 중앙화된 시스템을 이용하면 편하지 않을까? 라는 의문이 있을 수 있습니다. 블록체인을 쓰는 이유를 설명하려면 분산화된 P2P 시스템, 일명 탈중앙화에 대한 이해가 필요합니다.
탈중앙화(Decentralization)란 무엇일까요? 탈중앙화를 사전적 의미로 설명한다면 중앙집중화를 벗어나 분산된 소규모 단위로 자율적으로 운영되는 되는 것을 의미합니다. 비트코인은 개별 참여자들이 서로 데이터를 검증하고, 기록하는 네트워크로 구성되어 있는데요. 단 1명, 1개의 주체가 시스템을 관리하는 것이 아니라 탈중앙화되어 모두가 참여자로 시스템을 운영할 수 있죠.
중앙화는 몇 가지의 문제점을 갖고 있습니다. 대표적으로 최근 발생하는 미국 은행들의 위기를 예로 들어 보겠습니다. 우리는 은행에 돈을 맡기고 이자를 받습니다. 그리고 언제든 원할 때 돈을 찾을 수 있어야 하고요. 그런데 최근 미국 은행의 위기 사태를 보면, 은행에 맡겨놓은 돈도 안전하지 못하다는 것을 알 수 있습니다.
내 자산을 중앙화된 기관에서 통제해버리는 것이죠. 비단 이러한 문제뿐만 아니라 중앙 주체에 의한 데이터 위변조, 권력에 따른 행동 등이 문제가 되는데요. 탈중앙화는 이러한 중앙화에 반대하여 만들어진 개념으로, 비트코인과 블록체인은 이러한 탈중앙화를 실제로 실현할 수 있는 시스템으로 만들어지게 되었었습니다.
채굴과 보상의 이해
그러나 탈중앙화는 실현하기 굉장히 어렵습니다. 분산된 권한을 가지고 있는 사용자가 악의적인 행동을 할 수도 있고, 자신의 이익에 따라 움직이는 경우도 많겠죠. 그래서 비트코인과 블록체인을 처음 만든 사토시 나카모토는 보상을 통해 이 문제를 해결하고자 했습니다.
월급을 주는 사람, 사장(중앙 주체)이 없는 회사에서 자발적으로 일을 하는 사람은 없습니다. 분산화 시스템으로 운영되는 블록체인은 이에 대한 해결책으로 보상, 즉 암호화폐라는 개념을 만들게 됩니다. 내가 이 회사(시스템)에 기여를 하면 중앙 주체가 월급을 주는 것이 아니라 회사가 직접 돈을 주는 것이죠.
블록 안에 담긴 거래 데이터를 검증하고, 블록을 성공적으로 생성하게 되면 코인을 줍니다. 정리하면 블록체인상에서 거래 데이터를 검증 및 기록하고, 이에 대한 보상을 받는 과정을 채굴이라고 표현합니다.
일을 하는 것에 대한 작업증명 (PoW)
블록체인에서 거래 데이터를 검증하고, 보상을 받는 것은 참여자 모두가 가능합니다. 그러나 그 거래 데이터를 담을 블록을 생성하는 것은 단 한 명, 단 하나의 노드만이 가능한데요. 거래 데이터를 검증하는 수수료는 참여자가 조금씩 나눠서 갖게 되지만, 블록 생성에 대한 보상은 단 1명만이 가져가는 것이죠.
따라서 이 1명을 뽑기 위해서 참여자들은 10분마다 어려운 수학 문제를 풀게 됩니다. 쉽게 말해 "문제를 빠르게 푸는 사람이 새롭게 만들어지는 암호화폐를 먼저 얻을 수 있다"가 되는 거죠.
이렇게 네트워크에서 통일된 의사결정을 하는 것을 합의(Consensus)라고 하며, 비트코인은 바로 어려운 문제를 품으로써 블록을 생성하고 이를 증명하는 합의 알고리즘, 작업증명(PoW) 방식을 취하게 됩니다.
작업증명(Proof-of-Work)을 간단하게 설명하면 무언가에 대해 일을 하고 그 일이 제대로 수행했는지에 대해 증명하는 것입니다. 새로운 암호화폐가 생성되는 과정에서 생성자들(채굴자들)에게 "일을 했다는 것을 증명(Proof of Work)"해야 암호화폐를 얻을 수 있죠.
어려운 수학 문제를 해결하기 위해 높은 계산력(Computing Power)가 필요하고, 이에 따라 전력 소모가 높은 채굴기를 사용하거나 대형 채굴장을 운영하기도 합니다. 또 이러한 채굴 사업을 메인 비즈니스 모델로 영위하는 미국 기업들도 많습니다.