Все пользователи, начинающие работать с криптографическими валютами встречаются с массой новых терминов и понятий. Многие из них важны для понимания работы блокчейн-систем. Примером такого значимого понятия является алгоритм Proof of Work или сокращённо PoW – доказательство выполненной работы.

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

Рассмотрим обстоятельно, что такое алгоритм Proof of Work. Изучим его особенности, специфику работы, а также положительные и отрицательные стороны.

Алгоритм Proof of Work – что это?


Технология блокчейн, на которой построены практически все криптовалюты, является сложной, поскольку объединяет в себе работу многих правил. Эти компоненты специализированных протоколов также называют алгоритмами.

Они представляют собой криптографические механизмы, регулирующие конкретные функции и выполнение определённых задач. Наиболее распространённым вариантом является именно алгоритм Proof of Work, который отвечает за достижение консенсуса в блокчейне.

В переводе с английского PoW – это доказательство совершённой работы. Главная функция состоит в создании между майнерами конкуренции за получение вознаграждения. Эти деньги выплачиваются тому, кто последним завершил поиск решения в генерации нового блока для blockchain. Кроме того, Proof of Work отвечает за подтверждение валидности криптовалютных транзакций.

Из всего обилия закладываемых в блокчейны задач PoW является наиболее «возрастным». Для постоянного использования он был задействован в 2009-ом именно в системе Bitcoin. Первые описания данного алгоритма появлялись с 1993-го при рассмотрении методик противодействия СПАМу.

Принцип работы алгоритма Proof of Work

Важность процесса подтверждения формируется особенностями технологии блокчейн. К примеру, транзакция монет BTC в системе Bitcoin осуществляется по такой схеме:
- один пользователь отправляет другому монеты биткоина в рамках операции продажи, покупки или обмена криптовалют;
- во время отправки специальный алгоритм хеширования шифрует и помещает в последний блок закодированные транзакции;
- благодаря майнерам совершаются процессы вычисления, которые подтверждают правильность транзакционных операций, а также самого блока;
- тот, кто первым успел разрешить задачу вычислительной мощностью своего устройства (риг, ПК, ферма), получит награду;
- подтверждённые транзакции с блоком занимают место в конце цепочки общего распределённого реестра. Следом в блокчейн включается новая транзакция по такой же схеме.

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

Никак не допустима разная работа нод в распределённом реестре одного блокчейн-проекта. Выручает тут алгоритм Proof of Work либо его аналоги.

Задача синхронизации выполняется через сложные вычисления, которые могут доказывать то, что решающий этап вычислений выполнен конкретным устройством (узел). Именно эта нода подтвердила нахождение блока и на неё начисляется вознаграждение.

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

Работа алгоритма Proof of Work здесь заключается в использовании вычисления хеш-функции. Это контрольная сумма от информации, характеризующей транзакцию и содержащейся в блоке.

В результате PoW помогает достигнуть:
- исключения ошибок и коллизий в криптосистеме;
- добиться эффективности в борьбе с обилием СПАМ-запросов;
- оказывать противодействие DDoS-атакам. В этом форсинге происходит зависание системы с потерей возможности обработки новых запросов от пользователей.

Если резюмировать отмеченные выше моменты, то функционирование алгоритма Proof of Work можно описать коротко. Набор правил, составляющих PoW, даёт возможность узлу контролировать то, чтобы другие ноды, намеревающиеся включить новый блок в цепочку (майнеры), выполняли условия алгоритма.

То есть должны быть правильно выполнены вычисления. Когда проверка подтверждает валидность, блок интегрируется в блокчейн, а майнер получает вознаграждение. В случае с биткоином после прошедшего халвинга она сегодня составляет 6,25 BTC (+0,124).

Сложность майнинга и награда за блок

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

Однако, для сложности майнинга важны ещё 2 фактора:
- хешрейт – общая вычислительная мощность сети;
- нагрузка – число пользователей, выполняющих транзакции и занимающихся добычей этого типа коинов.

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

К примеру, алгоритм Proof of Work в сети Bitcoin сконструирован программистами таким образом, чтобы новые блоки не могли быть найдены раньше 10 минут. Увеличение происходит автоматически благодаря специальным правилам в алгоритме.

Сейчас время блока биткоина равно 10m 40s. Увеличение спровоцировано колоссальным спросом на монеты BTC из-за стремительного роста котировки на крипторынке. Очень большая мощность направлена на майнинг биткоина.

Изначально сложность сети Bitcoin была на уровне 5,591 Мегахеш/сек, что позволяло добывать коины BTC на средненьких домашних ПК. Сегодня этот показатель хешрейта сети самой популярной криптовалюты равен в среднем 125,937 Экзахеш/сек.

Разумеется, такой колоссальный показатель делает невозможным использование простых ПК или обычных риг-ферм для майнинга биткоина. Требуются модули, собранные из ASIC-майнеров.

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

Нюанс! Несколько раз в истории сети Bitcoin случались одновременные решения нового блока несколькими нодами. Это чрезвычайно редкий сценарий. Здесь система около часа анализировала разные данные, чтобы найти различия в миллисекунды между моментами доставки найденного блока. Конечно, первое решение обязательно находится!

Особенности алгоритма PoW


У криптографического механизма Proof of Work есть две ключевые особенности:
- проверки результатов осуществляются с большей скоростью, чем контроль решений;
- чтобы консенсус был достигнут, нужно производить решение большой, сложной математической задачи.

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

Дальше достигается критическая отметка, вследствие чего станут накапливаться транзакции без подтверждений. Результатом станет неработоспособность блокчейна. Кстати, это сценарий, который в дальнейшем нужно ждать после добычи последней монеты биткоина – на 21 000 001-м коине сеть Bitcoin встанет.

Схематически работа алгоритма Proof of Work несложная. Подтверждение блока вычисляется посредством его собственного хеша. Кроме этого, в блоке содержится часть зашифрованной информации (хеш) из предшествующего блока. Получается таким образом реализовывать последовательную цепочку, делающую блокчейн единой структурой.

Какие вычисления в алгоритме Proof of Work

Чтобы осуществился консенсус PoW, нода, включающая блок в блокчейн, должна выполнить ряд вычислений, придерживаясь алгоритма. Возможно здесь несколько видов вычислений.

1. Частичная инверсия хешируется, когда ей находится применение внутри системы Hashcash. На самом деле потенциал данной системы задействовался при противодействии СПАМу и защиты от DDoS-атак. Чуть позже она была интегрирована в систему Bitcoin некоторых других криптовалют.

2. Реализация функций, базирующихся на деревьях Меркла (Merkle tree). Рассматривая этот тип вычисления в криптовалютах, можно в качестве примера реализации Merkle tree назвать биткоин.

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

Например, схематическое отображение Merkle tree выглядит действительно в форме растения. На рисунке дерево Меркла собой представляет блок, в котором содержится суммарный объём хешированных данных из 4-х предшествующих блоков. При этом есть отсылки на хеши блоков, сгенерированных раньше.

Сейчас каждый блок, являющийся структурной единицей блокчейна биткоина, способен вместить несколько тысяч шифрованных транзакций. Их хеширование производится алгоритмом SHA-256, хотя встречаются другие модели правил – Scrypt-jane, Crypto Night и проч.

Кроме этих двух вариантов вычислений, часто используются в криптографических системах:
- протокол Фиата-Шамира;
- функции Диффи-Хеллмана;
- и др.

Преимущества алгоритма Proof of Work

В честь создателя биткоина алгоритм PoW был назван консенсусом Накамото. Этот набор правил контролирует через подпись доказательство работы майнера. Кроме того, он изменяет уровень сложности доказательства таким образом, чтобы контролировать хешрейт криптовалютной сети.

Специалисты выделяют следующие преимущества алгоритма Proof of Work:

- невозможно подделывать или переносить доказательство, получаемое посредством PoW, на другие блоки blockchain;

- предотвращает атаку «Сибиллы» – создание большого числа ложных узлов, вычислительная мощность которых в сумме превышает возможности реальных нод. Вследствие этого вычислительные процессы злоумышленника получают приоритет. Сегодня фактически нельзя реализовать атаку «Сибиллы» по причине необходимости колоссальной мощности. Её нельзя эмулировать либо подделывать;

- майнерам обеспечивается фактор, стимулирующий вести честную работу без нарушения правил алгоритма Proof of Work. Ошибки или скарификации наказываются лишением награды;

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

- нельзя предварительно формировать доказательства блоков. Оно создаётся исключительно на основании ранее закрытого элемента блокчейна. Из последнего заполненного блока в новый обязательно идёт связующий переход.

Также благодаря консенсусу Накамото система получает устойчивость к цензуре. Криптовалютная сеть из-за децентрализации неконтролируема, её невозможно видоизменять либо заменять блоки.

Проверка валидности несложная, следовательно, у системы остаётся резерв возможностей для сохранения максимальной объективности. Алгоритм Proof of Work контролирует правильность доказательств работы, если имеется блокчейн и достаточно мощный вычислительный потенциал устройства.

Где применяется PoW


Самым известным примером использования алгоритма Proof of Work является система Bitcoin, а также сети его софтфорков и хардфорков. Так dogecoin, litecoin, namecoin, bitcoin sv, zcash или другие проекты вместе с блокчейном BTC используют PoW.

На похожих принципах построена сеть Ethereum, которую специалисты всё не могут перевести полностью на другой вариант алгоритма. Монеты ETH также можно добывать майнингом. У большинства приложений, реализованных на платформе эфириума, основным набором правил выступает алгоритм Proof of Work.

Во многих популярных криптомонетах задействован принцип доказательства совершённой работы (консенсус PoW). Показать это можно в цепочках: блокчейн-система – алгоритм хеширования – тикер монеты:
- Quark – 6-поточный алгоритм (SHA-3, Blake, JH, Grostl, Blue Midnight Wish, Skein) – QRK;
- Bitcoin – SHA256 – BTC;
- Litecoin – Scrypt – LTC;
- Ethereum – Ethash – ETH;
- Monero – CryptoNight – XMR;
- Dash – X11 – DASH;
- Bitcoin sv – SHA256 – BSV;
- Zcash – Equihash – ZEC;
- Ethereum classic – Ethash – ETC;
- Bitcoin cash – SHA256 – BCH.

Недостатки алгоритма Proof of Work

Поскольку совокупность правил, формирующих алгоритм PoW, является первой версией достижения консенсуса, у неё есть немало недостатков.

1. Требуется большая вычислительная мощность. Хешированию нужен солидный объём производительности вычислительной функции устройства, чтобы майнить криптовалюту на PoW. Сегодня не удастся добыть биткоины или даже сатоши, используя старые видеокарты.

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

Например, одна из крупнейших майнинг-ферм в России только на оплате электроэнергии теряет порядка 6 000 000 рублей.

2. Рост централизации криптовалютных сетей. Эта проблема всецело зависит от роста сложности майнинга. Во время увеличения параметра мощности для подбора подходящего хеша появляется спрос на оборудование и оно взлетает в цене.

Приобретать его может лишь небольшое число компаний и редкие частники. В результате мощности майнинг-ферм нарастает, создавая угрозу централизации сетей при перехвате более 51%.

Переход этой границы одной фирмой или их объединением позволит:
- устанавливать свои правила;
- корректировать блокчейн;
- блокировать выплаты другим майнерам;
- и т. п.

Участникам сети, старающимся добывать коины в одиночку, не остаётся шансов заработать.

3. Бесполезные вычисления при высоком энергопотреблении. Из всего количества участников майнинга лишь один получает награду за блок. Работа остальных, даже выполненная на 99%, остаётся бесполезной для криптовалютной сети. То есть эти вычисления при алгоритме PoW фактически совершаются впустую.

Пока не изобретены способы перенаправления сделанных вычислений для других целей.

4. Гипотетическая возможность совершить атаку 51%. Чуть выше этот сценарий вкратце был описан. То есть злоумышленник если получит контроль над 51% и более мощности криптосети, то сможет манипулировать блокчейном и его функциями.

Он будет отменять транзакции, корректировать их, назначать себе выплаты и делать иные подобные мошенничества. Потому как его вычислительная мощность больше, система станет назначать приоритетной его цепочку. Легальная останется бесполезной и майнеры ничего не получат.

Всё же стоит напомнить, что на топовые криптосети осуществить сегодня атаку 51% почти нереально. Слишком высокий у них уровень хешрейта.

5. Экологический момент. Возрастающая популярность майнинга вызывает дефицит электроэнергии на рынке. Производители вынуждены наращивать генерацию до предела. Сжигается для этого много ископаемого топлива, что загрязняет атмосферу, истощает ресурсы, изменяет климат.


Заключение: алгоритм Proof of Work

Среди всех вариантов консенсус PoW наиболее «возрастной», самый известный механизм контроля работы блокчейна криптовалютных проектов. Некоторые рассматривают его, как устаревший способ обеспечения работоспособности распределённых реестров.

Конечно, сегодня появляются новые модификации и версии консенсусов, такие как Proof of Capacity, Proof of Stake, Proof of Burn и т. д. Данные алгоритмы менее затратные, доступные и порой более эффективные в решении определённых задач.

В случае продолжения успешной работы этих альтернативных механизмов, вероятно, алгоритм Proof of Work утратит актуальность. Например, систему Ethereum с 2017 года пытаются перевести на протокол Casoer, формируемый алгоритмом Proof of Stake.

Однако, до сих пор криптовалюта №2 продолжает в основном функционировать на Ethash, относящегося к алгоритму Proof of Work. Пока уход от негативных перспектив из-за роста сложности сети не получается.