Proof of Work (сокращенно PoW) означает "доказательство работы" и является одним из ключевых понятий для блокчейна. Смысл блокчейна заключается в максимально надежном хранении информации - однако децентрализация системы делает ее уязвимой. Например, когда некий участник сети пытается загрузить свою копию блокчейна, остальные не могут быть уверены в том, что именно эта копия является корректной. Войдя в сговор, сотни других пользователей могут, в теории, сфальсифицировать информацию и начать массово отправлять ее другому пользователю.
Во время игры в "сломанный телефон" становится очевидно: при желании подставить другого человека или подшутить над ним, сделать это можно очень легко. Суть в том, что по правилам игры ложь и истина равнозначны. Однако в иных условиях за сведения, не соответствующие истине, приходится платить. PoW-алгоритм создан как раз для того, чтобы пользователи блокчейна смогли уяснить, инвестировали ли авторы информации в ее создание, или она была создана на безвозмездной основе. Рекомендуем к прочтению: Полный обзор алгоритма PoW показать полностью.
Значимость PoW
Руководства у децентрализованной сети нет - значит, возникающие проблемы надо решать без указаний сверху.
Какая версия истории является корректной?
Важность истории неоспорима для сети, участникам которой необходимо понимать, кто обладает финансами, кто их получает и кто расходует. Некогда бытовал стереотип, согласно которому не может быть консенсуса в децентрализованной сети - ведь ее участники в отсутствие руководства просто не договорятся между собой.
Сетевой тайминг
Новые монеты биткойн генерируются каждые 10 минут, поэтому значимость фактора времени для сети нельзя отрицать. Отличие времени децентрализованного блокчейна от реального времени на часах заключается в том, что часы разных систем и пользователей могут показывать разное время. Таким образом, становится актуальной проблема подтверждения действий, совершенных в прошлом.
Обе вышеупомянутые проблемы находят решение с помощью алгоритма Proof of Work.
PoW: анализ алгоритма
Хэш-функция является уникальным цифровым отпечатком некоего фрагмента информации. По внешнему виду хэша невозможно определить, какая конкретно информация за ним стоит. Однако программное обеспечение, генерируя один и тот же хэш, дает возможность понять, к чему он относится и что собой представляет.
При генерации очередного блока для блокчейна майнер отправляет в сеть два блока. Первый содержит в себе все транзакции блока, второй является доказательством энергозатрат майнера на генерацию блока. Искажение информации приведет к нерентабельности этих затрат. Чтобы этот принцип работал, система, в которой действуют майнеры, должна быть организована наподобие лотереи. Проще говоря, выигрыш должен доставаться только одному участнику. PoW позволяет эту задачу благополучно решить.
Если в хэшируемом фрагменте информации поменять хотя бы 1 символ (или добавить, или убрать), новый хэш будет совершенно не похож на первоначальный.
Теперь следует вообразить, что компьютер выдвинул такое требование: "Укажите мне первое число, которое при прибавлении к концу указанной информации приведет к генерированию хэша, в начале которого стоит ноль". В ответ на требование генерация хэшей запускается и продолжается до первого совпадения. Как только компьютер получил хэш, который удовлетворяет озвученному условию, он передает его тому компьютеру, который осуществляет проверку. Проверяющий компьютер посредством одного-единственного действия может убедиться, что расчеты действительно были проведены. Таким образом, налицо доказательство работы.
Поставленное условие может быть гораздо более сложным. Например, требуется найти фрагмент информации с 10 нулями в конце. Обычному компьютеру понадобился бы для этого не один век - но несколько мощных устройств способны осуществить триллионы попыток всего за несколько минут.
Очевидно, что эти устройства будут потреблять большие объемы электроэнергии. Тем самым, поиски допустимого хэша для недопустимого блока транзакций становятся нецелесообразными. Майнер имеет полное право заявить, что каждая транзакция в блоке действительна, и приступить к хэшированию. Однако недействительный блок будет отклонен всеми остальными устройствами сети, поэтому вознаграждение майнеру не начислится.
Один и тот же блок не может быть хэширован одновременно двумя майнерами. Это правило помогает сохранять в майнинге принцип децентрализации. Если хэшировать "k+m", результат будет совсем не идентичным хэшированию "m+k". Сетевые транзакции проходят к майнерам в разном порядке, благодаря чему все майнеры обрабатывают блоки по-разному. Свою роль также играют индивидуальные нюансы взимания комиссии.
Даже если корректным образом было подтверждено несколько блоков, лишь один будет включен в блокчейн.
Новый блок должен гарантированно генерироваться раз в 10 минут ради поддержания финансовой политики биткойна. С этой целью каждые 14 дней стоимость добычи корректируется. Узнать заблаговременно, каким будет хэш, нереально. Именно поэтому майнеру нужно как можно больше мощных компьютеров, чтобы увеличить свои шансы "победы в лотерее" - а опережать конкурентов в этом процессе ему помогает Proof of Work.
Слабые места PoW
Майнинг по PoW-алгоритму - это наиболее безопасный, но не единственный возможный способ прийти к консенсусу в условиях децентрализации.
Распространенной альтернативой PoW является Proof of Stake - однако этот подход чреват частичной либо полной централизацией сети.
Итак, слабых мест у PoW насчитывается два.
Потребление электричества в больших объемах
Менее 1 микросекунды - столько времени уходит на хэширование вышеописанного процесса по поиску фрагмента информации с заданным параметром. Но биткойн-сеть включает в себя миллионы микрочипов, которые осуществляют хэширование каждые 10 минут - а это подразумевает внушительные энергозатраты.
20 млрд хэшей или 20 экзашей в секунду - таков хэшрейт биткойн-сети на текущий момент. Для стандартного компьютера даже 1 млрд хэшей в секунду является недостижимой планкой. Впрочем, если бы она была достижима, то для того, чтобы догнать хэшрейт биткойн-сети, пришлось бы задействовать 20 млрд компьютеров.
Биткойн-майнеры прибегают к специализированным чипам для хэширования. Это помогает избежать ботнет-атак, когда хакеры захватывают чужие устройства и осуществляют майнинг на их мощностях. В принципе, злоумышленники могут осуществить такой захват. Однако совокупная мощность устройств, до которых они могут добраться, будет слишком мала по сравнению с биткойн-сетью. Хакеры будут генерировать блоки, однако сеть их отклонит.
История всех когда-либо сгенерированных блоков сохраняется в блокчейне - в том числе PoW каждого блока. При подключении к сети нового устройства весь блокчейн загружается на него, и происходит проверка всех без исключения элементов работы. Если пользователю направлен некорректный блокчейн, его программное обеспечение все равно найдет подлинную версию. Это произойдет за счет подключения ко множеству устройств и поиска наиболее протяженной цепочки, которая содержит наиболее продолжительное кумулятивное доказательство работы.
Этот процесс предусматривает защиту законами физики, то есть термодинамическую безопасность. Чтобы осуществить задуманное, хакерам придется задействовать неоправданно масштабные ресурсы. Придерживаться общепринятых правил и зарабатывать биткойны для них ощутимо более прибыльно.
Биткойн предусматривает такую модель безопасности, что потребляемая сетью энергия эту же сеть и защищает. Из-за этого первая криптовалюта имеет репутацию чрезвычайно энергоемкой. СМИ чересчур активно пугают свою аудиторию, сообщая о том, что майнинг идет вразрез с глобальными попытками уменьшить выбросы углерода в атмосферу.
Однако для майнеров было бы оптимально задействовать возобновляемые источники энергии, чтобы сократить издержки. В конечном счете, биткойн-технология ведет к большей заботе об окружающей среде и стимулирует прогресс инновационной энергетики.
Майнинг под угрозой централизации
Определить границу рентабельности биткойн-майнинга не всегда легко. Чтобы извлекать доход из этой деятельности, пользователь должен обладать бесперебойным доступом к недорогой электроэнергии. Такая энергия по символической цене сейчас массово доступна в западном Китае, поэтому на те провинции приходится основная доля добычи биткойна. Proof of Stake же, в отличие от данной системы, географической привязки не имеет.
Теоретически, возможно такое, что производитель-монополист проигнорирует интересы клиентов и станет навязывать им свои правила. Таким образом, сеть окажется централизована. В противовес, пользователи смогут коллективно изменить метод Proof of Stake - и тогда оборудование, которое выпускает монополист, останется невостребованным.
Приносящий прибыль рынок предполагает наличие достаточной конкуренции. Однако в данной области потребители делают выбор исключительно в пользу оборудования, способного обеспечить им наибольшую прибыль. Одни полагают, что на рынке будет происходить постоянная ротация лидеров. Другие убеждены, что в соответствии с законом Мура все майнеры всегда будут оставаться равноправными.
В одном можно быть уверенными: на данный момент децентрализованные блокчейн-сети защищены наилучшим образом в том случае, если задействован алгоритм Proof of Work.
Proof of work что это такое простыми словами
Суть алгоритма Proof of Stake, отличительные особенности от Proof of Work читайте по ссылке: https://blockchain3.ru/technologies/consensus/proof-of-stake/