본문 바로가기
재테크 공부(경제)

[블록체인 자세히 알아보기 #4] 암호화폐를 얻는 방법, 채굴에 대하여(+PoS란? PoW란?? DPoS란???)

by 가닥가닥 2022. 6. 27.
반응형

암호화폐를 얻는 방법, 채굴에 대하여

 

최근 전력 소모, 화재, 개발 집단 간 지분 다툼 등 세계 곳곳에서 채굴과 관련된 사건 사고가 발생하고 있습니다.

암호 화폐, 일명 코인, 블록체인과 관련하여 뜨겁게 회자된 키워드가 바로 [채굴]인데요.

여기서 말하는 채굴이란 블록체인 참여자로서 정해진 규칙에 따른 검증 업무를 수행함으로써 암호 화폐를 얻는 것입니다.

즉 채굴은 블록체인이 공공 거래 장부를 검증하는 방식으로 참여자가 공공 거래 장부 검증에 참여함으로써 보상으로 암호 화폐를 받는 것입니다.


블록 체인이 무엇인지 정확히 파악하기 위해서는 채굴에 대한 이해가 반드시 선행되어야 합니다.

이번 포스팅에서는 채굴의 정의, 작업 증명과 지분 증명에 대해 알아보도록 하겠습니다!(뒤에 PoS, PoW, DPoS에 대해서도 나오니 끝까지 봐주세요!)

바로 갑시다!!


채굴의 정의

 

1. 채굴의 정의

 

채굴은 암호 화폐를 얻는 행위입니다.

 

본래 채굴의 뜻은 땅을 파서 광물 따위를 캐내는 것을 의미하는데, 이 개념을 블록체인에 대입해보면 다음과 같습니다.

광물이 나오는 땅은 블록이고, 광물은 암호 화폐이며, 땅을 파고 광물을 캐내는 도구는 컴퓨터 연산력이 됩니다.

채굴 원리를 살펴보면 우선 블록체인의 공공 거래 장부는 참여자들의 대조와 과반수의 보유 블록으로 거래 내역을 검증합니다.

즉 참여자들이 거래가 일어날 때마다 해당 거래가 타당한지, 어떤 블록이 과반수가 가진 것과 같고, 그렇지 않은 것인지 컴퓨터 연산력을 통해 검증에 참여하는 것입니다.

그래서 블록 체인은 검증을 성공해냈을 때 암호 화폐를 참여자들에게 보상하며, 이것을 채굴 성공이라 할 수 있습니다.

 

주의할 점은 컴퓨터 연산력이라는 도구로 곡괭이질을 많이 했다 하더라도 다른 참여자가 많이 캐내었다면 나는 검증에 실패한 것이고, 광물인 암호 화폐가 나오지 않는다는 것인데요.

 

결국 블록 체인에서 채굴이 하는 역할은 블록체인 네트워크의 입장에서 보면 참여자들이 컴퓨터 연산력을 할애해 공공 거래 장부에서 일어나는 거래들을 검증해주는 것입니다.


단순히 암호 화폐를 얻는 행위 이상인 거죠.

블록 체인에서의 검증이란 참여자들이 정해진 규칙대로 블록 내용을 확인하고, 옳은 것을 합의하는 과정입니다.

 

그리고 프로토콜은 컴퓨터가 무언가를 주고받을 때 사용하는 규칙을 의미합니다.

블록 체인의 채굴은 규칙대로 검증을 한 후 모든 노드가 확인되었음을 합의하면 검증이 완료되고 암호 화폐가 발행되는 것입니다. 따라서 이를 합의 프로토콜이라고 합니다.

규칙의 묶음인 이런 합의 프로토콜은 당연히 어떤 규칙을 정해두는가에 따라 방식이 여러 가지가 있게 됩니다.

즉 우리가 채굴을 통해 암호 화폐를 얻는 방법이자 블록체인에서 컴퓨터 연산력이 블록을 검증하는 방식도 단일하지는 않습니다.

 

다음에는 합의 프로토콜의 종류에 대해 알아보기로 하겠습니다.

 

반응형

작업증명(PoW)과 지분 증명(PoS)의 이해

 

2. 작업 증명(PoW)의 이해

첫 번째는 가장 대중적이고 대표적인 합의 프로토콜인 작업 증명입니다.

작업증명은 풀어서 이야기하면 참여자가 작업한 것을 증명하면, 암호 화폐를 발행해주겠다는 말입니다.

여기서 작업이란 당연히 검증이며, 작업의 증명은 검증을 완료하란 뜻입니다.

 

작업 증명의 구조를 살펴보면 블록체인에서 방금 막 하나의 거래가 발생했다고 가정해 봅시다.

동시에 블록 체인은 새로운 거래 내역을 아직 밀봉되지 않은 블록에 담으면서, 슬쩍 임의의 숫자 하나를 더 적어 넣습니다.

그런데 블록의 내용에 따라서 결정되는 블록의 이름이 ‘해시 값’입니다.

작업 증명에서는 첫 번째 블록을 제외한 모든 블록은 이전 블록의 해시 값에 영향을 받아 자신의 해시 값이 결정되는 구조입니다.

 

과거 블록 내용이 바뀌면 이후 모든 블록의 해시 값이 영향을 받게 됩니다.

이것은 해시라는 암호화 규칙에 따라서 해시화돼서 만들어지는 이름입니다.

 

블록체인이 새로운 거래 내역을 받았다면 임의의 숫자 하나를 더 적어 넣었습니다.

그럼 해당 블록의 해시 값은 어떻게 될까요?

당연히 추가된 임의의 숫자에 영향을 받아, 본래 할당 받아 써야 할 이름과 다른 해시 값을 받게 될 것입니다.

 

이렇게 이 블록은 임의의 숫자를 추가한 해시 값을 갖습니다.

그리고 나서 다른 참여자들 모두에게 묻습니다.

방금 받은 신규 거래 내역에 어떤 숫자를 추가하면 나랑 같은 해시 값이 나올까 이렇게 퀴즈를 내는 것입니다.

당연히 참여자들은 각자 가진 컴퓨터 연산력을 총동원해서 받은 신규 거래 내역을 바탕으로 주어진 답이 나오려면 어떤 숫자를 입력해야 하는지, 하나하나 대입하면서 해시화하기 시작합니다.

 

참여자들이 각자 받은 답안지의 해시값과 같은 해시 값이 나올 때까지 임의의 숫자를 대입하고, 해시화하길 반복합니다.

 

만약 기존에 갖고 있는 거래 내역이 조금이라도 서로 다른 참여자들이라면 답안지 해시 값을 얻기 위한 임의의 숫자가 다를 것이라고 상상할 수 있습니다.

 

즉, 과거 거래 내역에 따라서 내놓는 임의의 숫자가 다르게 되므로 검증이 되는 것입니다.

그리고 참여자 중 누군가 계속해서 새로운 숫자를 입력해 해시화하다가 답안지 해시 값과 같은 해시 값을 얻어냈습니다.

 

그러면 곧장 이 사실을 모두에게 알립니다.

퀴즈쇼에서 “정답!”이라고 외치는 것과 같습니다.

 

정답을 외친 참여자로부터 임의의 숫자가 무엇인지, 모두가 정보를 공유한 다음에는 참여자들은 제공받은 임의의 숫자를 입력을 넣고 해시 값을 만들어 봅니다.

 

만약 누구도 거래 내역을 위변조 한 경우가 없다면 모두 같은 해시 값이 나와야 합니다.

만일 답안지 해시값과는 다른 해시 값이 나왔다면 이것의 의미는 다음과 같습니다.

 

해시 값은 거래 내역을 바탕으로 암호화했으니, 이 사실만으로도 블록체인은 최소 두 종류 이상의 과거 거래 내역이 존재한다는 것을 알 수 있습니다.

 

다만, 어느 쪽이 진짜인지를 처음. 제공된 답안지로 결정하는 것이 아니라 다수결로 결정합니다.

 

이번에는 처음 제공된 임의의 숫자를 넣었을 때 참여자들의 과반수 이상이 같은 해시 값을 내놓았습니다.

그러면 과반수에 속하지 않는 다른 답을 가진 참여자들의 블록은 과반수가 가진 블록으로 교체됩니다.

하지만 처음 제공받은 임의의 숫자로 과반수가 나오지 않은 경우에는 다시 새로운 임의의 숫자를 찾아갑니다.

 

이것을 반복하는 과정 중에 과반수가 갖고 있는 임의의 숫자가 등장하게 되면, 과반수가 아닌 블록은 과반수의 것으로 교체되고 폐기됩니다.

 

이때 최초이면서 동시에, 과반수가 인정한 임의의 숫자 답을 내놓은 참여자는 작업을 증명하여 채굴에 성공한 것입니다.

그럼 해당 참여자는 암호 화폐를 발행받게 됩니다.

 

 

요약하자면 작업 증명은 검증 때마다 참여자들이 컴퓨터 연산력을 동원해서 임의의 숫자를 하나하나 대입해가며 해시 값을 찾기 위해 계산하고, 과반수가 가진 답을 내는 것입니다.

 

따라서 암호 화폐를 얻으려면 당연히 빠르게 해시 값을 찾아야 하며 이를 위해 수학 문제를 풀어야 하므로 컴퓨터 성능이 높으면 높을수록 암호 화폐를 얻을 가능성은 높아지는 구조입니다.

여기서 암호 화폐를 얻는 것은 해시 속도와 밀접하기 때문에, 이런 성능을 일컬어 해시 파워라고 부릅니다.

 

해시를 반복하는 컴퓨터 연산력의 힘을 의미하며 해시 파워가 높으면 암호 화폐를 발행받을 가능성이 높습니다.


 

그런데 작업 증명에서 ‘참여자의 과반수’라는 의미는 개인의 수가 아니라 해시 파워가 기준이 됩니다.

그러므로 블록 체인이 가진 [전체 해시파워에서 내가 보유하고 있는 해시 파워의 비중]이라는 개념으로 접근해야 하는 것입니다.

예를 들면 어떤 블록체인의 가입자의 수는 백만 명이고 전체 해시 파워는 100 테라 해시 퍼 세컨드라고 가정해 봅시다 이때

 

대부호 개인이 공장형으로 컴퓨터를 구축하여 해시 파워가 십 테라 해시 퍼 세컨드를 가지게 되었다면 이 한 사람이 차지하는 점유율은 10 퍼센트가 되는 것입니다.

 

그래서 참여자의 수보다는 정확하게, 참여하는 하나의 지점이라는 의미의 ‘노드’ 단위를 사용합니다.

 

하지만 이러한 작업 증명은 해시 파워의 경쟁 문제를 일으킨다는 단점을 가지고 있습니다.

 

높은 컴퓨터 성능이 암호 화폐를 줄 가능성을 높이기 때문에 참여자들이 경쟁적으로 컴퓨터 성능을 높이게 된다는 뜻입니다.

수천 개의 컴퓨터를 연결하게 되면 더 많은 하드웨어가 소모되고 이로 인한 전력 낭비가 상당해지는 것입니다.

 

더불어 오로지 성능만을 위해서 다른 안전장치들을 제거해서 자체 발열이 감당되지 않아 화재가 발생하기도 하는 것입니다.


3. 지분 증명(PoS)의 이해

 

컴퓨터 연산력의 무분별한 경쟁을 유발하는 ‘작업 증명’의 단점을 보완하는 프로토콜 중 하나가 ‘지분 증명’입니다.

지분 증명은 이름에서 보는 것처럼 지분을 증명하면 암호 화폐를 발행받습니다.

 

다만 기초적으로 블록 체인 프로그램이란 점과 컴퓨터 연산력이 필요한 것은 변함이 없으므로 해시화와 컴퓨터 연산력이 사용됩니다.

 

지분 증명에서 지분은 해당 블록체인의 암호 화폐에 대한 것입니다.

암호 화폐는 블록 체인에서 발행하는 것으로 총발행량을 알 수 있습니다.

그러므로 만약 100만 개의 암호 화폐가 발행된 곳에서 내가 1만 개의 암호 화폐를 갖고 있다면 내 지분은 1%라고 말할 수 있습니다.

 

그럼 지분이 어떻게 작동하는지 그 원리를 살펴보겠습니다.

 

기본적으로 임의의 숫자 문제를 받고 해당 숫자 해시 파워로 찾아 검증하는 것은 작업 증명과 같습니다.

 

그런데 지분 증명은 한 번의 검증에 모든 노드가 문제를 풀지 않고, 각 노드의 지분을 기초로 확률적으로 문제를 풀 기회가 주어집니다.

 

예를 들어 각각 50% 30% 20%의 지분을 가진 노드 셋이 있다면 암호 화폐 채굴 기회 자체인인 임의의 숫자 문제를 풀 기회를 받을 가능성이 각각 50%/ 30%/ 20%의 확률인 것입니다. 해당 기회에 선택되지 않는다면 다음 기회까지 기다려야 합니다.


종합해 보면 지분증명 프로토콜에서 노드들은 지분의 비율대로 문제 풀이에 선택될 수 있습니다.

즉 지분이 많을수록 선택될 가능성이 높으므로 지분이 높을수록 암호 화폐를 발행받을 가능성이 상승하는 것입니다.

 

마지막으로 최초의 한 번을 제외하고는 이전에 검증한 노드가 다음 노드를 임의로 결정합니다. 중요한 점은 지분 증명에서 노드들은 모두 함께 퀴즈쇼에 참여하지 않기 때문에 작업 증명처럼 경쟁하면서 문제를 풀 필요가 없어집니다.

 

또한 지분증명 역시, 과반수의 기준은 사람의 머릿수로 하지 않고 암호 화폐의 비중, 즉 지분으로 합니다.

 

그런데 만약 서로 다른 과거 거래 내역을 가진 것이 발견되었다면, 이때 노드들의 보유 암호 화폐 총비중이 과반수인 쪽의 블록이 진짜가 됩니다.


블록 체인의 목적은 탈중앙화, 분산화입니다.

 

그러나 지분증명은 보유한 암호 화폐를 기준으로 판단받습니다.

따라서 블록 체인에서의 검증뿐만 아니라 앞으로의 업데이트 의사 결정 등에서도 가진 자가 더 큰 영향을 미칠 수 있습니다. 즉, 과반수 또는 과반수에 가까울수록 큰 영향을 미치는 것입니다.

 

이 외에도 기술적으로는 스테이크 그라인딩 어택(Stake-Grinding Attack) 문제도 있습니다.

 

지분증명은 이전 검증 절차가 종료될 때, 다음 검증 절차에서 문제를 풀 참여자의 지분이 결정되기 때문에, 이 부분을 조작해서 다음 문제를 풀 참여자 결정에 간섭하는 것이 가능해집니다.


마무리(프로토콜 응용 버전)

지금까지 암호 화폐를 얻는 채굴이자 검증하는 방식인 프로토콜, 작업증명과 지분 증명에 대해서 알아보았습니다.

이 프로토콜들은 개별 블록체인에서 발전시켜 다양하게 응용할 수 있는데 그 대표적인 예가 위임 지분 증명(DPoS, Delegated Proof of Stake)입니다.

 

이 프로토콜은 지분 증명의 다른 응용 버전으로 볼 수 있는데, 민주주의에서 익숙한 대표와 투표 개념이 존재합니다.

 

블록 체인에서도 의사 결정 시 모든 이들에게 의사를 묻고 취합받는 과정이 매우 비효율적이기 때문에 정해진 절차에 따라 선출된 대표에게 의사결정 권한을 위임하는 것입니다.

 

선거 과정은 다음과 같습니다. 피선거권자는 본인의 프로필을 남기고 보유 지분 등을 밝히면 참여자는 대표에 대해 투표합니다.

하지만 지분증명이므로 참여자의 한 표는 참여자가 보유한 지분만큼 지지율을 가집니다.

지분 5%인 사람이 두 명이 지지하면 지지율 10%가 되는 것입니다.

 

이처럼 블록 체인의 전 과정은 계속해서 발전 중입니다.

따라서 큰 개념들을 꼭 이해하고 이에 따른 문제점과 개선 사항의 지속적인 논의가 필요하겠습니다.


그럼, 이번 포스팅 끝까지 봐주셔서 감사합니다. 5편으로 다시 뵐게요!

 

[블록체인 자세히 알아보기 #3] 스마트 컨트랙트의 개념과 스마트 컨트랙트의 구조(+가능성과 한

스마트 컨트랙트의 개념과 스마트 컨트랙트의 구조(+가능성과 한계까지) 2015년 7월 30일, 블록체인 애플리케이션 플랫폼인 이더리움이 등장합니다. 이더리움의 창시자는 뛰어난 능력으로 인해 '

youngmosa1line.tistory.com

 

[블록체인 자세히 알아보기 #2] 암호화폐의 발행과 가치, 암호화폐와 사이버머니의 차이에 대해!(

암호화폐의 발행과 가치, 암호화폐와 사이버머니의 차이에 대해 알아보기! 2008년 10월, 비트코인을 발행 및 이체하고, 해당 거래 장부를 분산하여 기록하는 블록체인 기술이 세상에 등장했습니

youngmosa1line.tistory.com

 

반응형

댓글


TOP

TEL. 02.1234.5678 / 경기 성남시 분당구 판교역로