Как работает Proof of Work (POW)?

Протокол подтверждения Proof of Work как работает

 

Как работает протокол подтверждения Proof of Work (POW)?

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

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

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

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

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

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

  • Хеш-функция, или попытка найти входные данные, зная выходные;
  • Разложение целого числа на множители;
  • «Головоломка для экскурсанта»: если сервер подозревает DoS-атаку, он требует от клиента вычисления хеш-функций, иногда в определенном порядке, тогда это проблема вычисления значений цепочки хэш-функций.

В случае с PoW используется хэширование.

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

Как это устроен Proof of Work?

От этого механизма зависит точность и скорость блокчейна. При этом проблема не должна быть слишком сложной — в этом случае генерация блока займет много времени, а значит, в сети «зависнет» много незавершенных транзакций. Если проблема не может быть решена за предсказуемое время, создание блоков станет счастливой случайностью.

Если же проблема решается слишком просто, это делает систему уязвимой для злоупотреблений, спама и DoS-атак.

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

Как Proof of Work реализован в блокчейне?

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

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

Где используется доказательство выполнения работы?

Во множестве криптовалют. Конечно, наиболее известная из них — биткоин, и именно биткоин задал эту тенденцию. Здесь используется алгоритм Hashcash, позволяющий менять сложность задачи в зависимости от общей вычислительной мощности сети. Среднее время формирования блока составляет 10 минут. Подобная же система реализована в похожих на Bitcoin криптовалютах, например, в лайткоине.

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

Почему именно Proof of Work?

Основные его преимущества — защита от DoS-атак и низкое влияние доли криптовалюты в собственности у майнера на возможности добычи.

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

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

Какие у Proof of Work недостатки?

Основные проблемы: огромные расходы, «бесполезность» вычислений и «атака 51%».

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

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

Что такое атака 51%?

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

Кроме того, они могут отменять транзакции.

Предположим, Алиса послала Бобу деньги через блокчейн. Алиса участвует в атаке 51%, а Боб — нет. Их транзакция помещается в блок, но атакующие не дают переводу состояться. Происходит раздвоение блокчейна.

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

Сеть устроена так, что принимается более длинная цепочка, а короткая отклоняется, а значит, сделка между Алисой и Бобом не состоялась, и Боб не получил деньги.

Вот таким образом злоумышленники могут отменять транзакции.

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

А что думаете по этому поводу Вы?  Как Вы зарабатываете на жизнь и готовы ли Вы начать майнить? Делитесь своим мнением в комментариях!

Читайте также:

Добавить комментарий

Ваш e-mail не будет опубликован.

6 + один =