Сложность

Продвинутый

Что такое сложность

В криптовалюте термин «сложность» относится к усилиям, необходимым для майнинга блока. Блокчейны на основе Proof of Work (PoW) реализуют определенные правила для увеличения или уменьшения сложности в зависимости от объема хеширования в сети. Это делается для того, чтобы блоки не создавались слишком быстро, а также для поддержания безопасности сети.
Так, Биткоин установил время создания блока примерно в десять минут (среднее время, необходимое для нахождения нового блока). Если блоки появляются слишком быстро, сеть увеличивает сложность, что фактически снижает целевое пороговое значение для майнинга.

И наоборот, если на поиск блоков уходит слишком много времени, сложность уменьшается. Это значение периодически сбрасывается. Чтобы успешно создать блок, майнер должен найти хеш, значение которого ниже этого числа.

Как работает майнинг: упрощенный пример

Рассмотрим простой пример. Предположим, у нас есть слово «binance», и мы хотим получить хеш SHA256, числовое значение которого ниже определенной цели, что примерно соответствует хешам, начинающимся с определенного количества нулей в их шестнадцатеричном представлении.

В реальном майнинге майнеры пытаются найти хеш ниже целевого числа, представленного в 256-битном формате. Мы можем проиллюстрировать это, добавляя последовательные числа к «binance» (например, «binance1», «binance2», «binance3») и хешируя эти комбинации, пока не получим результат, соответствующий упрощенному критерию (которое начинается с нулей).

Перебрав варианты, мы доходим до «binance10» и находим нужный результат . Если мы хотим, чтобы первые два символа были «0», нам нужно продолжать хешировать до «binance99». Чтобы получить три нуля, нам придется хешировать до «binance458». А что насчет четырех нулей? Среди первых двадцати миллионов чисел нет такого, которое дало бы нужный результат.

Этот пример дает общее представление о том, как работает майнинг. В реальной жизни майнеры пытаются найти число меньше целевого значения. Чем ниже эта цель, тем сложнее найти решение, поэтому Биткоин потребляет так много вычислительной мощности. Майнеры многократно хешируют вариации одной и той же информации, чтобы найти действительный хеш.

Корректировка сложности

Биткоин корректирует свою сложность майнинга примерно каждые 2016 блоков (примерно каждые две недели), чтобы поддерживать среднее время создания блока в 10 минут. Эта корректировка основана на том, сколько времени потребовалось для майнинга последних 2016 блоков. Если блоки были добыты быстрее, чем ожидалось, сложность увеличивается, а если медленнее — уменьшается.

Эволюция оборудования для майнинга

Из-за высокой сложности майнинга Биткоина участники давно отказались от обычных ПК и видеокарт в пользу специализированного оборудования, известного как ASIC (интегральные схемы специального назначения). 

Майнинг уже достиг промышленных масштабов, где доминируют крупные майнинговые фермы со специализированным оборудованием, что отражает конкурентный характер сети и растущую сложность.

Не все криптовалюты используют PoW

Стоит отметить, что не все криптовалюты используют PoW или имеют сложность майнинга. Например, Ethereum отказался от механизма консенсуса Proof of Stake (PoS) и не требует майнинга или корректировок сложности.

Заключение

Сложность — это динамический параметр, который поддерживает безопасность и стабильность блокчейнов PoW, регулируя объем вычислительной работы для майнинга новых блоков. Она адаптируется к изменениям вычислительной мощности сети, чтобы поддерживать постоянную скорость создания блоков, обеспечивая стабильную работу блокчейна.