난이도

참조 : target

“난이도”란 무엇입니까?

난도는 아래의 해시를 찾는 것이 얼마나 어려운지 측정합니다. 주어진 목표.

비트 코인 네트워크는 글로벌 블록 난이도를 가지고 있습니다. 유효한 블록은이 목표보다 낮은 해시를 가져야합니다. 채굴 풀에는 공유에 대한 하한을 설정하는 풀별 공유 난이도가 있습니다.

네트워크 난이도는 얼마나 자주 변경됩니까?

모두 2016 블록.

난이도 공식은 무엇인가요?

difficulty = hard_1_target / current_target

(target은 256 비트 숫자입니다)

difficulty_1_target은 난이도를 측정하는 다양한 방법에 따라 다를 수 있습니다. 전통적으로 이는 선행 32 비트가 0이고 나머지가 1 인 해시를 나타냅니다 ( “풀 난이도”또는 “pdiff”라고 함). 비트 코인 프로토콜은 대상을 나타냅니다. 제한된 정밀도를 가진 사용자 정의 부동 소수점 유형으로; 결과적으로 비트 코인 클라이언트는 종종이를 기반으로 난이도를 추정합니다 ( “bdiff”라고 함).

난이도는 블록에 어떻게 저장됩니까?

각 블록은 패킹 된 표현을 저장합니다 ( 실제 16 진수 타겟에 대해 “비트”라고 함). 목표는 사전 정의 된 공식을 통해 파생 될 수 있습니다. 예를 들어 블록의 패킹 된 대상이 0x1b0404cb (little-endian 순서로 저장 됨 : cb 04 04 1b) 인 경우 16 진수 대상은

0x0404cb * 2**(8*(0x1b - 3)) = 0x00000000000404CB000000000000000000000000000000000000000000000000

이 패킹 된 형식에는 24 번째 비트에 부호 비트가 포함되어 있으며, 예를 들어 위의 대상의 부정은 패킹 된 형식의 0x1b8404cb가됩니다. 그러나 실제로 대상은 음수가 아니기 때문에 하위 24 비트에 대한 최대 합법적 값이 0x7fffff임을 의미합니다. 또한 대상은 항상 가능한 가장 낮은 지수로 저장되므로 0x008000은 하위 24 비트에 대한 가장 작은 적법한 값입니다.

난이도는 어떻게 계산됩니까? bdiff와 pdiff의 차이점은 무엇입니까?

가능한 가장 높은 목표 (난이도 1)는 0x1d00ffff로 정의되며, 이는 16 진수 목표를 제공합니다.

0x00ffff * 2**(8*(0x1d - 3)) = 0x00000000FFFF0000000000000000000000000000000000000000000000000000

풀링 된 마이닝은 종종 잘리지 않은 타겟을 사용하므로 “풀 난이도 1″을

0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

그래서 난이도 따라서 0x1b0404cb는 다음과 같습니다.

0x00000000FFFF0000000000000000000000000000000000000000000000000000 /0x00000000000404CB000000000000000000000000000000000000000000000000 = 16307.420938523983 (bdiff)

그리고 :

0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF /0x00000000000404CB000000000000000000000000000000000000000000000000 = 16307.669773817162 (pdiff)

여기 ” 비트 코인 난이도를 계산합니다. 로그에 수정 된 Taylor 시리즈를 사용하고 (플립 코드 및 위키피디아에서 자습서를 볼 수 있음) 로그를 사용하여 난이도 계산을 변환합니다.

일반 난이도에서 수학을 보려면 위의 계산에 대한 계산 (일반 정수의 공간보다 큰 큰 정수가 필요함)은 다음과 같습니다. “python :

현재 난이도는 무엇입니까?

현재 난이도, 비트 코인의 getDifficulty에 의해 출력됩니다.

그래프

최대 값은 무엇입니까? 음 어려움?

최소 목표가 없습니다. 최대 난이도는 대략 maximum_target / 1입니다 (0은 무한대가되기 때문에). 이것은 엄청나게 큰 숫자입니다 (약 2 ^ 224).

실제 최대 난이도는 current_target = 0 일 때입니다. 그럴 경우 난이도를 계산할 수 없습니다. (다행히도 불가능하므로 괜찮습니다.)

네트워크 난이도를 줄일 수 있습니까?

예. 대상에서 논의를 참조하십시오.

최소 난이도는 무엇입니까?

대상이 최대 허용 값에있을 때 최소 난이도는 1입니다.

주어진 난이도에서 발생하는 네트워크 해시 속도는 얼마입니까?

이전 2016 블록을 찾는 데 걸린 시간을 기준으로 2016 블록마다 난이도가 조정됩니다. 10 분마다 1 블록의 원하는 속도로 2016 블록을 찾는 데 정확히 2 주가 걸립니다. 이전 2016 블록이 블록 인 경우 찾기까지 2 주 이상 걸리면 난이도가 감소합니다. 2 주 미만이 걸리면 난이도가 증가합니다. 난이도의 변화는 이전 2016 블록을 찾는 데 걸린 시간이 2 주 이상 또는 미만인 시간에 비례합니다. .

블록을 찾으려면 해시가 대상보다 작아야합니다. 해시는 사실상 0과 2 ** 256-1 사이의 임의의 숫자입니다. 난이도 1의 오프셋은 다음과 같습니다.

0xffff * 2**208

난이도 D의 경우

(0xffff * 2**208)/D

따라서 난이도가 D 인 블록을 찾기 위해 계산해야하는 예상 해시 수는 다음과 같습니다.

D * 2**256 / (0xffff * 2**208)

또는

D * 2**48 / 0xffff

난이도는 이전 2016 블록이 10 분마다 1 개의 속도로 발견되었으므로 600 초 동안 (D * 2 ** 48 / 0xffff) 해시를 계산했습니다. 이는 네트워크의 해시 율이 이전 2016 블록보다

D * 2**48 / 0xffff / 600

임을 의미합니다. 정확도를 크게 떨어 뜨리지 않고

D * 2**32 / 600

로 더 단순화 할 수 있습니다.

난이도 1에서는 초당 약 7 Mhashes입니다.

작성 당시 난이도는 22012 년입니다.4941572, 즉 이전 2016 블록 세트에서 평균 네트워크 해시 비율이

22012.4941572 * 2**32 / 600 = around 157 Ghashes per second.

얼마나 빨리 블록을 생성 할 수 있습니까?

h3>

(영원한 질문)

블록을 찾는 데 걸리는 평균 시간은 다음을 계산하여 대략적으로 계산할 수 있습니다.

time = difficulty * 2**32 / hashrate

난이도는 현재 난이도이고 해시 레이트는 광부가 초당 계산하는 해시 수이며 시간은 찾은 블록 사이의 평균 (초)입니다.

예를 들어 Python을 사용하여 평균 시간을 계산합니다. 난이도가 20000 일 때 1Ghash / s 채굴 장비를 사용하여 블록 생성 :

$ python -c "print 20000 * 2**32 / 10**9 / 60 / 60.0"23.85

평균 24 시간 미만이 소요됩니다.

  • 해시를 연마하는 사람은 다른 사람과 동일한 “승리”기회를 갖습니다. 숫자 게임은 하드웨어가 초당 시도 할 수있는 횟수입니다.
  • 난이도 (위)와 khash / sec 속도 (클라이언트가보고 함)를 알아야합니다.
    • 채굴 하드웨어 비교에는 얻을 수있는 정보를 예측하는 데 도움이 될 수있는 몇 가지 통계가 있습니다.
  • 계산기를 방문하거나 직접 계산해보세요.
    • http://www.alloscomp.com/bitcoin/calculator.php
    • http://www.vnbitcoin.org/bitcoincalculator.php
    • https://bitknock.com/calculator
  • 이것은 확률 일뿐입니다. N 일마다 당첨 될 것이라는 보장은 없습니다.

관련 링크

  • 비트 코인 난이도 기록
  • 비트 코인 채굴 난이도 란 무엇입니까?
  • 참조 : target

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다