비트코인 채굴시 논스값에 대해?
제가 분명히 어딘가 이해를 잘못하고 있는것 같습니다.
제가 이해한건 비트코인 블록을 생성하려면 채굴자들은 주어진 해시보다 더 작은 해시값을 찾기 위해 논스값을 0부터 1씩 늘려가며 하나하나 대입시키며 찾는다는거고, 논스값을 찾는 순간 블록을 생성할 수 있다는 것입니다.
하지만 비트코인 블록을 조회해 논스값을 보면 10억-100억? 정도 되는거같은데, 채굴기로 10억까지 대입하는데 1초도 안걸릴거같은데요...
제가 어떤 부분을 잘못 이해하고있는건지 궁금합니다..
55글자 더 채워주세요.
1개의 답변이 있어요!
안녕하세요
질문자님께서 말씀하신 것 처럼 논스를 0 부터 1씩 늘려서 하나하나 대입하여 특정 해쉬 값을 만족케하는 논스 값을 찾는 것 맞습니다.
그런데 논스는 4byte int 형태 입니다. 즉 범위가 0 ~ 2^32 - 1 입니다. 채굴기로 저 큰 숫자들을 일일이 대입하는데 아주 짧은 시간안에 이뤄집니다. 그런데 대부분 경우에는 이 만큼의 논스들을 다 기입하더라도 정답이 안나오는 경우가 있습니다.
이런 경우 새로운 트랜잭션을 담든지 혹은 타임스템프를 바꿔서 다시 시작하기 때문에 오래걸리는 것입니다.