비트코인을 지탱하는 원동력
비트코인으로 대표되는 블록체인은 집중형 시스템과는 확실히 차별점이 있는 방식이다. 전통적인 방식에서는 모든 데이터를 저장하는 서버가 있고 클라이언트들의 요청을 알맞게 처리해 서버가 데이터를 제공했다. 하지만 블록체인에서는 데이터가 네트워크 참여자들에게 모두 분산되어 저장된다. (분산 원장, Distributed Ledger) 또한 데이터는 P2P(peer-to-peer) 형식으로 공유된다.
이런 점 때문에 비트코인은 비트토렌트와 닮았다. 중앙 서버 없이 네트워크 참여자들끼리(peer-to-peer) 데이터가 공유되며, 네트워크 참여자들의 노력을 통해 네트워크가 유지되기 때문이다.
하지만 비트토렌트와 비트코인 사이에는 결정적인 차이점이 있다. 비트코인은 네트워크 참가자들에게 인센티브를 제공하지만 비트토렌트는 그렇지 않다는 점이다.
비트코인 네트워크의 참가자들
비트코인 네트워크에는 다양한 사람들이 참가한다. 이 참가자들을 단순하게 두가지로 구분해볼 수 있다. 첫번째는 사용자고 두번째는 채굴자다. 사용자는 단순히 비트코인 네트워크를 이용해 송금 기능만을 사용한다. 채굴자는 사용자의 송금 요청을 처리해 비트코인 네트워크가 작동하도록 유지시키는 역할을 한다.
채굴자는 왜 기꺼이 송금 요청을 처리하는 것일까? 이런 일을 하려면 전기와 장비에 들어가는 비용을 지불해야하며 그리고 비트코인 네트워크를 사용하기 위한 세팅까지 마쳐야 한다. 합리적인 판단을 할 수 있는 사람이면 비트코인 네트워크를 지탱하기 위해 이런 희생을 하지 않을 것이다.
이 질문에서 비트코인의 원동력을 찾을 수 있다. 이 질문의 답은 간단하다. 위에서 언급한 비용을 지불하며 비트코인의 채굴자가 되는 것이 이득이 되기 떄문이다.
채굴자들이 네트워크를 위해 일하는 이유
비트토렌트를 사용해본 경험이 있다면 콘텐트를 다운로드 받자마자 업로드 정지를 해본 기억이 있을 것이다. 파일을 다운로드받는 것은 기쁜 일이지만 알지도 못하는 다른 사람들을 위해 내 컴퓨터를 소모시키는 것은 그렇게 기쁜 일은 아니기 때문이다. 네트워크의 다른 참여자들을 위해 내 컴퓨터와 시간을 소모한다는 관점에서 비트토렌트에서 콘텐트를 업로드하는 것과 비트코인 네트워크의 채굴 행위는 동일하다. 하지만 비트코인 네트워크에서는 채굴자가 이런 식으로 채굴을 멈추는 일은 없다. 그들에게는 채굴 행위에 대한 합당한 이유가 있기 때문이다.
이를 이해하기 위해서는 채굴자가 하는 일을 대략적으로 살펴볼 필요가 있다. 채굴자는 사용자들의 송금 요청을 모아 하나의 블록으로 만든다. 그리고 이 블록을 비트코인 네트워크에 있는 블록체인에 연결하기 위해 연산(채굴)을 수행한다. 여기에 채굴자들을 위한 보상 체계가 숨어있다.
블록을 만드는 과정에서 송금 요청에 기록된 수수료를 조회해 높은 수수료를 지불하는 송금 요청을 우선적으로 블록에 넣을 수 있다. 그리고 블록을 블록체인에 연결하는 채굴 과정을 마치면 비트코인 프로토콜에 의해 보상을 받는다. 따라서 보다 빠르게 송금 요청을 처리해 채굴할 수록 더 많은 보상을 받게 된다.
이런 방식을 통해 비트코인은 참가자들의 자발적인 네트워크 참여를 유도한다. 비트토렌트의 참여 권유와는 차원이 다른 방식이다.
변화하는 보상체계
현재는 채굴자가 한 블록을 채굴하면 6.25 BTC의 보상을 받는다. 하지만 2024년부터는 그 절반인 3.125 BTC의 보상을 받는다. 그 이유는 비트코인은 반감기(halving)이라는 메커니즘이 있기 때문이다. 반감기가 지나면 비트코인 블록 채굴의 보상은 반으로 줄어들게 된다.
CAmount GetBlockSubsidy(int nHeight, const Consensus::Params& consensusParams)
{
int halvings = nHeight / consensusParams.nSubsidyHalvingInterval;
// Force block reward to zero when right shift is undefined.
if (halvings >= 64)
return 0;
CAmount nSubsidy = 50 * COIN;
// Subsidy is cut in half every 210,000 blocks which will occur approximately every 4 years.
nSubsidy >>= halvings;
return nSubsidy;
}
비트코인은 210,000 블록이 채굴될 때마다 반감기를 맞게 된다. 한 블록이 채굴되는 시간은 채굴 난이도 조절 매커니즘을 통해 대략 10분으로 조절된다. 따라서 대략 2,100,000 분마다(약 4년마다) 비트코인은 반감기를 맞게 되는 것이다.
이런 반감기는 비트코인의 공급을 제한한다는 관점에서 의미가 있다. 위에서 언급한 것처럼 채굴자는 수수료와 채굴 보상을 통해 보상을 받는데 수수료는 새로운 비트코인을 공급하지 않는다. 오직 채굴 보상만이 새로운 비트코인을 공급한다. 수요와 공급의 균형에 의해 비트코인이 시장에 빠르게 공급되면 비트코인의 상대적인 가치는 하락하기 마련이다. 비트코인의 가치가 하락하면 채굴자들은 채굴을 통해 얻는 비트코인을 통해 얻는 수익이 줄어들게 된다. 채굴을 통한 이득이 사라지면 비트코인 네트워크를 떠날 수밖에 없다. 따라서 채굴자들을 위해 비트코인의 가치가 지속적으로 상승하도록 유지하는 것은 비트코인의 핵심 매커니즘이다. 반감기가 설정된 배경에는 이런 이유가 있을 수 밖에 없다.
흥미로운 점은 반감기가 계속 진행된다면 대략 2140년에는 블록 채굴에 대한 보상이 0 BTC으로 사라지게 된다. 채굴자가 얻을 수 있는 보상은 수수료밖에 없다는 이야기다. 경제 체계에서 새로운 통화 공급이 없다면(혹은 너무 적다면) 유통량이 적어져 시장이 침체에 빠지게 된다. 미래의 비트코인은 이런 문제를 해결할 수 있을까? 정말로 비트코인이 미래의 화폐가 된다면 큰 걱정은 하지 않아도 될 것같다. 세그윗이나 탭루트처럼 네트워크 업데이트를 통해 비트코인 프로토콜은 계속 수정 및 발전하고 있기 떄문이다.
궁금한 점들
금본위제와 비트코인
금본위제가 폐지된 이후 지속적인 통화 공급(양적완화)은 경기를 부양하기 위한 가장 중요한 방법이었다. 하지만 이런 정책으로 인해 화폐가치는 지속적으로 하락하고 있다. 공급량이 제한되어 있는 비트코인은 양적완화로 인한 인플레이션을 방어하기 위한 수단으로 부상하고 있다. 계속해서 화폐가치가 하락한다면 미래에는 비트코인과 같은 블록체인이 지금의 법정화폐를 대신해 거래를 증명하기 위한 수단이 될지도 모른다. 하지만 비트코인은 공급량이 제한되어 있는 만큼 현대 통화시스템과는 완전히 반대되는 성질을 가지고 있다. 비트코인은 통화시스템을 금본위제로 되돌리게 될까?
참여자들의 이타적인 행동
비트코인은 P2P 네트워크이기 때문에 참여자들이 송금 요청을 다른 참여자들에게 전파하지 않으면 네트워크가 작동할 수 없다. 그런데 비트토렌트에서 다운로드만 하고 업로드는 하지 않는 것과 같이, 참여자들은 다른 사람의 송금 요청을 전파할 요인이 없다. 자신의 컴퓨터 자원을 이용해 다른 사람을 아무런 이득없이 돕는 행위이기 때문이다. 또한 채굴자는 다른 채굴자와 채굴 경쟁을 통해 보상을 받기 때문에 다른 채굴자를 위해 송금 요청을 전파할 이유가 없다. 이는 채굴자에게 합당한 보상을 함으로써 네트워크를 유지시킨다는 비트코인의 철학과도 맞지 않는 이야기다. 모든 참여자에게 다른 참여자의 송금 요청을 전파하는 데에 합당한 이유가 있어야 맞는 이야기다.
이 질문에 대한 답을 찾는 데는 좀 시간이 걸렸다.
- 우선 전파를 하는 행위는 채굴에 비해 비용이 크지 않으며, 기본 비트코인 클라이언트가 다른 참여자들의 송금 요청도 전파하도록 구현되어 있다. 따라서 이런 구현 내용을 변경하면서 까지 이기적인 행동을 취하지는 않을 것이라는 설명이다. (넛지의 현상유지 편향으로 설명된다.)
- 다른 참여자들의 송금 요청도 전파함으로써 자신의 익명성을 향상시킨다는 설명이다. 만일 한 참여자가 지속적으로 같은 주소의 요청만 보낸다면 참여자를 특정하기 쉬워진다.
- 이기적인 행동을 하는 참여자는 다른 참여자들의 블랙리스트에 오를 수도 있다.
- 채굴자는 전체 참여자 중 극히 일부이기 때문에 채굴자가 다른 채굴자가 송금 요청을 모으는 것을 방해해도 큰 영향이 없으므로 효율적인 전략이 아니다.