채굴자 완벽정리 - 채굴이란? 채굴자가 하는일, 해싱

in kr •  7 years ago 

안녕하세요 오늘은 블록체인에 관심가지신 분이라면
모두가 궁금하셨을! 채굴자 Miner에 대해 정리 해 보겠습니다 :)

Miner, 채굴자가 하는 일은, 새로운 거래내역을 가지고 새로운 블록을 생성해내는 것입니다.

miner_13.png

그럼 채굴 과정은 어떻게 진행되는 걸까요?

① 채굴자는 거래가 발생하면 자신의 이체풀(transantion pool)에 내역들을 보관합니다
거래내역은 거래가 발생한지 얼마나 오래됐는지,
거래 수수료는 얼마인지 등의 기준으로 순서가 나열됩니다

miner_12.png

② 채굴자는 적당한 내역들을 묶어 블록을 형성하여 이를 기준으로 해싱을 진행합니다.

(*해싱은 정해진 암호를 풀어나가는 행위 같은것입니다 이따가 자세히 설명하겠습니다)

miner_11.png

③ 해싱에 성공하면 블록을 발행합니다.

④ 블록을 P2P네트워크를 통해 다른 노드들에게 전파하여 검증을 받습니다.

⑤ 과반수의 노드들에게 ‘새로운 블록으로 알맞다’ 라는 검증을 받으면 새로운 블록이 기존의 블록체인에 추가되고
새로운 블록을 생성해 낸 댓가로 코인 보상을 받게됩니다.

miner_9.png

해시함수란 어떤 문자나 숫자를 넣었을 때
일정 길이의 짬뽕문자로 바꿔줍니다

miner_8.png

예를들어
'채굴자 개념을 알아보자' 라고 치면 아래와 같은 hash 가 생성되고
'채굴자 개념을 알아보자yo' 라고 치면
이전과 다른 hash 가 생성됩니다

이 원리는 특정알고리즘에 의해서 행해지므로 똑같은 입력을 넣으면 반드시 똑같은 값이 나오고,
마침표나 띄어쓰기만 달라도 결과값이 완전히 다르게 나옵니다.

miner_7.png

즉 입력을 토대로 결과를 예측하는 것도 불가능하며 결과를 토대로 입력을 알아내는 것도 불가능합니다
오직 '똑같은 입력'엔 '똑같은 결과'가 나온다는 사실만을 알 수 있습니다.

다시 블록체인으로 돌아와
채굴의 성공 이라는 의미는 정해진 기준값보다 낮은 해쉬 값을 찾으면 성공하는것인데
그와중에 가장 복잡한 해쉬값을 가진 채굴자가 1등채굴자가 되고
보상을 받습니다.

miner_6.png

쉽게 예를 들어 사랑의 빼빼로 게임을 연상 해봅시다.

빼빼로를 한입이라도 먹으면 우선
빼빼로 게임의 미션은 성공하는 것인데
1등을 하기 위해서는 다른 커플들 보다
더 짧게 빼빼로를 만들어야 1등을 합니다.

miner_4.png

채굴 또한 정해진 기준값 보다 낮은 값을 찾으면
미션에 성공 하지만 다른 성공한 채굴자들 보다
더 복잡한 해쉬값을 만들어내야 1등 채굴자가 되고 보상을 받습니다.

블록헤더에서 모든 부분은 고정값이고
우리가 주목할 부분은 nonce입니다.

miner_3.png

즉, 이중 채굴자가 변경할 수 있는건 nonce 뿐입니다.
Nonce라는 값에 채굴자들이 어떤 수를 대입하느냐에 따라 전체 블록헤더의 해시값이 다르게 나옵니다

즉 블록의 해시값이 정해진 기준값보다 낮은 결과를 찾고
그리고 남들보다 더 복잡한 해쉬값을 찾기위해1부터 시작해 무작위로
nonce값을 바꿔가면서 대입하는 것...
그것이 바로 채굴자가 하는 작업입니다..

miner_2.png

무작위의 Nonce값을 해시함수에 입력해 설정된 값보다 작은 숫자를 계산해 내는 것은
굉장히 많은 에너지와 연산력을 필요로 합니다.

이렇게 많은 에너지와 연산력을 이용해 채굴에 성공한 채굴자는
다른 노드들에게 그 결과를 공유하고
다른 노드들은 해당블록에 채굴에 성공한 채굴자가 찾았다는 nonce값을 대입하여
같은 결과가 나오는지를 검증하여
맞으면 그 블록을 블록체인 (거래장부)에 추가하는 것입니다.

이렇듯
채굴자는 채굴용 하드웨어를 갖추고 채굴 소프트웨어를 실행할 수 있으면 누구나 채굴 가능하지만,

miner_1.png

블록 난이도에따라
하드웨어의 스펙과 에너지가 굉장히 많이 필요합니다 ~~~~

영상 보러가기
↓↓↓↓↓↓↓↓↓↓↓↓

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!