가상화폐 채굴 바로알기 - 작업증명(POW)과 지분증명(POS) 1편

in #blockchain6 years ago (edited)

*머릿말

안녕하세요. 저번 포스팅 주제는 잘 보셨나요?
저번에는 정말 가상화폐를 사는 것이 투기일까?라는 의문을 가지고, 가상화폐의 아주 기본적인 이야기부터 시작해서 스마트컨트랙트까지 이야기해보았습니다.
그런데 너무 수박 겉핥기라, 여러분들이 블록체인에 대해 궁금한 것들을 다 해소해주지는 못했을 것 같아요.
또 아마 관심이 생기셨다면 더 깊은 내용이 궁금하실 수도 있겠지요.

특히 채굴이 그렇습니다.
가상화폐를 왜 채굴한다고 할까? 열심히 캐면 비트코인 금괴가 나오나요? 어디서 채굴을 하려면 슈퍼컴퓨터가 필요하다고 하던데... 도대체 왜 그렇게 많은 비용이 들까?
그래서 이번 포스팅 주제를 준비했습니다. 이번에도 역시 기나긴 여정이 될 것 같네요!


가상화폐 채굴 바로알기
작업증명(POW)과 지분증명(POS) 

* 가상화폐 채굴(mining)? 왜 채굴이라고 할까?

가상화폐를 채굴은, "가상화폐 네트워크에서 전송내역을 검증하고 블록을 생성해 보상을 얻는 행위"를 말합니다.
왜 우리는 이 행위를 채굴이라 부를까요? 채굴은 금광에서 금이나 캘 때 하는 것 아닌가요?

먼저 채굴자들의 역할에 대해 복습해볼까요?

저번 포스팅에서 우리는 블록체인이 계좌이체내역(곧, 각 계좌의 잔고 기록)을 서사적으로 이어놓은 데이터라는 것을 알았습니다.
채굴자들은 이 데이터들을 본인들의 하드디스크, 혹은 서버에 저장 및 꾸준히 업데이트 해야했죠.
그리고 그 데이터들을 바탕으로 현재 일어나고 있는 가상화폐 이체내역이 보증될 수 있는 건강한 것인지 검증해준다고 했습니다. 현재 은행의 역할을 채굴자들이 대신하는 것이지요.
검증이 끝나면, 그 건강한 이체내역을 담은 블록을 새로 생성해 기존 체인에 이어붙입니다.
그리고 내가 생성한 블록에 대해 달콤한 보상을 받습니다! 이체가 실제로 일어나는 것도 있네요. 


이체내역의 검증은 어떻게 할까?

그런데 채굴자들은 그래서 이체내역을 어떻게 검증할까요?
다음 예를 들어볼게요. 

철수는 영희에게 5개의 B코인을 보내기로 했습니다. 그래서 블록체인 네트워크에 이를 선포(?)합니다.
"철수: 채굴자 형들! 내가 영희에게 5개의 B코인을 보내기로 했어! 블록 위에 이 이체내역을 실어주면 0.001 B코인을 수수료로 줄게!"

채굴자인 제가 철수의 메시지를 듣자마자 철수의 계좌 잔액을 조회했습니다.
저는 계속해서 블록체인을 업데이트 해왔기 때문에 현 시점 가장 최신의 블록체인 블록을 조회 가능하고, 철수의 계좌 잔액도 조회 가능합니다.
철수의 잔액을 조회하니, 10개의 B코인이 있네요. 이건 제대로 된 이체 내역이군요.
그럼 저는 확인을 했으니 그 이체내역을 블록에 담아서 네트워크에 전달합니다.

"나: 채굴자 여러분, 철수의 계좌에서 영희의 계좌로 5개의 B코인이 이체되었습니다. 그에 맞게 블록을 업데이트해주시기 바랍니다."

이제 이체 내역이 잘 저장되었고, 실제로 철수의 계좌 잔액은 5 B코인이 줄었고 영희는 5개의 B코인을 받았군요.
저도 블록을 만든 보상으로 새로운 B코인과, 철수가 약속한 0.001B코인을 함께 받았습니다.


엥? 이거 완전 쉬운일 아니야? 누가 채굴 되게 어려운거라던데... 나도할래요!

위에서 말한 것만 가지고 보면, 채굴은 참 간단한 일 입니다. 적어도 컴퓨터를 이용해서 잘 처리한다면요.
그냥 몇초(몇초까지도 안필요하려나요?)면 검증 가능하고, 이체가 일어나는 것은 이상하지 않습니다.
실제로 우리가 은행을 통해 계좌이체를 하면 금방 이체가 되잖아요?

그러나 제가 언급한 일에는 아주 중요한 채굴 과정 하나가 빠져있습니다.
제가 블록을 생성하기 위해 네트워크에서 "선택" 받아야합니다. 

하나의 블록은 결국 한 사람(혹은 집단)이 생성하게 됩니다. 그런데 채굴자들은 굉장히 수가 많습니다.
그 중 하나만이 이 블록을 생성하는 경쟁에서 승리하게 됩니다. 이를 네트워크에게 선택 받았다고 말해보겠습니다.

사실 이체내역을 검증하고, 블록을 만드는 일은 굉장히 쉬운일입니다.
채굴과정에서 채굴한 금을 주워서 제 호주머니에 넣는 일에 대응시킬 정도로요. 

그러면 이리저리 바위를 깨부수며 금이 어딨는지 찾는 것은요?
이 행위가 제가 네트워크에서 "블록을 만들 수 있는 권한을 얻으려는 것"에 대응됩니다.

네트워크에게 선택받기

아마 지금쯤 그게 뭐야.. 왜 아무나 만들면 안되는거야? 하고 계실 것 같아요.
네트워크에서 선택은 왜 받아야하며, 어떻게 받는 것이며, 도대체 그게 왜 필요한 것인지 등이요.
이 과정이 필요한 이유에 대해서는 다음 2편에서 다루도록 해요.
지금은 어떻게 선택받을까? 에 대해 집중하는 것이 좋겠어요.

선택을 받기 위해서 네트워크에게 아부를 하면되나요? 알랑방구 뀌면되는건가요! 재롱잔치?
실제로 채굴자들은 선택받기 위해 특정 조건의 일을 해야합니다.
설사 그것이 이체내역 검증과는 전혀 동떨어진 잡일이라고 할지라도요...

해야하는 일은 종류가 다양합니다. 현 시점에서는 크게 2가지가 있네요.
작업증명(Proof of Work, POW)과 지분증명(Proof of Stake, POS)입니다.

그게 정확히 어떤 일인지 궁금하신가요?
이 내용은 2편에서 마저 다루어보도록 하겠습니다.

다음에 만나요~~~ 제발~~~

 

*맺음말:

저는 한국의 가상화폐 투기 열풍이 가라앉고, 좀 더 성숙하고 건전한 시장 참여가 이루어지길 원합니다.
그러기 위해서는 블록체인이 무엇인지에 대한 이해가 필요합니다.
그러나 일반인이 쉽게 접근할 수 있는 정보 글이 아직은 너무 없는 것 같아요!
블록체인 기술에 대한 더 깊은 이해를 바탕으로 모두 건강한 투자 하시어, 부자 되었으면 좋겠습니다.
팔로우/댓글/보팅 감사드립니다. 더 알차고 신나는! 포스팅에 많은 힘이 됩니다.   

Sort:  

조금은 이해가 되네요.
이 글도 리스팀할게요.!! 추천.!

리스팀 감사합니다^^

오랜만에 쉽게 풀어쓰는 양질의 포스트를 만났군요 :)
반가움에 업봇 누르고 갑니다 ㅎㅎ

감사합니다~ 앞으로 자주 방문해주세요! ㅎㅎ

넘 유익해요 팬이에요

좋은 글 감사합니다 보팅하고 갈게요~~

오오 이정도 난이도가 보통사람(?)이 이해하기 적합한 설명같습니다 :)
어려운 개념의 쉬운 설명 고맙습니다!

Coin Marketplace

STEEM 0.27
TRX 0.12
JST 0.032
BTC 68055.12
ETH 3813.21
USDT 1.00
SBD 3.72