의견.png

비츠

위키원
9teahyun (토론 | 기여)님의 2019년 8월 1일 (목) 10:00 판
이동: 둘러보기, 검색

비츠(bits)는 블록의 작업증명 합의 알고리즘에 대한 난이도 목표값이다. 논스값을 계산하는데 기준이 되는 특정 숫자를 나타내며 블록체인 전체에 걸쳐 일률적으로 적용된다.

작업증명 방식에서 블록해시가 특정 숫자보다 낮게 나왔을 때 논스값을 찾아내는데, 작업 난이도는 이 논스값의 어려운 정도를 나타낸다. 작업 난이도는 블록헤더 정보 중에서 비츠값으로 조절된다.

개요

블록 해쉬가 특정 숫자보다 낮게 나올 때의 논스(nonce) 값을 찾아내는 것이 작업 증명이라고 했다. 작업 난이도는 논스(nonce) 값 계산의 어려운 정도를 나타낸다. 작업 난이도는 블록 헤더 정보에서 비츠(bits)라는 값으로 조절된다. 블록 해쉬는 32바이트의 숫자라고 했을때, 이해를 쉽게 하기 위해 블록 해쉬를 부호 없는 1바이트의 숫자라고 해보자. 그럼 1바이트의 숫자값을 블록 해쉬값으로 산출하는 해쉬 함수는 0 ~ 255 사이의 값을 결과로 산출한다. 블록 해쉬가 128보다 작아야 한다고 하면, 0 ~ 255 사이의 값을 산출하는 해쉬 함수를 적용해서 128보다 작은 블록 해쉬값이 나올 확률은 128보다 작은 수(0~127)의 개수 = 128/해쉬 함수가 산출할 수 있는 모든 값(0~255)의 개수 = 256, 즉, 128/256이므로, 50%의 확률이다. 블록 해쉬가 64보다 작아야 한다면 64/256, 즉 25%의 확률로 논스(nonce) 값을 구할 수 있다. 블록 해쉬가 32보다 작아야 한다면 확률은 12.5%로 줄어든다. 여기서 128, 64, 32라는 특정 숫자가 바로 블록 헤더 정보의 비츠(bits)이다. 실제로 비츠(bits)의 값이 128, 256 이런 식으로 저장되지는 않고, 지수와 계수를 사용하는 별도의 표현 방식이 있다. 난이도는 2,160개의 블록이 생성되는데 소요되는 시간이 평균 시간인 21,600분(10분/블록 * 2,160블록)보다 오래 걸리면 낮아지고, 적게 걸리면 높아지는 방식으로, 대략 21,600분을 주기로 전체적으로 평균 10분이 소요되는 하나의 난이도가 전체에 적용된다. 블록 헤더의 비츠(bits)는 논스(nonce) 값을 계산하는데 기준이 되는 특정 숫자를 나타내며, 블록체인 전체에 걸쳐 일률적으로 적용되는 숫자다.

참고자료

같이 보기


  의견.png 이 비츠 문서는 블록체인 기술에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.