Proof of Work (PoW)

Proof of Work (PoW) алгоритм консенсуса криптовалют

Что такое подтверждение работы (PoW)?

Proof of Work был первым из появившихся алгоритмов консенсуса и на сегодняшний день остается доминирующим. Алгоритм Proof of Work (PoW) была представлена Сатоши Накамото в официальном документе Bitcoin: A Peer-to-Peer Electronic Cash System , но сама технология появилась на много раньше.

HashCash от Адама Бэка — это ранний пример алгоритма Proof of Work. Hashcash — система доказательства правильности работы, используемая с целью уменьшения количества спама и DoS-атак. Разработана Hashcash  в мае 1997 года Адамом Бэком.

Адам Бэк (родился июль 1970 году) — британский бизнесмен, специалист в области криптографии. Бэк переписывался с Сатоси Накамото, и ссылка на его публикацию содержится в описании системы Биткойн.

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

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

Ключевой особенностью схем Proof-of-Work является: работа — вычисление — должна быть умеренно сложной (но выполнимой) на стороне проверяющей или запрашивающей стороны, но легко проверяемой проверяющей стороной или поставщиком услуг. Эта идея также известна как функция стоимости ЦП, задача клиента , вычислительная головоломка или функция ценообразования ЦП.

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

Blockchain Proof-of-Work

Блокчейн (Blockchain) представляет собой механизм , который состоит из строки блоков (групп транзакций) , выровненных в хронологическом порядке на основании порядка операций. Первый блок в цепочке блоков PoW жестко запрограммирован в его программном обеспечении и называется генезисным блоком, также известным как блок 0. По определению, этот блок не ссылается на предыдущий блок. Последующие блоки, добавленные в цепочку блоков, всегда относятся к предыдущим блокам, и каждый из них содержит копию полного обновленного реестра.

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

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

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

И так, Proof-of-Work — принцип защиты сетевых систем от злоупотребления услугами.