Найти тему

Алгоримт Proof-of-work действительно понятными словами.

Оглавление
Разберёмся, как работает алгоритм консенсуса первой криптовалюты.

Начнём, конечно, же с определений слов. В интернете нет единства в переводе названия этого (да и других) алгоритма: то ли это "доказательство работы", то ли "доказательство работой". Я склоняюсь к последнему, потому что такой вариант объясняет идею этого алгоритма. А идея любого алгоритма консенсуса в выборе из всего множества узлов сети одного, который будет создавать новый блок и получать за это вознаграждение. И важно понимать, что этот выбор происходит в условиях недоверия каждого узла всем остальным, что обеспечивает безопасность сети за счёт отсутствия возможности сговора узлов. И в алгоритме Proof-of-work выбирается тот узел, который первым решил сложную математическую задачу, то есть доказал своё право выполненной работой.

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

Как работает алгоритм.

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

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

Хеш-функция.

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

Работа с заголовками.

Заголовок блока содержит в себе:
• номер версии для отслеживания обновлений ПО,
• хеш предыдущего блока,
• корень дерева Меркла (служебная число, используемое в целях шифрования),
• временная метка,
• целевая сложность вычислений (изменяемый сетью параметр, служит для регуляции работы сети),
• варьируемое случайное число (Nonce).

И задача майнера состоит в том, чтобы на основе этих шести параметров вычислить хеш текущего блока таким образом, чтобы он соответствовал заданной сложности. В целом, вычисление хеша тоже не занимает много времени, но вот подогнать результат под заданный критерий — вот это уже задача. Для этого у майнеров есть только один инструмент — варьируемое случайное число (Nonce). Компьютер перебирает различные варианты этой переменной и вычисляет хеш-функцию. Так вот тот, кто подберёт подходящее значение Nonce, и получает право создать блок и получить вознаграждение.

Недостатки алгоритма PoW.

К достоинствам этого механизма консенсуса относят:

  • безопасность,
  • децентрализацию,
  • устойчивость к атаке 51%.

Но и недостатков у него довольно много, вот основные:

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

Интересный факт.

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

***

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

***

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