채굴자는 논스를 어떻게 사용할까요?
채굴자는 블록 헤더를 만들고 논스를 0으로 설정한 뒤 해시를 계산합니다. 해시가 목표값보다 크면 논스를 1로 바꿔 다시 시도하고, 이어서 2로 바꿔 계속 시도합니다. 논스는 ‘한 번만 사용하는 숫자’를 줄인 말입니다.
어떤 논스가 더 유리한 건 아닙니다. 해시를 예측할 수 없으므로 매번 당첨될 확률은 똑같이 매우 낮습니다. 그래서 채굴은 공정합니다. 초당 시도 횟수가 많을수록 기회가 늘어날 뿐, 그 외에는 도움이 되는 게 없습니다.
논스가 소진되면 어떻게 될까요?
4바이트로는 4,294,967,296개의 값만 표현할 수 있습니다. 최신 장비는 그 값을 전부 1천분의 1초도 안 되는 시간에 시도합니다. 그래서 채굴자는 블록의 다른 값을 바꾸고 논스를 다시 처음부터 시도합니다.
채굴자의 반복 작업
- 01
모든 논스 시도
0, 1, 2부터 4,294,967,295까지. 4바이트로 표현할 수 있는 모든 값입니다.
- 02
빠르게 소진됨
100 TH/s 장비 한 대는 이 모든 경우를 약 43마이크로초 만에 시도합니다.
- 03
추가 논스 변경
채굴자는 자신의 보상 거래인 코인베이스의 여유 필드를 수정합니다.
- 04
새 머클 루트
거래가 바뀌면 머클 루트도 바뀌므로, 모든 논스에서 새로운 해시를 다시 얻습니다.
보통은 코인베이스 트랜잭션의 여분 필드인 엑스트라 논스를 사용합니다. 엑스트라 논스를 바꾸면 머클 루트가 달라져 시도할 수 있는 블록 헤더가 완전히 새로 생깁니다. 채굴자는 타임스탬프를 조금씩 조정할 수도 있고, 오늘날 많은 장비에서는 버전 필드의 몇 비트를 바꿀 수도 있습니다.
출처
- 논스 · Bitcoin Wiki
- 블록 해시 알고리즘 · Bitcoin Wiki
- 블록체인 참고 자료: 헤더, 머클 트리, 목표값 · Bitcoin 개발자 문서
이 페이지의 실시간 수치는 CloudMineCrypto API와 공개 블록체인 데이터를 바탕으로 하며, 정기적으로 갱신되고 각 수치가 표시된 곳에 출처가 안내됩니다. 교육 목적으로만 제공되며 금융 조언이 아닙니다.