새소식

💰 Crypto's (가상화폐, 코인)/Tech (기술설명, 용어)

간단한 Bitcoin - PoW 채굴 원리

  • -

 

채굴 원리!

1) 비트코인은 거래(transations)가 일어날 때마다 네트워크에 참여하고 있는 모든 이에게 거래 기록

블록(Block) 단위로 공식화 합니다.

 

 

2) 이 공식화 하는 과정이 채굴(mining)입니다.

 

비트코인은 SHA-256 해시 알고리즘을 이용합니다.

해시함수란 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑해주는 자료구조입니다.
입력값으로 출력값은 알아내지만, 출력값으로 입력값은 알기 쉽지가 않습니다. (암호용 해시들은 거의 못합니다.)

 

따라서 암호용으로 SHA-256 해시 알고리즘을 사용하여 비트코인은 

블록 + 이전 해쉬 + 거래내역(transactions) + 임의의 숫자(nonce)를 해시알고리즘에 넣고 결과값을 얻습니다.

이! 결과값을 주어진 숫자(채굴 난이도에 따라서 결정) 보다 작도록 만들어주는 임의의 숫자(nonce)를 찾는 것이 채굴작업입니다.

 

 

만약 임의의 숫자를 찾았다면 다른 채굴자들에게 알리고, 정답으로 받아들여지면 보상으로 비트코인을 얻게 되는것이죠

 

알고리즘을 사용하는게 아닌 순전히! 노가다로

대략 10^77이 넘는 모든 경우의 수를 일일이 대입하는 수밖에없습니다.

 

 

3) 정리하면

 

위의 예시로 731764번의 블록을 만들기 위해서는

 

이전블록넘버 str(731763) + 이전 해쉬값 + 트랜잭션 문자열 + str(nonce)를 입력값으로

SHA-256 해시 알고리즘에 넣어 무작위의 결과값을 얻습니다.

 

이 결과값이!

앞에 0이 난이도 갯수만큼있는 결과값을 찾아 내는 nonce값을 찾는다면

비트코인 보상을 받게 됩니다.

 

난이도가 5 이라면, 00000 ~~~ 로 되어있는 해쉬값을 찾으면, nonce값을 찾게된 셈입니다.

 

 

따라서 

실제로 731764블록을 찾으신 분의 해시를 가져오면

 

정답값인 Nonce값은 4,043,320,885의 값으로 찾게 된 것을 알게 됩니다.

 

6.25BTC나 받네요 부럽습니다.

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.