블록체인 개론 #2

반영환·2023년 5월 8일
0

BlockChain

목록 보기
2/5
post-thumbnail

블록체인 개론

작업증명

작업증명은 어떤 데이터가 블록체인에 올라갈 수 있는가를 정하는 것이다.

전체 블록체인 시스템에 거짓말을 하지 않고 진실을 말하기 위한 과정으로 이를 위해 작업증명이 필요한 것.

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

이를 이해하기 위해 채굴자 개념을 이해해야 한다.

채굴

채굴자의 일은 블록체인에 들어오는 데이터를 확인하는 일이다.
채굴자가 데이터를 블록안에 넣어서 블록체인에 보내는 역할을한다.

예를들어 비트코인 블록체인에서 비트코인을 친구한테 보내면 그 거래내용은 확인되지 않는다.
하지만 채굴자가 거래내역을 보고 확인한 후에 친구에게 돈을 보낸 모든 내용을 확인한다.
내용의 검증이 끝나면 데이터를 블록에 넣고, 꽉 차면 블록을 닫고 온체인시킨다.

채굴자들덕분에 블록체인에 올라가는 모든 데이터를 확인할 수 있고 이를 탈중앙화 방식으로 진행한다. 누구나 채굴자가 될 수 있고 정해진 한 명이 검증하는 것이 아니라 우리 모두가 검증자가 되는것.

그렇다면 채굴자들은 이를 공짜로 하는가? 아니다. 채굴자들은 거래내역, 즉 트렌젝션에 대한 검증을 진행하면 수수료를 받는다.

하지만 이게 쉬운 일은 아니다. 여기서 작업증명이 어떻게 전체 체인 생태계를 지키는지 나온다.

작업 증명이라는 것이 채굴자에게 전체 네트워크가 모두 아는 질문을 던진다. 채굴자는 그 질문에 적절한 대답을 해야 한다. 채굴자가 답을 찾으면 그제서야 블록을 온체인 시킬 수 있다.

채굴자가 블록을 온체인 시키는 이 순간 바로 비트코인이 생성된다. 채굴자가 블록을 체인에 올릴 때 coinbase transaction이 생기는데 이것이 바로 비트코인이 생성되는 순간이다.

이 과정에서도 사용자는 보상을 받는데 결국 사용자는 트렌젝션을 검증할 때, 블록을 온체인 시키기 위한 작업증명을 완수했을 때 총 두 번의 보상을 받는다.

처음 블록을 올릴 때마다 50개의 블록이 생성됐는데 4년마다 절반으로 줄어들었다. 비트코인은 무한정 자원이 아니기 때문. 비트코인은 생상량이 2100만개로 제한돼있다.

비트코인은 10분마다 블록을 생성하고 블록이 너무 빨리 생성이 되면 난이도를 올리고 너무 늦게 생성되면 난이도를 낮춘다.

작업증명이 채굴자에게 하는 질문

작업 증명이 채굴자에게 무엇을 질문하는 것일까?
이를 위해 난이도Nonce를 이해해야 한다.

일단 채굴자는 블록 데이터를 바꿀 수 없고 검증만 할 수 있다.

내가 올리고 싶은 데이터와 nonce로 해시값을 만드는데 난이도의 수만큼 0으로 시작하는 해시값을 만드는 nonce를 찾아봐! 가 질문이다.

nonce는 한 번만 쓰인 숫자이고 채굴자가 바꿀 수 있는 유일한 값이다.

그럼 채굴자는 숫자 맞추기 게임을 시작한다. 논스를 이것 저것 바꿔가며 말이다.
문제의 답을 찾을 때까지 계속 논스를 바꿔가야한다. 이것이 작업증명의 핵심이다.
답은 굉장히 어렵지만 검증하는 과정은 굉장히 단순하다는 것.

작업증명 시뮬레이터

https://mining-simulator.netlify.app/

profile
최고의 오늘을 꿈꾸는 개발자

0개의 댓글