Трудност

Напреднал

Какво е трудност?

В криптовалутите терминът трудност се отнася до усилието, необходимо за копаене на блок. Блокчейните с Доказателство за работа (PoW) прилагат определени правила, които водят до повишаване или понижаване на тази стойност в зависимост от количеството хешираща мощност в мрежата. Това се прави, за да се гарантира, че блоковете не се произвеждат твърде бързо, и за да се поддържа постоянната сигурност на мрежата.
Биткойн, например, задава времето за блок на приблизително десет минути (средното време, необходимо за намиране на нов блок). Ако блоковете се намират твърде бързо, мрежата увеличава трудността, което на практика понижава прага на целта за копаене.

За разлика от това, ако намирането на блокове отнема твърде дълго, трудността намалява, като повишава целта. Тази цел е число, което се нулира периодично. За да копае успешно блок, копачът трябва да намери хеш, по-нисък от това число.

Как работи копаенето: опростен пример

Тук можем да използваме прост пример. Да предположим, че имаме термина „binance“ и искаме да произведем SHA256 хеш, чийто изход е числено по-нисък от конкретна цел, която приблизително съответства на хешове, започващи с определен брой нули в шестнадесетичната си форма.

При реалното копаене копачите се опитват да намерят стойност на хеша, по-ниска от целевото число, което е много голямо число, представено във формат на 256 бита. Можем да илюстрираме това, като итеративно добавяме числа към „binance“ (напр. „binance1“, „binance2“, „binance3“) и го хешираме, докато получим изходен хеш, който отговаря на опростен критерий, като например да започва с водещи нули.

Докато стигнем до „binance10“, вече сме го постигнали. Ако искаме първите два знака да са „0“, трябва да продължим да хешираме до „binance99“. За да получим три нули, трябваше да хешираме до „binance458“. Ами за четири нули? От първите двадесет милиона числа няма вход, който да дава такъв изход.

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

Корекция на трудността

Биткойн коригира трудността на копаене приблизително на всеки 2016 блока (около на всеки две седмици), за да поддържа средно време за блок от 10 минути. Тази корекция се базира на това колко време е отнело копаенето на последните 2016 блока. Ако блоковете са били копани по-бързо от очакваното, трудността се увеличава, за да направи копаенето по-трудно; ако е било по-бавно, трудността намалява, за да направи копаенето по-лесно.

Еволюция на хардуера за копаене

Тъй като копаенето на Биткойн е толкова трудно, участниците отдавна са изоставили обикновените компютри и графични карти в полза на специално създаден хардуер, известен като ASIC (специфични за приложението интегрални схеми). 

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

Не всички криптовалути използват PoW

Струва си да се отбележи, че не всички криптовалути използват PoW или имат трудност на копаене. Например Ethereum премина към консенсусен механизъм Доказателство за залог (PoS), който не изисква копаене или корекции на трудността.

Заключение

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