Difficulty Adjustment змінює межу хешу, не кількість транзакцій або субсидію. Менша ціль ускладнює пошук; консенсус використовує nBits, а складність виражає співвідношення.
Mainnet перераховує ціль на висотах, кратних 2 016, між ними зберігає nBits. Два тижні — цільові 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]
Спостережуваний час обмежується чвертю–чотирикратною цільовою тривалістю. Стара ціль множиться на цей час і ділиться на цільову тривалість; нова обмежується powLimit і компактно кодується. Швидкий період зменшує ціль і підвищує складність, повільний навпаки. [Bitcoin Core v29.0: retarget] [Bitcoin Core v29.0: network parameters]
Мета — середні десять хвилин за даного hashrate, не розклад блоків. Це не стабілізує ціну 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.