본문 바로가기
Tomorrow/NFT

비트코인 채굴? 그래픽카드는 왜? (NFT를 팔고싶다 2)

by ◎◉⌥⏏︎ 2021. 9. 27.

블록체인은? 데이터베이스입니다.

데이터가 블록에 있고 블록들이 연결되어 있죠. 어떻게? 해시를 통해서 연결되어 있습니다.

 

첫째, 누가 블록을 추가할 수 있을까요? 아무나? 누구나? 아무 때나?

어떤 데이터가 블록체인에 추가되어야 할까? 체크를 해야 될까요? 

이 질문들에 답변은 상황에 따라 다릅니다. 

만약 음식 레시피 블록체인을 운영한다면 사람들이 레시피를 추가하고 공유해도 좋습니다.

하지만 블록체인이 비트코인, 이더리움처럼 사람들이 돈을 보내고 그 결제내역, 누가 얼마를 보냈고, 잔금이 얼마고.. 이런 기록들의 경우에는 아무나 블록을 생성할 수 있어서는 안 될 것입니다. 또한 어떤 데이터가 블록체인에 추가되는지도 면밀히 봐야 합니다.

 

둘째, 어떤 데이터가 블록체인에 추가될 수 있는가?

이 데이터는 거짓이 아닌 '사실'이어야 합니다. 거짓이 있어서는 안 됩니다. 바로 이를 위해 '작업증명(Proof of work)'이 필요합니다.

작업 증명을 통해서 비트코인, 이더리움 등 다양한 크립토들이 사기꾼들의 악용사례로부터 블록체인을 보호하고 있습니다.

작업증명을 이해하려면 '채굴자'라는 컨셉의 이해가 필요한데 채굴자는 블록체인에 들어오는 데이터를 확인하는 일을 합니다.

왜냐면 바로 채굴자가 데이터를 블록 안에 넣어서 블록체인에 보내는 역할을 합니다. 

예를 들어 비트코인 블록체인에서 비트코인을 친구에게 보내면 그 거래내용은 확인이 되지 않습니다. 하지만 채굴자가 해당 거래내역을 보고 확인하고 친구에게 돈을 보낸 모든 내역들을 체크할 것입니다. 해당 내용의 사실 체크가 다 끝나면 그 데이터를 블록 안에 넣을 것입니다. 이러한 체크를 여러 개 해서 나의 블록이 꽉 차면 블록을 닫고 블록체인에 올릴 것입니다. 즉 채굴자들 덕분에 블록체인에 올라가야 하는 데이터를 모두 체크하고 있습니다. 이를 탈중앙화 방법으로 하고 있습니다. 즉, 누구나 원한다면 채굴자가 될 수 있다는 뜻입니다. 누구나 데이터를 검증할 수 있습니다. 정해진 한 명이 검증하는 것이 아니라 우리 모두가 할 수 있습니다. 채굴자들은 돈을 벌기 때문에 이 일을 합니다.

채굴자들이 트랜잭션 컨펌을 하면 돈을 받게 됩니다. 일종의 수수료를 벌 수 있습니다. 덕분에 검증 작업이 활발하게 이루어져서 사기꾼 등으로부터 네트워크를 보호할 수 있습니다. 채굴자는 쉽게 돈을 벌 수 있을까요? No, 매우 어렵습니다.

작업 증명이라는 게 채굴자에게 질문을 합니다. 그것은 네트워크가 다 아는 질문입니다. 채굴자는 그 질문에 답을 해야 하고 답을 찾으면 그때서야 블록을 올릴 수 있습니다. 결국 채굴자는 보상을 2번 받는 셈입니다. 한 번은 거래내역을 컨펌하면서 그리고 두 번째는 질문의 답을 찾아서 블록을 체인에 올리면서 그때 비트코인이 생성되는 것입니다. 사람들이 블록을 블록체인에 올리는 순간 생성되는 것입니다. 

채굴자가 블록을 체인에 올릴 때마다, coinbase transaction이라는 게 생깁니다. 이것이 비트코인이 생성되는 순간입니다.

비트코인은 원래부터 생성이 되어있던 것이 아니라, 블록을 체인에 올릴 때마다 새롭게 생성되는 것입니다. 처음엔 블록을 올릴 때마다 50개 코인이 생성되었습니다. 하지만 4년마다, 반감기가 와서 그 생산량이 반으로 줄어듭니다.

즉 블록마다 50개 새로운 비트코인에서 50 > 25 > 12.5... 지금은 6.25입니다. 비트코인은 무한정이 아니기 때문입니다. 비트코인은 생산량이 한정되어 있습니다. 2100만 개입니다. 그럼 채굴자들이 답해야 하는 그 '질문'이라는 게 무엇일까요?

'0'과 'Nonce' 0은 난이도를 뜻합니다. 얼마나 블록을 찾기가 어려운지의 난이도 말이지요. 채굴자는 블록에 들어갈 데이터를 바꿀 수 없습니다. 데이터는 바꿀 수 없고 오직 검증만 할 수 있습니다. 그리고 네트워크는 Nonce에 넣어야 하는 값이 무엇인지를 질문합니다. 난이도의 숫자에 따라 해시의 시작 숫자 양이 바뀝니다. 난이도가 4면 해시값도 4개의 0으로 시작해야 됩니다. (현재 비트코인은 19라고 합니다. ㅠㅠ)

Nonce는 한 번만 쓰인 숫자를 뜻합니다. 채굴자가 바꿀 수 있는 유일한 값입니다. 채굴자는 그것 빼고 나머지는 하나도 바꿀 수 없습니다. 

그래서 채굴자는 난이도의 개수에 맞는 결괏값을 찾기 위해 끝없이 프로그램을 돌리는 것입니다. 바로 이러한 이유 때문에 블록 생성이 어려운 것입니다. 하지만 검증하는 절차는 정말 쉽습니다. 작업 증명의 매직입니다. 그 '질문' 은 아주 복잡한 답변을 가지고 있지만 그 답을 검증하기는 아주 쉬워요. (채굴할 건 아니니까 이해하고 넘어갑시다. ㅎㅎ;;)

 비트코인은 매 10분마다 블록을 새롭게 생성합니다. 블록이 너무 빨리 생성이 되면 난이도를 올리기도 합니다. 

결국 네트워크가 원하는 질문의 답을 찾아, 논스를 바꾸면 됩니다. 

 

그래픽카드는 게임이나 3D그래픽에 대비해서 만들어져서 아주 빠르게 논스를 여러개 시도해 볼 수 있습니다. 예를 들면 6천만 논스를 1초에 계산한다고 합니다!!! 세상에  그래서 채굴자들이 그래픽 카드를 총동원해서 논스를 찾는 것입니다.

그러니까 그래픽 카드의 수요와 가격이 최근 급증한 거죠. 비트코인, 이더리움 등 작업증명 관련된 크립토 채굴을 위해서 그래픽 카드를 마구 사들였기 때문입니다. 

댓글