Що таке криптовалюта?
Складність - це параметр, який використовуються біткойн та інші криптовалюти, щоб підтримувати середній час між блоками стабільним у міру зміни хеш-потужності мережі.
Пояснюється складність криптовалюти
Біткойн та інші криптовалюти, які використовують стійкі до роботи блокчейн, підтримуються через процес, який називається майнінг. У цій системі шахтарі - комп’ютери, на яких працює клієнт програмного забезпечення криптовалюти - змагаються за пошук нового блоку, додаючи до ланцюжка останню партію даних про транзакції. Вони отримують плату і (в деяких випадках) винагороду за нові жетони натомість.
Час, необхідний для пошуку нового блоку, залежить від двох факторів: випадковий шанс і складність. Почніть з випадкового шансу. Шахтарі беруть партію даних про транзакції та запускають її за допомогою хеш-алгоритму, односторонню функцію, яка - з огляду на певний набір даних - завжди створюватиме один і той же вихід, але вихід якого не може бути повернутий для відображення вихідних даних. Немає способу передбачити, яким буде хеш. Новий блок знайдеться, коли хеш відповідає певній вимозі. Оскільки кожен набір даних має лише один вихід для заданої хеш-функції, шахтарі повинні додати нон-знак - "число, яке використовується один раз" - до даних, щоб отримати новий хеш. Якщо результат все ще не відповідає вимозі, шахтар намагається знову з новим поняттям.
Вимога, яку повинен відповідати хеш, відповідає складності: дійсний хеш повинен бути нижче певного цільового значення, встановленого автоматично (і періодично коригується) протоколом криптовалюти. Чим нижче цільове значення, тим більше повторень хеш-функції, яку повинен пройти шахтар, щоб отримати прийнятний результат - іншими словами, тим вище складність. Теоретично шахтар може пощастить і отримати дійсний хеш для даного блоку з першої спроби: з часом, однак, більша складність означає, що шахтарі повинні в середньому перебирати більше значень за блок.
Якій меті служить складність?
Навіщо ставити більші труднощі, якщо єдиний практичний результат полягає в тому, що шахтарі повинні більше повторювати ту саму функцію? Біткойн пояснює:
"Щоб компенсувати збільшення апаратної швидкості та різний інтерес до запуску вузлів у часі, складність перевірки роботи визначається ковзним середнім рівнем націлювання на середню кількість блоків на годину. Якщо вони створюються занадто швидко, складність збільшується. "
Біткойн призначений для додавання нового блоку в блокчейн в середньому кожні 10 хвилин. (Інші криптовалюти спрямовані на більш часті блоки; Litecoin, наприклад, націлена на 2, 5 хвилини.) Проблема полягає в тому, що обсяг обчислювальної потужності, який колективні шахтарі контролюють, може сильно відрізнятися. Коли Сатоші Накамото видобув перший блок, у мережі була лише одна машина - швидше за все, простий ноутбук або настільний ПК. Сьогодні існує ряд розкиданих господарств ASIC розміром зі складом (ASIC - це машини, розроблені спеціально для того, щоб якнайшвидше орати хеш-функції).
Для того щоб переконатися, що мережа виробляє новий блок із стабільною середньою швидкістю, програмне забезпечення встановлюється для автоматичного регулювання цільового хешу вгору або вниз, що призводить до меншої або більшої складності відповідно. Коли Накамото видобув блок генезису, складність біткойна склала 1.
Щоб перевірити складність біткойна в режимі реального часу, ви можете ознайомитися з цією діаграмою.
Станом на кінець липня 2019 року складність становить 9, 013 трлн. На графіку нижче показано зміну біткойна у скруті за часом:
