MODULE 2 (A) - CRYPTOCURRENCY INTUITION
13. EXTARA: BITS TO TAGET CONVERSION
채굴 시 사용하는 대상은 많은 선행 제로와 제대로 된 숫자가 아닌 상태로 되어 있으며, 6 또는 4자리만 있다.
이에 대해 알아볼 것이다.
먼저 현재 대상(Current Target)은 어디에 저장될까?
위 블록의 예시를 살펴보면 Bits라고 부르는 필드를 확인할 수 있다.
이것이 블록에 저장된 정보의 일부이며, 대상(Target)이라는 필드는 없다.
하지만 Bits 필드가 있다.
Bits 필드는 현재 대상에 대한 정보를 가지고 있는 필드로 위에 나타난 예시는 다음과 같다.
Bits: 386526600
이제 이 코드를 읽는 방법과 코드에서 대상를 얻는 방법을 알아볼 것이다.
Bits in Hex: 1709ed88
17
은 대상의 자리수를 의미하고, 그 이후 값은 바로 컴포넌트이다.0x17 = 16 + 7 = 23
23
은 대상이 차지하는 바이트(byte) 수를 의미한다. 즉, 23 바이트(byte)
를 차지하고, 184 비트(bit)
를 차지한다는 것이다.4 비트(bit)
를 차지하기 때문에, 결과적으로 대상은 46개의 자리수를 가진다는 것이다.0000000000000000000000000000000000000000000000
09ed88
)을 채워넣는다.09ed880000000000000000000000000000000000000000
64-46
로 18자리의 선행제로를 가진다.00000000000000000009ed880000000000000000000000000000000000000000
이렇게 현재 대상을 얻을 수 있다.