Network Difficulty

Younghwan Cha·2022년 10월 11일
0

blockchain

목록 보기
6/18

Difficulty 란?

target 이 있고, 그 target 보다 작은 hash 를 찾아야 하는데 그것이 얼마나 어려운지를 측정하는 것이다.

  1. 현재 블록에서 80 byte 를 추출하여, SHA-256 으로 해싱한 값이 특정 조건(target보다 작은 값)을 만족하면 채굴 성공
  2. 80 byte 중 (nonce) 등을 brute force 로 계속 바꿔가며 조건을 만족하는 해시를 찾아내는게 채굴이다.
  3. 확률적으로 찾기가 얼마나 어려운지 조절하게 되는데 이를 난이도라고 부른다.

난이도가 높다면 target 은 낮고, 난이도가 낮다면 target 은 높다.
쉬운 예를 들자면 주사위를 던졌을 때 나오는 숫자 x 가

  • x <= 2 일 확률
  • x <= 5 일 확률
    위 두개를 비교했을 때 target 값이 더 작은 x <= 2 의 확률이 더 적어 난이도가 더 높다는 것이다.

Nonce

number + once 를 줄여서 nonce 로 정의한다.
이름에서 알 수 있듯이 한번 쓰이는 숫자이다.
nonce 는 0부터 시작해서 무수히 큰 숫자까지 증가시키며 target 보다 낮은 hash 값을 찾도록 쓰인다. 결국 모든 채굴의 과정은 nonce로 인해 좌지우지되게 된다.

profile
개발 기록

0개의 댓글