SW/블록체인

블록체인 : 비트코인 채굴, 보상, 한계

얇은생각 2021. 12. 28. 07:30
반응형

비트코인 채굴

비트코인은 블록체인 기술을 기반으로 하고 있으며, 참여자들에 의해 화폐가 발행됩니다. 비트코인의 발행 과정에 대해 공부하기 위해선 채굴 (영어로는 Mining)이라는 개념에 대해 먼저 이해하실 필요가 있습니다.

 

블록체인 : 비트코인 채굴, 보상, 한계 1

 

먼저 비트코인 채굴은 두 가지 의미를 가지고 있습니다. 첫 번째로는 블록체인에 추가할 새로운 블록을 생성하는 것을 의미합니다. 두 번째로는 비트코인이라는 암호화폐를 생성하는 것을 의미합니다. 정리하자면 비트코인 네트워크에서는 일련의 과정을 거쳐 기존의 블록체인에 추가할 블록을 생성하게 되고, 블록 생성의 결과로 새로운 비트코인이 생성됩니다.

그리고 이렇게 새로운 블록과 비트코인을 생성하는 과정을 채굴 (Mining)이라고 말합니다. 그리고 블록을 채굴하는 사람들을 채굴자 (Miner)라고 부릅니다.

 

 

퍼즐 풀기

비트코인을 채굴하는 과정은 일종의 퍼즐 풀기와 같습니다. 시간과 컴퓨팅 파워를 소모해서 퍼즐을 풀 수 있는 값을 찾습니다. 퍼즐을 풀 수 있는 퍼즐 조각을 찾으면 비로소 새로운 블록을 생성할 수 있게 되고, 새롭게 생성된 블록은 기존의 블록체인에 연결됩니다. 이때 퍼즐의 난이도는, 퍼즐을 완성하는 시간이 10분 정도가 소요되게끔 시스템에서 정해져 있습니다.

하나의 퍼즐을 풀어 블록을 생성하고 나면, 새로운 블록을 생성하기까지 다시 10분이 소요되는 것입니다. 실제로는 새로운 블록을 생성하는데 10분 이상이 걸릴 수도, 더 짧게 소요되는 경우도 있지만 보통 10분이 소요되게끔 주기적으로 퍼즐의 난이도를 조절해줍니다.

 

 

수학 퍼즐

블록체인 : 비트코인 채굴, 보상, 한계

 

앞서 새로운 블록을 생성하는 과정을 퍼즐을 푸는 과정에 빗대었습니다. 실제 채굴 과정은 일련의 수학문제를 푸는 과정과 같습니다. 퍼즐의 난이도를 의미하는 특정 목표 값이 있고, 0부터 1씩 점차적으로 증가하는 nonce라고 하는 값이 있습니다.

이 nonce 값은 hash 함수라고 하는 일종의 퍼즐 조각 생성기를 거쳐 임의 값을 만들어냅니다. 이 임의의 값이 목표 값보다 작은 값을 가질 때까지 계속해서 퍼즐 조각을 생성해줍니다. 같은 과정을 반복하다가 목표값보다 작은 값을 가지는 퍼즐 조각을 발견한다면,퍼즐을 완성할 수 있게 되고, 비로소 블록을 생성할 수 있는 권한을 가지게 되는 것입니다.

 

 

비트코인 보상

실제로 새로운 블록을 생성하기 위해서 수학문제를 풀기 위해서 채굴자들은 시간과 많은 비용을 소모하게 됩니다. 그렇기 때문에 아무런 보상이 없다면 아무도 수학 문제를 풀려는 노력을 하지 않습니다. 따라서 블록을 채굴하는 채굴자들은, 블록을 생성한 노력에 대해 두 가지 형태의 보상을 받습니다. 

첫 번째 보상은 새로운 블록으로부터 새로운 코인을 생성해서 얻는 보상입니다. 블록을 생성하면, 현재는 6.25 비트코인을 받게 됩니다. 하지만 이렇게 블록을 생성함으로써 생성되는 비트코인 발행량은 일정하지 않습니다

 

블록체인 : 비트코인 채굴, 보상, 한계 2

 

비트코인은 총 발행량이 2100만개로 정해져있기 때문에 채굴이 계속됨에 따라 채굴 보상이 줄어듭니다. 보통 21만개의 블록이 새로 생성될 때마다 새롭게 생성되는 비트코인 양이 절반으로 줄어들고, 이 시기를 반감기라고 합니다. 2009년 1월 첫 비트코인이 생성된 이후 세 차례의 반감기가 있었습니다.

제일 초기엔 보상으로 50 비트코인을 제공했고, 첫 번째 반감기에 보상이 25 비트코인으로, 두 번째 반감기에 12.5 비트코인으로, 세 번째 반감기에 6.25 비트코인으로 반감되었습니다. 반감기는 보통 21만개의 블록이 생성되는 시간인 4년의 주기를 가지며 총 발행량인 2100만개가 모두 발행되고 나는 2140년 경에는 새롭게 발행되는 비트코인은 없습니다.

 

 

이체 수수료 보상

두 번째 보상은 이체 수수료 또는 거래 수수료입니다. 일반적인 현금 거래를 위해 A가 B에게 3$을 보낸다고 다시 가정해봅니다. 초기에 A와 B는 총 10$의 잔액을 계좌에 보유하고 있습니다. 이때 A가 B에게 3$을 은행 수수료 없이 이체한다면 A의 계좌 잔액은 7$으로, B의 계좌 잔액은 13$으로 바뀝니다. 이것이 우리가 잘 알고 있는 현금 이체입니다.

 

블록체인 : 비트코인 채굴, 보상, 한계 3

 

하지만 비트코인은 이체 결과가 조금 다릅니다. A와 B가 총 10BTC를 소유하고 있고, A가 B에게 3BTC를 보내려고 합니다. 그렇다면 일반적으로 거래가 완료된 후, A에게 7 BTC가, B에게 13 BTC가 남을 것이라고 예상하시겠지만 실제 비트코인 시스템에서는 그렇지 않습니다

 

블록체인 : 비트코인 채굴, 보상, 한계

 

실제로 비트코인은 계좌, 잔액의 개념이 없고 비트코인이 하나의 “덩어리”로 존재하게 됩니다. 즉 A와 B는 10 비트코인에 해당하는 하나의 덩어리를 가지게 되는 것입니다. 그래서 A는 10 비트코인만큼의 덩어리 하나를 소비해서, B에게 3 비트코인을 전송하게 되는 것이고 거래 결과 B는 10 비트코인 덩어리 하나와, 3 비트코인 크기의 덩어리 하나를 가지게 되는 것입니다.

비트코인을 구매해보신 분들은 비트코인 지갑에 잔액이 표시되는 것을 보셨을 거고, 이 설명에 조금 의아하실 수도 있습니다. 사실 비트코인 지갑에 찍히는 잔액은 해당 주소가 소유하는 비트코인 덩어리들을 모두 합해서 사용자에게 편리하도록 어플리케이션 상에 임의로 보여주는 값입니다

실제로 내 주소에는 내가 가진 비트코인 잔액이 저장되는 것은 아닙니다. 그렇다면 A가 B에게 3 비트코인을 보낸 후 남은 7 비트코인은 어디로 갔을지 의문입니다. 비트코인은 잔액의 개념이 없기 때문에, 10 비트코인 덩어리를 이용해 B에게 3 비트코인을 보내고 난 후 남은 7 비트코인이 자동으로 A에게 남겨지지 않습니다

보내고 남은 잔액을 돌려받기 위해선 자신이 돌려받을 남은 비트코인을 자기 자신에게 다시 보내주어야 합니다. 다시 말해 3 비트코인은 B에게 7 비트코인은 자기 자신에게 전송해야 하는 방식입니다. 그렇지 않게 될 경우 B에게 보내고 남은 나머지 7 비트코인이 모두 이체 수수료로 쓰이게 됩니다. 이 이체 수수료가 블록을 채굴한 채굴자에게 전달되는 두 번째 보상입니다. 따라서 이체 수수료는 송신자가 보낸 비트코인의 총량에서 수신자가 받은 비트코인의 총량의 차이에 해당합니다.

이 이체 수수료는 송신자가 비트코인을 전송할 때, 얼마를 상대에게 보내고, 얼마를 자신이 되돌려 받을지를 명시해줌으로써 얼마의 이체 수수료를 지불할지를 결정할 수 있습니다. 따라서 누군가에게 비트코인을 전송하려고 할 때에는, 상대에게 보낼 비트코인 양과 이체를 위해 사용할 수수료를 제외한 나머지 금액을 자신의 주소로 되돌려 보내는 것이 일반적입니다.

보통 이체 수수료가 높을수록 채굴자가 받는 보상이 높기 때문에, 채굴자들은 이체 수수료가 높은 거래를 선택해 블록 생성을 시도하려는 경우가 많습니다. 즉, 이체 수수료가 많을수록, 자신의 생성한 거래가 블록체인에 더 빨리 저장될 수 있습니다. 그리고 비트코인이 모두 발행된 2140년경에는 새로운 블록을 채굴함으로써 얻는 첫 번째 보상이 없기 때문에, 두 번째 보상에 해당하는 이체 수수료가 높아질 것으로 예측하고 있습니다

 

 

비트코인 한계

첫 번째는 실시간성이 낮다는 점입니다. 블록 채굴에 대해 설명드리면서, 퍼즐을 풀기 위한 난이도가 10분 정도로 정해져 있스빈다. 즉, 블록의 생성 주기가 10분이 되는 것입니다. 발생한 거래는 블록에 포함되어, 블록체인에 연결되어야 완료되기 때문에, 거래가 완료되기 까지 최소 10분을 대기해야 한다는 특징이 있습니다.

이는 이체 수수료에 따라 더 길어질 수 있기 때문에 거래의 완료를 바로 확인할 수 없다는 단점이 있습니다. 실제로 이체 수수료를 아주 낮게 설정한다면 며칠이 걸릴 수도 있고, 아주 오랫동안 블록에 포함되지 않을 수도 있습니다.

다음으로는 확장성 문제입니다. 비트코인의 초당 거래량은 초당 약 7개 정도로 매우 적은데, 이 값은 Visa 신용카드의 초당 거래량이 4천개 정도인 것과 비교하면 굉장히 느리다는 것을 알 수 있습니다.

다음으로는 에너지 소모 문제입니다. 수학 문제를 푸는 과정에서 발생하는 에너지 소모량이 엄청나게 많습니다. 한 보고서에 따르면 블록 채굴을 위해 소모되는 전력량이 아르헨티나의 전력 소모량과 비슷하다는 결과가 있습니다

다음으로는 미비한 스마트 계약 기능입니다. 비트코인은 암호화폐 거래를 위해 제안된 전자 지불 시스템입니다. 따라서 비트코인은 화폐로서의 역할에 집중하도록 고안되었기 때문에 아주 간단한 계약 외에는 스마트 컨트랙트를 적용할 수가 없습니다. 이 점은 블록체인이 가지는 다양한 장점에도 불구하고, 비트코인을 여러 산업에 적용하기 어려운 이유로 작용합니다

 

 

참조

http://www.kmooc.kr/courses/course-v1:POSTECHk+CSED490U1+2021_T1/about 

 

블록체인 입문

블록체인과 암호화폐 기술을 깊이 배우기에 앞서, 비 전공자들도 이해를 할 수 있는 수준으로 블록체인과 암화화폐에 대한 high-level 설명 및 응용 예시를 제공하고 실제 상황에 적용할 수 있다.

www.kmooc.kr

반응형