Что такое Proof-of-Work?
Proof-of-Work, или PoW, является оригинальным алгоритмом консенсуса в сети Blockchain.
В Blockchain этот алгоритм используется для подтверждения транзакций и создания новых блоков в цепочке. С PoW майнеры конкурируют друг с другом, чтобы завершить транзакции в сети и получить вознаграждение.
В сети пользователи отправляют друг другу цифровые токены. Децентрализованный регистр объединяет все транзакции в блоки. Однако следует позаботиться о том, чтобы подтвердить транзакции и упорядочить блоки.
Эта ответственность ложится на специальные узлы, называемые майнерами, а процесс называется майнингом.
Основными принципами работы являются сложная математическая головоломка и возможность легко доказать решение.
Что вы подразумеваете под «математической загадкой»?
Это проблема, для решения которой требуется много вычислительных ресурсов.
Их много, например:
- хэш-функция, или как найти вход, зная вывод.
- целочисленная факторизация, другими словами, как представить число как умножение двух других чисел.
- протокол загадки с гидом. Если сервер подозревает DoS-атаку, он требует вычисления хеш-функций для некоторых узлов в определенном порядке. В этом случае проблема заключается в том, как найти цепочку значений хеш-функций.
- Ответ на проблему PoW или математическое уравнение называется хэш.
Поскольку сеть растет, она сталкивается со все большими и большими трудностями. Алгоритмы требуют все больше и больше хэш-мощности для решения. Таким образом, сложность задачи является деликатным вопросом.
Почему?
От этого зависит четкая работа и скорость работы блокчейн-системы.
Но проблема не должна быть слишком сложной. Если это так, генерация блоков занимает много времени. Транзакции застревают без выполнения и в результате рабочий процесс зависает на некоторое время. Если проблема не может быть решена за определенный промежуток времени, генерация блоков будет своего рода чудом.
Но если проблема слишком проста, она подвержена уязвимостям, DoS-атакам и спаму.
Решение должно быть легко проверено. В противном случае не все узлы способны анализировать правильность вычислений.
Тогда вам придется доверять другим узлам, и это нарушает одну из важнейших особенностей блокчейн – прозрачность.
Как этот алгоритм реализован в Blockchain?
Майнеры решают головоломку, формируют новый блок и подтверждают транзакции.
Насколько сложна головоломка, зависит от количества пользователей, текущей мощности и нагрузки на сеть. Хэш каждого блока содержит хэш предыдущего блока, что повышает безопасность и предотвращает любое нарушение блока.
Если майнеру удается решить головоломку, формируется новый блок. Транзакции размещаются в этом блоке и считаются подтвержденными.
И где обычно применяется PoW?
Proof-of-Work используется во многих криптовалютах.
Самым известным приложением PoW является Биткоин. Именно Биткоин заложил основу для такого консенсуса. Загадка – это Hashcash. Этот алгоритм позволяет изменять сложность головоломки в зависимости от общей мощности сети. Среднее время формирования блока составляет 10 минут. Криптовалюты на основе Bitcoin, такие как Litecoin, имеют аналогичную систему.
Еще один крупный проект с PoW – Ethereum. Учитывая, что почти три из четырех проектов реализованы на платформе Ethereum, можно с уверенностью сказать, что большинство приложений Blockchain используют модель консенсуса PoW.
Зачем использовать алгоритм консенсуса PoW в первую очередь?
Основными преимуществами являются защита от DoS-атак и низкое влияние ставки на возможности майнинга.
Защита от DoS-атак. PoW накладывает некоторые ограничения на действия в сети. Им нужно много усилий для выполнения. Эффективная атака требует больших вычислительных мощностей и большого количества времени для выполнения вычислений. Поэтому атака возможна, но отчасти бесполезна, так как затраты слишком высоки.
Возможности добычи. Неважно, сколько денег у вас в кошельке. Важно иметь большую вычислительную мощность для решения головоломок и формирования новых блоков. Таким образом, владельцы огромных сумм денег не отвечают за принятие решений для всей сети.
Есть ли недостатки в алгоритме консенсуса PoW?
Основными недостатками являются огромные расходы, «бесполезность» вычислений и 51 процент атак.
Огромные расходы. Майнинг требует высокоспециализированного компьютерного оборудования для запуска сложных алгоритмов. Затраты неуправляемы Майнинг становится доступным только для специальных майнинговых пулов. Эти специализированные машины потребляют большое количество энергии, что увеличивает затраты. Большие затраты угрожают централизации системы, поскольку она приносит пользу. Это легко увидеть в случае с биткоинами.
«Бесполезность» вычислений. Майнеры выполняют большую работу по генерации блоков и потребляют много энергии. Однако их расчеты не применимы нигде. Они гарантируют безопасность сети, но не могут быть применены к бизнесу, науке или любой другой области.
Атака на 51%, о чем ты говоришь?
Атака в 51% или мажоритарная атака – это случай, когда пользователь или группа пользователей контролируют большую часть мощности майнинга.
Злоумышленники получают достаточно энергии, чтобы контролировать большинство событий в сети.
Они могут монополизировать создание новых блоков и получать награды, поскольку они могут помешать другим майнерам завершить блоки.
Они могут отменить транзакции.
Предположим, Алиса отправила Бобу немного денег, используя блокчейн. Алиса участвует в 51% случаев нападения, а Боб – нет. Эта транзакция помещается в блок. Но злоумышленники не позволяют переводить деньги. В цепи происходит развилка.
Далее майнеры присоединяются к одной из веток. И поскольку они обладают большей вычислительной мощностью, их цепочка содержит больше блоков.
В сети сохраняется ветвь, которая длится дольше, а более короткая отклоняется. Так что сделка между Алисой и Бобом не состоялась. Боб не получает деньги.
Следуя этим шагам, злоумышленники могут отменить транзакции.
Атака в 51 процент не является выгодным вариантом. Это требует огромного количества силы майнинга. И как только она становится публичной, сеть считается скомпрометированной, что приводит к оттоку пользователей. Это неизбежно приведет к снижению цены на криптовалюту. Все, следовательно, средства теряют свою стоимость.