Разъяснение алгоритма Proof of Work (PoW)

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

Доказательство работы (PoW) описывает систему, которая требует немалых, но выполнимых усилий для предотвращения легкомысленного или злонамеренного использования вычислительной мощности, такого как отправка спама или запуск атак типа «отказ в обслуживании». Впоследствии эта концепция была адаптирована для защиты цифровых денег Хэлом Финни в 2004 году с помощью идеи «многоразового доказательства работы» с использованием алгоритма хеширования SHA-256.


После своего появления в 2009 году Биткойн стал первым широко используемым приложением идеи PoW Финни (Финни также был получателем первой биткойн-транзакции). Доказательство работы также лежит в основе многих других криптовалют, обеспечивая безопасный децентрализованный консенсус.

ОСНОВНЫЕ ВЫВОДЫ

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

Понимание Proof of Work

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


На практике пользователи обнаруживают подделку с помощью хэшей, длинных цепочек чисел, которые служат доказательством работы. Пропустите заданный набор данных через хеш-функцию (биткойн использует SHA-256), и он будет генерировать только один хэш. Однако из-за «лавинного эффекта» даже незначительное изменение любой части исходных данных приведет к полностью неузнаваемому хешу. Каким бы ни был размер исходного набора данных, хэш, сгенерированный данной функцией, будет такой же длины. Хэш - это односторонняя функция: его нельзя использовать для получения исходных данных, только для проверки того, что данные, которые сгенерировали хеш, соответствуют исходным данным.

Генерация любого хэша для набора биткойн-транзакций была бы тривиальной задачей для современного компьютера, поэтому, чтобы превратить процесс в «работу», биткойн-сеть устанавливает определенный уровень «сложности». Этот параметр настроен таким образом, что новый блок «добывается» - добавляется в цепочку блоков путем генерации действительного хэша - примерно каждые 10 минут. Установка сложности достигается путем установления «цели» для хэша: чем ниже цель, тем меньше набор действительных хэшей и тем сложнее его сгенерировать. На практике это означает хэш, который начинается с очень длинной строки нулей.

Факты: Доказательство работы изначально создавалось как предлагаемое решение растущей проблемы спама в электронной почте.

 

Особые соображения

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

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


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

Важно: Если часть майнинг-сети начинает принимать альтернативное доказательство работы, это называется хард-форком.

 

Пример Proof of Work

Доказательство работы требует, чтобы компьютер произвольно выполнял функции хеширования до тех пор, пока не получит результат с правильным минимальным количеством ведущих нулей. Например, хэш для блока №660000, добытого 4 декабря 2020 года, равен 00000000000000000008eddcaf078f12c69a439dde30dbb5aac3d9d94e9c18f6.2. Вознаграждение за этот успешный хеш составляет 6,25 BTC.

Этот блок всегда будет содержать 745 транзакций с участием чуть более 1666 биткойнов, а также заголовок предыдущего блока. Если кто-то попытается изменить сумму транзакции даже на 0,000001 биткойна, полученный хэш будет нераспознаваемым, и сеть отклонит попытку мошенничества.

Часто задаваемые вопросы о Proof of Work

Что означает proof of work?

PoW требует, чтобы узлы в сети предоставили доказательства того, что они израсходовали вычислительную мощность (то есть работают), чтобы достичь консенсуса децентрализованным образом и предотвратить захват сети злоумышленниками.

 

Как proof of work подтверждает криптографическую транзакцию?

Сама работа произвольная. Для Биткойна это включает в себя итерации алгоритмов хеширования SHA-256. Однако «победитель» раунда хеширования объединяет и записывает транзакции из мемпула в следующий блок. Поскольку «победитель» выбирается случайным образом пропорционально проделанной работе, он побуждает всех в сети действовать честно и регистрировать только истинные транзакции.

 

Зачем криптовалютам нужен proof of work?

Поскольку они децентрализованы и одноранговые по своей конструкции, такие блокчейны, как сети криптовалюты, требуют определенного способа достижения консенсуса и безопасности. Доказательство работы - один из таких методов, который делает попытки обойти сеть слишком ресурсоемкими. Существуют и другие механизмы подтверждения, которые менее ресурсоемки, но имеют другие недостатки или недостатки, такие как Proof of Stake (PoS) и Proof of Stake. Без механизма доказательства сеть и хранящиеся в ней данные будут уязвимы для атак или кражи.

 

Использует ли биткойн proof of work?

да. Он использует алгоритм PoW, основанный на хеш-функции SHA-256, для проверки и подтверждения транзакций, а также для выпуска новых биткойнов в обращение.

 

Чем Proof of Stake (PoS) отличается от PoW?

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