Главная - Технологии - Алгоритм консенсуса - Полный обзор алгоритма PoW

Полный обзор алгоритма PoW

Алгоритм доказательства работы Proof-of-Work (PoW) изначально был изобретен для борьбы со спамом в электронной почте. Позже его стали использовать для защиты блокчейна и достижения консенсуса между узлами. Давайте рассмотрим технические особенности механизма PoW и его главные отличия от PoS (доказательство владения долей).

Понятие алгоритма Proof-of-Work

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

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

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

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

Справка! Блок – это файл, который содержит информацию о проведенных транзакциях в сети. Данные, записанные в блок, невозможно изменить. Подтвержденный блок всегда добавляется в конец цепи. В этой цепи содержится вся информация о проведенных платежах. После добавления файла в конец цепи, он не подлежит изменениям. Такой механизм обусловлен особенностями системы безопасности, поскольку в каждом новом блоке содержится информация о его предшественнике.
PoW проверяет наличие вычислений при открытии нового блока. Алгоритм защищает блокчейн от спама, DPoS-атак и коллизий в сети.

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

История появления алгоритма PoW

PoW – один из самых старых алгоритмов, который использовался в создании самой первой криптовалюты Биткоин. Первое описание протокола появилось еще в 1993 году. По задумке авторов, он должен был бороться со спамом. И эту функцию алгоритм выполнил. В 1997 году Адам Бэк успешно запустил проект Hashcash, который основывался на концепции PoW. Отправители писем, используя мощности ПК, должны были провести миллиарды вычислений, которые подтверждали истинность темы письма. Такое решение блокировало спам. С технической стороны это выглядит как хеширования выбранного диапазона данных, например, строчек из письма.

Через 2 года после запуска Hashcash впервые появился термин Proof-of-Work. В этот период алгоритм, подобно математической капче, решал несколько простых задач, которые защищали систему от спама и DDoS-атак. Для выполнения операций весомые ресурсы не требовались, поэтому система работала слаженно.

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

Развитие криптовалют и совершенствование оборудования увеличили нагрузки на систему и усложнили выполнение задач. Алгоритм PoW буквально начал «пожирать» электроэнергию, что привело к снижению вознаграждения. Майнинг популярных криптовалют становился нерентабельным. В 2012 году производительность блокчейна Биткоин превысила энергозатраты на функционирование самого мощного в мире компьютера. После появления алгоритма PoS, Proof-of-Work начал отходить на второй план или применяться в тандеме. Сегодня алгоритм выполненной работы используется в проектах, которые продолжают эмиссию токенов.

Сложность PoW-майнинга

Сложность добычи монет измеряется количеством вычислений, которое необходимо для добавления блока в блокчейн. На сложность влияет много факторов: совокупность вычислительной мощности, количество пользователей, нагрузка на сеть и т. д. Параметр сложности введен для того, чтобы вычислительные задачи не решались слишком быстро, иначе это приведет к проблемам в сети.

В сети Биткоин блоки генерируются в среднем каждые 10 минут, поэтому сложность увеличивается автоматически. Большое количество майнеров сети и «поглощение» огромных мощностей привели к «отсеиванию» мелких майнеров.  Изначально Биткоины можно было добывать на обычных видеокартах, сегодня для этого требуются ASIC майнеры, которые стоят тысячи долларов.

В основе алгоритма PoW лежит механизм, который состоит из 4 этапов:

  1. Генерация математических задач, которые требуют больших мощностей. При совершении каждой транзакции майнер должен подтвердить свою личность. При этом обработка одного блока может занимать несколько дней, как в сети Биткоин.
  2. Создание заведомого результата, что дает возможность легко проверить результаты вычислений. С технической стороны результаты PoW похожи на ответы к задачам, которые публикуются в учебниках. Истинность сложных и длительных вычислений система проверяет за несколько секунд.
  3. Пользователи сети совершают транзакции, отправляя заранее оговоренное количество монет на зашифрованные адреса. Объединившиеся транзакции формируют зашифрованные блоки
  4. Истинность блоков проверяется длительными вычислениями. Пользователь, который первый решил задачу, получает вознаграждение в виде монет. Подтвержденные блоки сохраняются в блокчейн, а система тем временем запускает новый виток транзакций. Каждая нода сети получает копию для синхронизации данных.

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

Что такое математическая задача

Математические задачи – это головоломки, которые требуют вычислительных мощностей. При этом задачи делятся на несколько видов:

  • Разложение единого числа на множители.
  • Поиск входных параметров при известном результате, или хеш-функция.
  • Вычисление значений функции хэша в определенной последовательности при подозрении на DDoS-атаку.

Для решения задач в рамках алгоритма Proof-of-Work используется хеширование. Но развитие сети приводит к возникновению многих трудностей, в том числе к увеличению сложности задач.

Криптовалюты, которые работают на алгоритме PoW

Proof-of-Work применяется в большинстве известных криптовалют, среди которых:

  1. Bitcoin. Это самая первая и востребованная криптовалюта, которая использует алгоритм PoW с самого начала (с 2008 года).
  2. Litecoin – известный форк Биткоина, который позволяет в два раза увеличить скорость обработки блоков, чем в сети BTC. Лайткоин – это первая сеть, которая провела конвертацию криптовалют.
  3. Ethereum – криптовалюта, которая первая предложила сообществу смарт-контракты для автоматизации различных процессов и создания приложений. Сегодня Ethereum использует гибридный алгоритм Casper, а в дальнейшем разработчики хотят полностью отказаться от алгоритма PoW. Подобное вызвано тем, что Виталик Бутерин изначально намеревался использовать PoS, но алгоритм имел проблемы, которые вынудили разработчиков обратиться к более проверенным механизмам. Сейчас Бутерин надеется, что созданный им протокол Casper решит актуальные проблемы алгоритма PoS и сможет полностью предотвратить вероятность форков, что в дальнейшем позволит оказаться от Proof-of-Work.
  4. DASH – перспективная криптовалюта, которая обеспечивает полностью анонимные платежи. Сегодня количество транзакций DASH превышает 1 % от общего объема. Майнинг DASH основан на алгоритме хеширования Х11. Это модернизированная разновидность PoW, которая привела к повышению уровня загрузки системы. Как результат – рост популярности сети, увеличение сложности майнинга и курса криптовалюты.
  5. Quark – экспериментальная криптовалюта, которую можно добывать на CPU-процессорах. Изначально транзакции в сети подтверждались каждые 30 минут. Бесконтрольный выпуск монет привлек внимание пользователей, из-за чего количество майнеров увеличилось. Легкий майнинг привел к тому, что в первые 6 месяцев существования проекта пользователи добыли практически 200 миллионов монет. Разработчикам пришлось сократить эмиссию до 1 млн Quark в год.
  6. Monero – платформа с анонимной платежной системой. Разработчики перевели криптовалюту на новый алгоритм консенсуса PoW CryptoNight. Это произошло по той причине, что 85 % общего хешрейта сети генерируется FPGA и ASIC устройствами. Хешрейт одного такого устройства составляет около 128 Kh/s, тогда как майнинг ферма из 6 видеокарт еле дотягивает до 6-12 Kh/s. Это ставит под сомнение децентрализацию сети и противоречит принципам, которые заложены в основе Monero.

Преимущества алгоритма PoW

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

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

В техническом плане, алгоритм консенсуса Proof-of-Work состоит из цепочки вычислительных задач, которые блокируют неподтвержденные цепи незарегистрированных участников. Такой механизм обеспечивает алгоритму PoW 5 главных преимуществ:

  • Предотвращение «атаки 51 %», которая еще называется «атака большинства». Ее суть заключается в том, что группа пользователей берет под контроль подавляющее большинство вычислительных мощностей. Это приводит к манипуляциям с сетью. Создание новых блоков монополизируется. Алгоритм PoW требует решения объемных задач от каждого участника. Допустим, я отправляю через блокчейн средства пользователю, который оказался жертвой «атаки 51 %». Транзакция отправляется в блок, но мошенники не позволяют зачислить средства на счет получателя. В этом случае внутри сети создается форк. Дальше к одному из ответвлений присоединяются майнеры, если в их руках сконцентрирована основная часть мощностей, в их цепочке формируется больше блоков. В блокчейне признается ответвление, которое имеет большую длительность. Ответвление, которое короче, «отбрасывается». Таким образом, операция между мной и пользователем не проводится. Из этого следует, что теоретически «атака 51 %» возможна, но она требует огромных затрат на мощности. Как только атака произойдет, в сети начнется отток клиентов, и стоимость криптовалюты мгновенно упадет. Затраты на майнинг атакующих попросту не окупятся, что приведет лишь к потере времени и средств.
  • Предотвращение кражи отдельных блоков. Атакующие не могут похитить одновременно несколько цепей, поскольку подтверждение каждой транзакции требует решения новых математических задач. Это еще один фактор, который защищает сеть от «атаки 51 %».
  • Прозрачность вознаграждения. Алгоритм Proof-of-Work проводит автоматическое вычисление мощностей каждого пользователя. Эти данные учитываются при расчете вознаграждений, что обеспечивает справедливое распределение монет. Алгоритм PoW не допускает ошибок.
  • Предотвращение предварительных доказательств. Для каждой цепочки блоков необходим новый комплекс вычислений. Алгоритм не может быть просчитан преждевременно, обработка происходит в определенной последовательности.
  • Реальная стоимость цифровых монет. Вычисления, которые необходимы для генерации каждого блока, требуют энергозатрат. Реальная стоимость криптовалюты равна стоимости электричества, которое было потрачено для добычи монет. Теоретически, такой подход защищает криптовалюты от падения курса до отметки 0. Стоимость добычи монет не может превышать их итоговую цену.

Алгоритм справляется с обеспечением безопасности блокчейна и нивелированием мошеннических действий.

Что такое алгоритм PoS

Растущая сложность майнинга PoW криптовалют, а также нецелесообразность алгоритма после полной эмиссии монет привели к появлению нового алгоритма Proof-of-Stake (доказательство доли владения). PoS появился в 2012 году с целью уменьшения энергозатрат и повышения эффективности майнинга. Эти проблемы напрямую связаны с доказательством выполнения работы.

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

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

В алгоритме PoS предусмотрен еще один фактор – время владения токенами. Блокчейн-системы заинтересованы в долгосрочных инвестициях со стороны участников. Те, кто купил монеты вчера, уступают тем, у кого они хранятся на счету несколько месяцев.

Таким образом, предпочтение отдается пользователям с большими и старыми ставками. Это чревато централизацией сети, ведь крупные игроки имеют привилегии над остальными участниками. Но с другой стороны, владельцы крупных счетов заинтересованы в благосостоянии сети. Чтобы произвести «атаку 51 %», хакерам необходимо купить большую часть монет сети, стоимость которых обвалится сразу же после атаки. Мошенникам нет никакого смысла атаковать самих себя.

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

Основные отличия PoW от PoS

Оба алгоритма лежат в основе современного рынка криптовалют. PoS имеет несколько очевидных преимуществ:

  • повышает скорость создания блоков;
  • не требует мощного оборудования;
  • снижает затраты на электроэнергию;
  • уменьшает размеры комиссий.

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

Также PoW полностью предотвращает двойную трату. Каждый новый блок формируется только после завершения предыдущего, при этом он содержит в себе информацию о своем предшественнике. В отличие от доказательства доли, в алгоритме PoW невыгодны форки, поскольку майнеры получают вознаграждение только за «истинные» блоки. В то же время PoS криптовалюты можно атаковать путем создания форков. Поскольку участники системы не тратят «подлинные» средства, они могут оказывать поддержку атакующим. Это приведет к образованию более длинной цепочки, в результате чего мошенники могут отклонять платежи.

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

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

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

Недостатки алгоритма PoW

Алгоритм Proof-of-Work эффективен в защите блокчейнов и личных данных от хакерских атак, но у него есть ряд недостатков:

  • Снижение доходности майнинга. Сложность расчетов регулярно возрастает, поэтому майнеры вынуждены покупать дорогостоящее современное оборудование, которое расходует много электроэнергии.
  • Увеличение централизации майнинга. Биткоин, например, целесообразно майнить только на дорогостоящих ASIC устройствах. Такое оборудование не доступно для рядовых пользователей, в результате чего добычей монет занимается небольшое количество пользователей. Поскольку выгоду от майнинга получают единицы, децентрализация сети постепенно дискредитируется.
  • Негативное влияние на стоимость криптовалют. Когда эмиссия монет ограничена, PoW искусственно повышает сложность вычислений, поэтому майнинг становится невыгодным. При неограниченной эмиссии монет происходит обратная ситуация: бесконтрольный майнинг обесценивает монеты.
  • Бесполезность расчетов. Новые блоки постоянно генерируются, майнеры потребляют много энергии. Но вычисления, которые генерирует система, не имеют практического применения. Они не используются нигде, кроме майнинга.

К недостаткам можно также отнести теоретическую возможность «атаки 51 %». Я специально причислил этот фактор к сильным и слабым сторонам алгоритма. В реальности такая ситуация невыгодна, поскольку для добычи монет строятся целые электростанции, вычислительные мощности которых превзойти невозможно. Но если рассматривать малоизвестные или новые криптовалюты, теоретически это возможно.

Какие еще бывают алгоритмы консенсуса

Помимо PoS и PoW существует еще ряд механизмов доказательств, которые используются в блокчейне:

  • Delayed Proof-of-Work (DPoW, отложенное доказательство работы). Это гибридный метод консенсуса, который позволяет одной сети пользоваться преимуществами безопасности другого блокчейна. Такое возможно благодаря нотариальным узлам, которые переносят информацию из первого блокчейна во второй. Таким образом, взлом одной сети невозможен без взлома второй. Впервые алгоритм DPoW был применен в проекте Komodo, который совместим с блокчейном Биткоин.
  • LPoS (арендованное подтверждение доли). Суть заключается в том, что чем больше узлов генерируют блоки, тем выше уровень безопасности блокчейна. Некоторые сети требуют высоких депозитных ставок, не все пользователи могут позволить себе стать майнерами, из-за чего их количество снижается. Эту проблему можно решить путем сдачи собственных средств в аренду более крупным нодам и получать таким образом процент от вознаграждения.
  • PoI (подтверждение важности). Proof-of-Importance помимо суммы средств на счету, учитывает репутацию и активность участников. Это усовершенствованная модель алгоритма PoS, которая мотивирует участников быть активными и совершать как можно больше транзакций в сети. Алгоритм PoI применяется в блокчейне NEM.
  • DPoS (делегированное подтверждение доли). Каждый участник, который сделал минимальный взнос, имеет право делегировать на добычу блоков своего кандидата. Это напоминает выборы: дивиденды получает тот участник, чей кандидат оказался в списке избранных. В системе Lisk, например, список майнеров состоит из 101 участника. Данный алгоритм также применяется в блокчейнах Cardano, BitShares, RaiBlock.
  • PoQ (комбинирование алгоритмов PoW и PoI). Подобно PoI, механизм PoQ использует показатели активности, при этом для майнинга применяется алгоритм PoW. Такой механизм реализован в блокчейне DollarBit, который часто сравнивают с Биткоином. Криптовалюты добываются аналогично, но в системе DBIT активность и поведение майнеров контролируется при помощи инструмента CryptoBank, который рассчитывает коэффициент участия, независимо от суммы на кошельке пользователя.
  • PoC (доказательство вместимости). Метод Proof-of-Capacity основан на предоставлении дискового пространства. Данный алгоритм имеет разновидности: Proof-of-Storage, Proof-of-Spase. Добыча монет на жестких дисках реализована в блокчейне BurstCoin.
  • PoA (доказательство активности). Гибридный механизм, в котором объедены алгоритмы PoS и PoW. За генерацию новых монет отвечает доказательство работы, а за ежегодный доход от депозита – доказательство доли. Такой метод не позволяет манипулировать генерацией блоков, даже если в руках участника сосредоточено 50 % всех мощностей. Для этого нужно обладать еще 50 % монет. Доказательство активности применяют блокчейны Nxt, Oracles Network.
  • BFT (стратегия византийских генералов). Прозрачность сети и правильную запись транзакций обеспечивают генералы (валидаторы), которые управляют состоянием сети, совершают быстрые платежи и обмениваются сообщениями. Данный алгоритм применяется в системе Ripple. Валидаторы предварительно выбираются фондами Stellar и Ripple. Шансы есть у всех пользователей, которые получили доверие сообщества. Блокчейны на основе BFT не подвергаются атакам. Разве что нападение спровоцируют сами участники сети. Данный алгоритм характеризуется масштабируемостью и охватом транзакций с низкой стоимостью. Но BFT имеет один весомый недостаток – компоненты, которые способствуют централизации сети.
  • PoB (Proof-of-Burn, доказательство сжигания). Часть заработанных монет майнеры отправляют на burn address – специальный кошелек, с которого монеты назад вернуть нельзя. Чем больше монет «сожжено» участником, тем выше шансы стать майнером. Алгоритм стимулирует регулярное сжигание за счет уменьшения статистики монет, перечисленных на burn address. Данная концепция предполагает получение прибыли за подтверждение блоков, даже после «сжигания» части монет. Алгоритм PoB не требует мощного оборудования, майнить криптовалюту можно на обычном ПК. Энергозатраты при этом минимальны. Алгоритм PoB используется в блокчейне Slimcoin.

Перспективы алгоритма PoW

Алгоритм Proof-of-Work применяют только те блокчейны, где осуществляется эмиссия монет. Когда эмиссия подходит к концу, платформа переходит на механизм PoS или его разновидности. Тем не менее PoW является самым старым и самым надежным из всех алгоритмов. Даже те разработчики, которые поддерживают альтернативные механизмы, вынуждены использовать доказательство работы хотя бы на этапе распределения монет.

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

Заключение

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

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

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

Источники

https://zen.yandex.ru/media/id/5a40bda879885eb05a4b4b02/obzor-algoritmov-konsensusa-kriptovaliut-5a8bfc8ef031731dbaee9397

https://clickchain.ru/library/algoritm-pow-proof-of-work-osobennosti-raboty-raznovidnosti-monet-majning/

https://cryptofound.com/ru/guide/blockchain/proof-of-work-vs-proof-of-stake/

https://cryptofeed.ru/knowledge/algoritm-proof-of-work/

Сохранить статью

о Дмитрий Шустов

Автор популярных материалов на различных криптовалютных и блокчейн площадках. Интересуюсь данной сферой с 2015 года. Трейдер-аналитик. Junior-программист. Окончил Московскую школу экономики. Работаю в АНО "Рейтинговое агентство оценки проектов цифровой экономики".