티스토리 뷰

컴퓨터 공학과 졸업/블록체인

마이닝

심재철 2018. 1. 14. 23:41


어떤 블록을 생성하기 위한 난이도가 백만이라고 해보자. Brute force 방식으로 nonce 값을 계속 조정해가면서 백만보다 낮은 숫자를 찾는 과정이 마이닝(채굴)과정이다. brute force방식이므로 빠르게 뺑뻉이 연산을 돌릴수 있는 하드웨어가 필요하고 엄청난 전기세가 필요하므로 요즘 전기세나 땅값이 싼 중국에 작업장을 차려놓고 마이닝하는 업체들이 많아지고 있는것이다.


만약에 예를들어서, nonce값이 10일때 해쉬함수에 넣어서 나온 해쉬값이 백만보다 낮은 경우 채굴에 성공한 것이고,


그런 경우 블록에 이 넌스값(블록을 생성하기 위해 찾아낸 어떤 해답이라고 볼수 있음)을 박고, 넌스값이 포함된 블록 헤더를 해쉬한 블록해쉬값을 적어서 네트워크에 전파시키는것이다(너네들 이 블록을 각자 블록체인에 추가해)


네트워크에 있는 다른 노드들은 방금 블록을 채굴한 A의 블록과 블록해쉬값 총 2개를 수신하게 된다. 

그리고 나서, 난이도(백만)보다 nonce를 해쉬한 해쉬값(백만보다 작은 어떤값)이 작다는것을 바로 알수 있다. 그게 무슨 의미이냐면, 나한테 이 블록과 블록해쉬값을 보낸 송신자는 난이도 백만보다 낮은 어떤 값을 찾아냈다는 뜻이고, 그 이야기는 이 블록이 정당하게 채굴된 블록이므로 유효한 블록이다라는 의미이므로, 수신자는 nonce가 포함된 헤더를 해쉬한 블록해쉬값이 난이도값보다 작다는걸 확인한 다음에 바로 자신의 블록체인에 이 새로운 블록을 추가하게 되는것이다.


이런식으로 다른 사용자로부터 전송된 블록의 유효성을 검증할수 있다.


결국에 블록을 생성하기 위해서는 어떤 nonce값을 찾아내야 하는것이다. 그리고 그것을 위해 많은 업자들이 노력하고 있다.


그리고 네트워크에 있는 블록을 발견하지 못한 다른 채굴자들은 다른 어떤 채굴자가 현재 블록을 찾아냈다는 정보를 수신했으므로, 

현재 블록을 찾는 과정을 멈추고 그 다음 블록을 찾기 위해 다시 노력한다.


블록을 채굴한 채굴자는 그 블록에 속해있는 트랜잭션에 포함된 수수료들과 블록 채굴 보상을 합친 총 보상액을 받게 된다.

이 블록에 속한 트랜잭션들은 비트코인의 경우 10분 이더리움의경우 10~15초 정도 동안 모아진 트랜잭션들이다.





앞에서 설명한 대로 nonce 외의 모든 항목의 값은 이미 정해져 있다.

nonce 값이 0 일 때의 해쉬를 구해보니 000000a84...보다 큰 fa8cbaeed... 가 나와서 작업 증명에 실패 했다.

다시 nonce가 1 일 때의 해쉬를 구해보니 932d16e2e... 가 나와서 또 실패.. nonce가 2 일 때의 해쉬, 3 일 때의 해쉬.. 를 계속 반복해서 구하고 실패하다가, nonce가 82,764,351 일 때의 해쉬를 구해보니 드디어 000000a84... 보다 작은 000000a83...이 나와서 작업 증명에 성공했다.

비트코인에서의 보상은 새로 발행되는 비트코인과 해당 블록에 포함되는 거래의 거래 수수료의 합이다. 비트코인의 새로운 발행은, 채굴자가 블록을 처음 구성할 때 채굴자의 지갑으로 일정량의 비트코인이 입금되는 거래를 그 블록의 첫 거래(generation transaction)로 추가하는 방식으로 이루어진다.

거래 수수료는 각 거래 당사자끼리 맘대로 정할 수 있고, 거래가 블록에 추가되는 우선 순위를 결정하는데 거래 수수료가 입력값으로 사용되기도 한다. 다시말해서 거래 수수료를 높게 지불하면 그 트랜잭션은 블록에 빠르게 추가될 수 있다는 의미이다.

보상은 nonce 값을 찾아내고, 그 결과 새로운 블록을 블록 체인에 추가해서,

해당 블록에 포함된 모든 거래를 유효한 거래로 확정시켜준 대가라고 할 수 있다.


'컴퓨터 공학과 졸업 > 블록체인' 카테고리의 다른 글

블록체인 처리 흐름  (0) 2018.02.04
블록체인 FAQ  (2) 2018.01.15
블록체인의 거래 정보 변경 불가  (0) 2018.01.15
블록체인의 이중지불 문제  (0) 2018.01.15
블록체인의 분기  (0) 2018.01.15
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함