Что такое Proof of Work (PoW)?
Основы
Proof of Work (PoW) — это алгоритм консенсуса, который часто используется в блокчейн-сетях для обеспечения безопасности транзакций и предотвращения двойных расходов. Сатоши Накамото представил PoW в белой книге о Биткоине 2008 года. Однако похожие технологии существовали и раньше. Одним из ранних примеров алгоритмов PoW является HashCash Адама Бэка, который был разработан для снижения спама: отправитель должен выполнить вычисления перед отправкой письма. Для обычных пользователей вычислительная стоимость была бы несущественной, но для тех, кто рассылал спам массово, она быстро накапливалась.
Предотвращение двойных трат цифровых денег
У цифровых денег есть уникальная проблема — возможность двойного расходования. Двойная трата происходит, когда одни и те же средства тратятся более одного раза. Этот термин характерен только для цифровой валюты. В отличие от наличных, где нельзя потратить одну и ту же купюру дважды, цифровые деньги можно легко копировать. Чтобы ценность валюты не развалилась из‑за двойных трат, нужно помешать людям копировать и тратить те же единицы в разных местах.
Необходимость Proof of Work
Proof of Work — ключевой компонент технологии блокчейн. Когда пользователь транслирует транзакцию в сеть, она не становится сразу действительной. Сначала её нужно добавить в блокчейн. Блокчейн выступает в роли большой базы данных, к которой имеет доступ каждый пользователь, что позволяет проверить, не были ли средства уже потрачены.
Чтобы понять это, представьте, что вы и трое ваших друзей ведёте один блокнот. Каждый раз, когда совершается перевод единиц, он записывается в блокнот. При этом каждая транзакция ссылается на ту транзакцию, из которой произошли средства. Например, если Боб платит Кэрол два единицы, запись будет выглядеть как «Боб платит Кэрол два единицы из этой предыдущей транзакции с Алисой». Такая система создаёт прослеживаемую книгу учёта всех единиц и предотвращает двойное расходование одних и тех же средств.
Этот подход хорошо работает для небольших групп, но плохо масштабируется. Когда участников 10 000, сложно найти кого‑то достаточно надёжного, кто вел бы блокнот. Здесь и приходит на помощь PoW. Сочетая теорию игр и криптографию, PoW гарантирует, что пользователи не тратят средства, на которые у них нет прав. Он позволяет любому обновлять блокчейн в соответствии с правилами системы, устраняя необходимость в доверенном третьем лице.
Как работает PoW?
Транзакции не добавляются по одной, их объединяют в блоки. После объявления транзакций в сети пользователь, создающий блок, включит их в кандидатный блок. Транзакции считаются действительными лишь после подтверждения кандидатного блока, то есть после его добавления в блокчейн.
Чтобы добавить блок в блокчейн, майнерам нужно использовать свои ресурсы, в частности вычислительную мощность, как того требует Proof of Work. Задача майнеров — хешировать данные блока, пока они не найдут решение задачи.
В Proof of Work майнеры должны предоставить данные, хеш которых соответствует определённым условиям; это достигается посредством угадывания. Они берут информацию обо всех транзакциях, которые хотят добавить, вместе с другими важными данными, затем хешируют это всё с переменной частью, называемой nonce. Они повторяют хеширование, пока не найдут хеш, удовлетворяющий условиям протокола, после чего получают право транслировать новый блок в сеть.
Если они находят действительный хеш, их вознаграждают криптовалютой. Однако обман не работает: любой блок с недействительной транзакцией автоматически отвергается сетью. Система обеспечивает это с помощью криптографии с открытым ключом, которая позволяет пользователям проверить, имеет ли кто‑то право переводить средства, которые он пытается потратить.
Proof of Work — затратный процесс, но он делает обман дорогостоящим, а честное поведение — выгодным. Поэтому ожидается, что рациональные майнеры будут действовать так, чтобы обеспечить доход. Для основных криптовалют сегодняшние условия чрезвычайно трудны для выполнения, что ещё больше усложняет процесс. Тем не менее можно проверить корректность блока без больших вычислительных затрат.
Proof of Work против Proof of Stake
В последние годы наблюдается тенденция перехода блокчейнов с Proof of Work на Proof of Stake (PoS) или внедрения PoS с самого начала. Рассмотрим преимущества PoS перед PoW, чтобы понять, почему всё больше проектов выбирают его.
В PoS майнеров заменяют валидаторы, которые выбираются случайным образом и, если выбраны, должны предложить блок. Если блок валиден, валидаторы получают вознаграждение в виде комиссий за транзакции. Однако не каждый может стать валидатором: протокол выбирает участников по ряду критериев. Чтобы быть допущенным, валидатор должен застейкать заранее определённое количество нативной валюты блокчейна. Стейк служит поручительством, и если валидатор был уличён в нечестном поведении, его стейк конфискуют в качестве штрафа.
Одно из самых больших преимуществ PoS — меньший углеродный след. Поскольку в PoS не нужны мощные майнинговые фермы, потребление электроэнергии составляет лишь часть того, что требуется в PoW.
Хотя PoS сейчас внедряют с большим энтузиазмом, он ещё не доказал себя в масштабах всей индустрии. Майнинг — это единственный алгоритм консенсуса, который за чуть больше чем десятилетие обеспечил безопасность транзакций на триллионы долларов, несмотря на критику в адрес расточительности. Чтобы понять, сможет ли PoS соперничать с безопасностью PoW, стейкингу требуется тщательное тестирование и доказательство долгосрочной надёжности.
Заключение
Проблема двойных трат была эффективно решена методом Proof of Work — надёжным и безопасным решением, устранившим необходимость в централизованных структурах для предотвращения одинаковых расходов средств дважды. Используя криптографию, хеш‑функции и теорию игр, участники децентрализованной экосистемы могут достигать консенсуса о состоянии финансовой книги учёта.