Что такое Proof of Work?

Proof of Work

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

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


Содержание и принцип Proof of Work

Proof of Work (от англ. «Доказательство работы», сокращённо «PoW») – это алгоритм, позволяющий достигнуть согласия между узлами определённого блокчейна. Благодаря его функционированию майнеры могут получить вознаграждение за выявленный блок и за подтверждение сетевой операции. Алгоритм является «старожилом» сети биткоин, ведь он использовался там в 2009 году. Первое описание протокола возникло в 1993 в рамках темы предотвращения спама.


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

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


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

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


Проведение алгоритма PoW подразумевает осуществления вычисления хеш-функции. Так называется контрольная сумма от данных, что хранятся в блоке и транзакции. Эта операция обеспечивает:

  1. Ликвидацию ошибок сети.
  2. Защиту от DDoS-атак.
  3. Борьбу со спамом.


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


Понятие сложности майнинга

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


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


Особенности Proof of Work

Данный алгоритм имеет следующие отличительные черты:

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


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


Какие проводятся вычисления?

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

  • Хеширование частичной инверсии, что используется в системе Hashcash. Сейчас она является частью сети различных криптовалют и выступает в качестве алгоритма, однако раньше применялась для решения проблемы спама и DDoS-атак.


  • Функции, основой которых являются Merkle Tree (деревья Меркла). Применение этого явления в мире криптовалют возможно проиллюстрировать на примере биткоинов. Данный вид монет использует многоуровневое хеширование. В этом случае каждый последующий блок содержит данные идущего до него.


  • В настоящее время один блок цепочки биткоин порой может содержать огромное количество операций, достигающее числа в несколько тысяч. Их данные хешируются по SHA-256.


Применения находят:

  • функции Диффи-Хеллмана
  • протокол Фиата-Шамира
  • другие способы



Достоинства Proof of Work

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


Среди его преимуществ можно выделить:

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


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


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


  • Честный майнинг. Награда за него распределяется в связи с вкладом пользователя в совокупный хешрейт. Она имеет прямую зависимость от задействованных вычислительных мощностей.


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


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


Область применения Proof of Work

Одними из самых распространённых примеров являются Bitcoin и его «родственники»: Litecoin, Dogecoin и так далее. Похожие механизмы применяются в Ethereum, здесь валюту также получают с помощью майнинга. Большое число приложений, что реализуются на платформе эфира, также отдают предпочтение консенсусу PoW.



Минусы алгоритма

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


  • Во-первых, это достаточно крупные вычислительные мощности для проведения хеширования. Как известно, майнинг биткоина на слабых видеокартах невозможен, а цена мощных установок порой достигает сотен тысяч рублей. Более того необходимо оплачивать и затраты на электроэнергию. Так, например, они составляют приблизительно 6 миллионов в месяц на самой крупной ферме майнинга в России.


  • Из вышеупомянутого недостатка вытекает и следующий: всё большая централизация «власти». Это происходит из-за того, что ввиду огромных затрат на оборудование и энергию, майнинг всё реже становится доступным обычным пользователям. Поэтому им приходится объединяться в сообщества, а также майнинг-фермы. Такие крупные группы устанавливают собственные правила в сети и практически исключают возможность добычи валюты майнерами-одиночками.


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


  • Четвёртая негативная сторона – это урон, наносимый экологической системе ввиду сжигания большого количества топлива, в том числе и не возобновляемого для получения электричества.


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



Тенденции развития Proof of Work

Proof of Work имеет самую долгую историю и широкую известность в области обеспечения функционирования проектов криптовалют. Однако среди профессионалов бытует мнение о том, что алгоритм устарел и уступает своим современным аналогам: Proof of Stake, Proof of Capacity (добыча на жёстких дисках) и другим. Перечисленные решения требуют меньших затрат конечного потребителя, отчего являются более доступными.

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

Похожие новости


Сайдчейн (sidechain) - что это?

Сайдчейн (sidechain) - что это?

07-май-2018, 11:57

Природа сайдчейнов, принципы работы и какие еще есть методы переноса валют

Что такое криптовалюта Komodo?

Что такое криптовалюта Komodo?

03-май-2018, 12:10

Komodo coin основана на уникальном защитном алгоритме

Telegram ICO

Telegram ICO

30-апр-2018, 11:24

Telegram запустило ICO для собственной блокчейн платформы Telegram Open Network (TON)

Нода - что это такое?

Нода - что это такое?

26-апр-2018, 21:47

Компьютер, на котором хранится блокчейн, именуется нодой.

Что такое блокчейн

Что такое блокчейн

14-апр-2018, 17:22

Понятие Blockchain разбивается на два термина: block – блок, то есть объединяющее начало, и chain –