Настройката на трудността при биткойн

Andreas HartwigИкономически журналист и експерт по крипто финанси

Приблизително на всеки 2016 блока — тоест около две седмици — биткойн автоматично преизчислява трудността на добива: вдига я, когато блоковете се намират твърде бързо, и я сваля, когато идват твърде бавно. Така средното разстояние между два блока остава близо до десет минути, независимо колко изчислителна мощ се включва или изчезва.

При биткойн няма централен оператор, който да решава колко трудно да бъде намирането на блок. Вместо това протоколът съдържа вградена обратна връзка: измерва колко бързо са възникнали последните блокове и премества целта на добива така, че темпото да се върне към един блок на всеки десет минути. Тази «настройка на трудността» е един от тихите механизми, които поддържат такта на блоковете на биткойн — а с него и предвидимото пускане на нови монети — забележително устойчив, макар световната изчислителна мощ да е нараснала с много порядъци и понякога рязко да е падала. Тази статия обяснява какво е трудността, как работи настройката, защо са избрани десет минути и как трудността се свързва с хешрейта и цената — и по какво се различава от двете.

Какво всъщност значи «трудност»

За да добави блок, миньорът отново и отново хешира заглавната част на блока, като променя стойност, наречена nonce, и търси резултат, който да падне под числов праг, наречен цел. По-ниска цел означава, че съществуват по-малко валидни хешове, тоест средно са нужни повече опити — точно това прави добива «по-тежък».

Трудността е просто четим за човек начин да се изрази колко ниско стои тази цел, измерена спрямо най-лесната цел, която протоколът някога е допускал (трудност 1). Трудност от, да речем, няколко трилиона означава, че сегашната цел е трилиони пъти по-малка от онази отправна точка. Възлите извеждат целта направо от трудността, така че двете са само два погледа към едно и също число.

Ритъмът от 2016 блока

Биткойн не се настройва след всеки блок, а преизчислява веднъж на епоха от 2016 блока. При десет минути на блок 2016 блока би трябвало да отнемат точно две седмици (20 160 минути) — затова промяната на трудността обикновено се описва като двуседмична.

Тъй като интервалът се брои в блокове, а не в календарно време, реалното разстояние между две настройки се разтяга, когато мрежата добива бавно, и се свива, когато добива бързо. Всеки пълен възел прави същата сметка самостоятелно и стига до същата нова стойност, тъй че няма какво да се гласува и какво да се съгласува.

Сметката зад всяка настройка

В края на епоха мрежата сравнява колко наистина са продължили последните 2016 блока с това колко е трябвало да продължат. По същество: нова трудност = стара трудност × (очаквано време ÷ действително време). Ако блоковете са идвали по-бързо от очакваното, действителното време е по-малко от очакваното и трудността се вдига; ако са идвали по-бавно, тя пада.

Промяната е ограничена: една настройка може най-много да учетвори трудността или да я свали до една четвърт. Тази граница пречи на диви люлеения след кратък прилив или срив на изчислителна мощ. Има и стара, безобидна неточност с единица: времевият отрязък се мери през 2015 интервала, но се третира като 2016 — затова средното време на блок стои с косъм над десет минути.

Защо десет минути и защо това има значение

Целевото разстояние между блоковете е компромис. Много по-бързи блокове биха се разпространявали по-ненадеждно в световна мрежа, умножавайки пропиляната работа и краткотрайните разклонения; много по-бавни блокове биха направили потвържденията мъчително бавни. Десет минути са избрани като предпазлива средна мярка, която дава на блока време да се разнесе по целия свят, преди вероятно да бъде намерен следващият.

Именно устойчивостта на този интервал прави графика на емисията на биткойн предвидим. Тъй като на всеки две седмици се добиват около 2016 блока, халвингът, който намалява наградата за блок, пада близо до заложения четиригодишен такт, а общото предлагане се приближава към тавана от 21 милиона по предвидим път.

Трудност, хешрейт и обратната връзка

Когато нови машини за добив влязат в действие, блоковете се намират по-бързо от всеки десет минути; следващата настройка вдига трудността и отново ги забавя. Когато миньори изключват — заради цени на енергията, бракуван хардуер, сезонно положение с тока или регионални правила —, блоковете се забавят, а следващата настройка сваля трудността, за да ги ускори. Системата се поправя със задна дата; тя не гледа напред.

Струва си да се отбележи, че хешрейтът не се измерва пряко: мрежата не вижда колко машини работят. Публикуваните числа за хешрейт са оценки, изведени от трудността и от наблюдаваните времена на блоковете, и тъкмо затова са неспокойни в кратки отрязъци и се четат най-добре като тенденция.

Гранични случаи и какво трудността не казва

Резките сътресения в реалния свят показват механизма в работа. Когато в средата на 2021 г. голям добивен регион отпадна от мрежата, тя преживя най-голямата си дотогава настройка надолу (около 28 %), която върна нормалните времена на блоковете още през следващата епоха. Правилата за времевите отпечатъци и границата от четирикратно изменение пазят освен това от миньори, които биха искали да повлияят на преизчислението чрез часовника.

Трудността измерва вложеното усилие за сигурността на мрежата и икономиката на добива — тя не е ценови сигнал и не е пазарен показател. Движи се на бавни, скокообразни стъпки и реагира на минали времена на блокове, тъй че казва малко за търсенето, ликвидността или оценката. Инструменти като BIKENZO се намират в съвсем друг слой и представят по-широк пазарен контекст, например глобален индекс на ликвидността срещу цената на биткойн; това е макро и пазарен контекст, отделен от on-chain механиката на трудността. И двата погледа са полезни и отговарят на различни въпроси.

FAQ

Колко често се настройва трудността на биткойн?
На всеки 2016 блока, което при десет минути на блок излиза приблизително две седмици. Точното разстояние в календара зависи от това колко бързо блоковете наистина са били добити през епохата.
Може ли трудността на биткойн да падне?
Да. Ако предходните 2016 блока са отнели повече от две седмици — обикновено защото изчислителна мощ е напуснала мрежата —, следващата настройка сваля трудността, за да се върнат блоковете към целта от десет минути.
Какво става, ако много миньори изключат наведнъж?
Блоковете се намират по-бавно и потвържденията се бавят до следващата настройка. Тогава трудността пада и нормалното темпо се възстановява. В краен случай една настройка надолу може да свали трудността до една четвърт.
Трудността същото ли е като хешрейт?
Не. Хешрейтът е цялата изчислителна мощ, която добива биткойн; трудността е настройката на протокола, която прави намирането на блок по-трудно или по-лесно. Хешрейтът не се наблюдава пряко, затова се оценява от трудността и времената на блоковете.
Влияе ли трудността на цената на биткойн?
Не пряко. Трудността реагира на минали времена на блокове и на добивната активност и се променя на бавни, скокообразни стъпки. Тя отразява усилието за сигурност и икономиката на добива, а не пазарното търсене, и не предсказва цена.
Защо средното време на блок при биткойн е малко над десет минути?
Дребна неточност с единица в първоначалния код мери отрязъка на епохата през 2015 интервала, но го третира като 2016. Ефектът е нищожен и никога не е променян, тъй че блоковете излизат средно съвсем малко над десет минути.

A Bitcoin liquidity terminal. Global central-bank liquidity, plotted against the Bitcoin price, in one screen.

Заявете преглед