Доказательство работы (PoW)
Что такое доказательство работы (PoW)?
Доказательство работы (PoW) описывает систему, которая требует значительных, но выполнимых усилий для предотвращения необоснованного или злонамеренного использования вычислительной мощности, такого как рассылка спама по электронной почте или запуск атак типа «отказ в обслуживании». Впоследствии эта концепция была адаптирована для защиты цифровых денег Хэлом Финни в 2004 году с помощью идеи «многоразового доказательства работы» с использованием алгоритма хеширования SHA-256.
После своего появления в 2009 году Биткойн стал первым широко принятым применением идеи PoW Финни (Финни также был получателем первой биткойн-транзакции). Доказательство работы также лежит в основе многих других криптовалют,. обеспечивая безопасный децентрализованный консенсус.
Понимание доказательства работы
Это объяснение будет сосредоточено на доказательстве работы, поскольку оно функционирует в сети биткойн. Биткойн — это цифровая валюта, которая поддерживается своего рода распределенной бухгалтерской книгой,. известной как « блокчейн ». Эта книга содержит записи обо всех биткойн-транзакциях, организованных в виде последовательных «блоков», так что ни одному пользователю не разрешается тратить какие-либо из своих средств дважды. Чтобы предотвратить подделку, книга является общедоступной или «распределенной»; измененная версия будет быстро отклонена другими пользователями.
На практике пользователи обнаруживают фальсификацию с помощью хэшей,. длинных строк чисел, которые служат доказательством работы. Поместите заданный набор данных через хеш-функцию (биткойн использует SHA-256), и она будет генерировать только один хэш. Однако из-за «лавинного эффекта» даже незначительное изменение любой части исходных данных приведет к совершенно неузнаваемому хешу. Каким бы ни был размер исходного набора данных, хэш, сгенерированный данной функцией, будет одинаковой длины. Хэш — это односторонняя функция: его нельзя использовать для получения исходных данных, только для проверки того, что данные, сгенерировавшие хэш, совпадают с исходными данными.
Создание любого хэша для набора биткойн-транзакций было бы тривиальной задачей для современного компьютера, поэтому, чтобы превратить процесс в «работу», сеть биткойнов устанавливает определенный уровень «сложности». Этот параметр настраивается таким образом, что новый блок « добывается » — добавляется в цепочку блоков путем создания действительного хэша — примерно каждые 10 минут. Установка сложности достигается путем установления «цели» для хэша : чем ниже цель, тем меньше набор действительных хэшей и тем сложнее их сгенерировать. На практике это означает, что хэш начинается с очень длинной строки нулей.
Доказательство работы изначально создавалось как предлагаемое решение растущей проблемы электронной почты со спамом.
Особые соображения
Поскольку заданный набор данных может генерировать только один хэш, как майнеры могут убедиться, что они генерируют хеш ниже целевого? Они изменяют ввод, добавляя целое число, называемое одноразовым номером («число, используемое один раз»). Как только правильный хэш найден, он передается в сеть, и блок добавляется в цепочку блоков.
Майнинг — это конкурентный процесс, но это скорее лотерея, чем гонка. В среднем кто-то будет генерировать приемлемое доказательство работы каждые десять минут, но кто это будет, остается только гадать. Майнеры объединяются, чтобы увеличить свои шансы на добычу блоков, что влечет за собой комиссию за транзакции и, в течение ограниченного времени, вознаграждение в виде вновь созданных биткойнов.
Доказательство работы чрезвычайно затрудняет изменение любого аспекта блокчейна, поскольку такое изменение потребует повторного майнинга всех последующих блоков. Это также затрудняет монополизацию вычислительной мощности сети пользователем или пулом пользователей, поскольку оборудование и мощность, необходимые для выполнения хеш-функций, являются дорогостоящими.
Если часть майнинговой сети начинает принимать альтернативное доказательство работы, это называется хардфорком.
Пример доказательства работы
Доказательство работы требует, чтобы компьютер случайным образом выполнял функции хэширования, пока не получил вывод с правильным минимальным количеством начальных нулей. Например, хеш для блока № 660000, добытого 4 декабря 2020 года, равен 000000000000000000008eddcaf078f12c69a439dde30dbb5aac3d9d94e9c18f6. Награда за этот успешный блок составила 6,25 BTC.
Этот блок всегда будет содержать 745 транзакций с участием чуть более 1666 биткойнов, а также заголовок предыдущего блока. Если кто-то попытается изменить сумму транзакции хотя бы на 0,000001 биткойна, полученный хэш будет неузнаваем, и сеть отклонит попытку мошенничества.
Доказательство работы: часто задаваемые вопросы
Что означает доказательство работы?
PoW требует, чтобы узлы в сети предоставили доказательства того, что они израсходовали вычислительную мощность (т. е. работу), чтобы достичь консенсуса децентрализованным образом и предотвратить захват сети злоумышленниками.
Как доказательство работы подтверждает крипто-транзакцию?
Сама работа произвольная. Для Биткойна это включает в себя итерации алгоритмов хеширования SHA-256. Однако «победитель» раунда хеширования агрегирует и записывает транзакции из мемпула в следующий блок. Поскольку «победитель» выбирается случайным образом пропорционально проделанной работе, это стимулирует всех в сети действовать честно и регистрировать только настоящие транзакции.
Зачем криптовалютам нужно доказательство работы?
Поскольку они децентрализованы и одноранговые по своей структуре, блокчейны, такие как криптовалютные сети, требуют определенного способа достижения как консенсуса, так и безопасности. Доказательство работы — один из таких методов, который делает его слишком ресурсоемким, чтобы попытаться обогнать сеть. Существуют и другие механизмы доказательства, которые менее ресурсоемки, но имеют другие недостатки или недостатки, такие как доказательство доли (PoS) и доказательство сжигания. Без механизма доказательства сеть и данные, хранящиеся в ней, будут уязвимы для атаки или кражи.
Использует ли Биткойн доказательство работы?
Да. Он использует алгоритм PoW, основанный на хеш-функции SHA-256, для проверки и подтверждения транзакций, а также для выпуска новых биткойнов в обращение.
Чем Proof of Stake (PoS) отличается от PoW?
PoS — это механизм консенсуса, который случайным образом назначает узел, который будет майнить или проверять блочные транзакции, в зависимости от того, сколько монет хранится на этом узле. Чем больше токенов хранится в кошельке, тем больше мощности для майнинга ему предоставляется. Хотя PoS гораздо менее ресурсоемок, у него есть несколько других недостатков, включая большую вероятность атаки 51% в небольших альткойнах и стимулы для накопления токенов, а не для их использования.
Особенности
Proof of Stake (POS) был одним из нескольких новых механизмов консенсуса, созданных в качестве альтернативы доказательству работы.
Доказательство работы (PoW) — это децентрализованный механизм консенсуса, который требует, чтобы участники сети прилагали усилия для решения произвольной математической головоломки, чтобы никто не мог обмануть систему.
Доказательство работы в масштабе требует огромного количества энергии, которое только увеличивается по мере того, как к сети подключается все больше майнеров.
Благодаря доказательству работы операции с биткойнами и другими криптовалютами могут обрабатываться в одноранговой сети безопасным образом без необходимости в доверенной третьей стороне.
Доказательство работы широко используется в майнинге криптовалют, для проверки транзакций и добычи новых токенов.