Difficulty Adjustment는 허용 해시 임계값을 바꾸며 거래 수나 보조금을 바꾸지 않습니다. 목표가 작을수록 탐색이 어렵습니다. 합의는 nBits 목표를 쓰고 난이도는 비율로 표현합니다.
Mainnet은 2,016으로 나누어지는 높이에서 재계산하고 그 사이에는 nBits를 유지합니다. 2주는 목표 1,209,600초이지 달력 마감이 아닙니다. 갑작스러운 hashrate 하락도 즉시 긴급 조정을 일으키지 않습니다. [Bitcoin Core v29.0: retarget] [Bitcoin Core v29.0: network parameters]
Bitcoin Core는 완료 기간의 마지막 헤더 시간에서 첫 시간을 뺍니다. 2,016블록 사이에는 2,015간격이 있으며 이 역사적 특성을 유지합니다. 채굴자가 허용 범위에서 고른 시간이지 정확한 발견 시각이나 Median Time Past가 아닙니다. [Bitcoin Core v29.0: retarget] [Bitcoin Core v29.0: network parameters]
관측 시간을 목표의 4분의 1에서 4배로 제한합니다. 이전 목표에 그 시간을 곱하고 목표 기간으로 나눈 뒤 powLimit를 적용하고 압축 인코딩합니다. 빠른 기간은 목표를 낮추고 난이도를 높이며 느린 기간은 반대입니다. [Bitcoin Core v29.0: retarget] [Bitcoin Core v29.0: network parameters]
주어진 hashrate에서 평균 10분을 목표로 할 뿐 개별 블록을 예약하지 않습니다. BTC 가격, 수익, 일일 거래 수를 안정시키지도 않습니다. 이후 성능 변화와 우연은 발견 시간에 영향을 주며 지급 규칙과 halving은 별도로 작동합니다. [Bitcoin Core v29.0: retarget] [Bitcoin Core v29.0: network parameters]
자기 노드에서 경계 시간과 이전 기간 마지막, 새 기간 첫 블록의 bits를 구해 목표, 시간 제한, 압축 반올림을 재현하세요. 웹 예상 비율만으로는 부족합니다. 기간 종료 전 바뀌고 테스트망은 다른 규칙을 가질 수 있습니다. [Bitcoin Core v29.0: retarget] [Bitcoin Core v29.0: network parameters]
더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 Proof of Work, 비트코인 채굴, Timechain / Blockchain, 블록 보상의 신규 발행분. 다음 항목에서도 이 글을 참조합니다 Timechain / Blockchain, Proof of Work, 비트코인 채굴, Halving.