블록체인/비트코인 / / 2023. 4. 7. 22:17

비츠(Bits)


 글은 비트코인의 작동 원리를 이해하기 쉽게 설명해 놓은 해외 사이트 Learn me a bitcoin 내에 있는 Bits 페이지를 번역한 글입니다읽은 것을 개인적으로 이해하기 쉽게 정리하여 작성한 글이다 보니어색한 부분이 있을 수도 있습니다원문을 읽고자 하시는 분은 위의 링크를 참조해 주세요😀


 

Bits?

  • 목푯값(Target)을 간결한 포맷으로 나타낸 값입니다.

 

bits 필드는 목표값(Target)을 블록 헤더(Block Header)에 저장하는 압축 방식입니다.

Example

Block 406,800번의 목표값을 살펴보겠습니다.

  • Target: 0x00000000000000000696f4000000000000000000000000000000000000000000

그리고 이 블록 헤더에 있는 Bits 필드는 다음과 같습니다.

  • Bits: 0x180696f4

 

Bits로 변환하기

Bits는 목표값(Target)의 약식 버전입니다. 처음에는 낯설게 느껴질 수 있지만, 기본적으로 두 부분으로 나누어집니다.

지수(Exponent): 이는 Target의 크기를 바이트로 표시합니다.
계수(Coefficient): 이는 Target의 초기 3바이트를 나타냅니다.

 

만약 특정 블록이 채굴될 당시의 Target을 알고자 한다면, 해당 블록의 "Bits" 필드를 통해 (약간의 올림 처리가 된) Target을 계산할 수 있습니다. (Bits to Target Tool)

❗️ hexadecimal number 이므로, 지수(Exponent) 값인 0x18 은 24 Bytes를 의미합니다. (10진수 값으로)
✏️ 계수(Coefficient) 부분은 항상 원래의 타겟 값에서 올림 처리됩니다.
✏️ Target은 종종 32바이트로 표시되며, 앞의 모든 0들이 들어갑니다. 하지만 사실상 다음의 모든 것들은 같은 숫자입니다. Target: 0x00000000000000000696f4000000000000000000000000000000000000000000
Target: 0x0696f4000000000000000000000000000000000000000000
Target: 0x696f4000000000000000000000000000000000000000000

 

왜 Bits를 사용하나요?

Q. 왜 타겟 값을 "Bits"로 변환해서 블록 헤더에 저장할까요? 왜 전체 타겟 값을 그대로 블록 헤더에 저장하지 않는 걸까요?

A. 블록 헤더는 전체 타겟 값의 절대적인 정확함을 굳이 저장할 필요가 없기 때문에, "Bits" 형식을 통해 공간을 절약할 수 있습니다.

 

'블록체인 > 비트코인' 카테고리의 다른 글

블록 해시(Block hash)  (0) 2023.04.07
넌스 (Nonce)  (0) 2023.04.07
머클 루트 (Merkle Root)  (0) 2023.04.07
블록 헤더(Block header)  (0) 2023.04.07
블록(Blocks)  (0) 2023.04.07
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유