Proof of Work и Proof of Stake: в чём разница

· 6 мин чтения

В этой статье объясняется, как доказательство работы (Proof of Work) и доказательство доли (Proof of Stake) решают, кто добавит следующий блок в блокчейн, как каждый из них защищает сеть и как каждый создаёт новые монеты. Сквозным примером служит Blocknet — монета на Proof of Work, которую можно майнить на обычном компьютере.

Чем Proof of Work отличается от Proof of Stake?

Краткий ответ

Proof of Work и Proof of Stake — два способа, которыми блокчейн решает, кто добавит следующий блок. В Proof of Work майнеры тратят вычислительную мощность, чтобы найти подходящий хеш. В Proof of Stake валидаторы блокируют монеты в качестве залога, и их выбирают, чтобы предлагать блоки и голосовать за них. Оба подхода делают обман дорогим.

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

Proof of Work Proof of Stake
Кто создаёт блок Майнер, первым нашедший хеш, не превышающий цель сети Валидатор, выбранный из тех, кто заблокировал монеты
Что вкладывают участники Оборудование и электроэнергию Монеты, внесённые в качестве стейка
Какая цепочка побеждает Цепочка с наибольшей накопленной работой Цепочка с наибольшим числом голосов валидаторов, с контрольными точками финализации
Куда идут новые монеты Награда за блок майнеру, который его нашёл Награды валидаторам за предложение блоков и голосование
Что нужно для участия Компьютер, способный хешировать Монеты для стейкинга (32 ETH для валидатора Ethereum)
Примеры Bitcoin, Monero, Blocknet Ethereum с 2022 года

Как Proof of Work выбирает следующий блок?

В Proof of Work майнеры соревнуются в решении задачи, которую трудно решить и легко проверить. Майнер берёт блок, который хочет опубликовать, добавляет число под названием nonce и хеширует результат. Если хеш, прочитанный как число, не превышает цель сети, блок действителен. Если нет, майнер меняет nonce и пробует снова. Единственный способ победить — перебрать много значений nonce, поэтому шанс майнера найти следующий блок соответствует его доле в хешрейте сети.

Сатоши Накамото в статье о Bitcoin 2008 года сформулировал это так: «Доказательство работы — это, по сути, один CPU — один голос». Ноды следуют за цепочкой, в которую вложено больше всего работы, а параметр сложности сдвигает цель вверх или вниз, чтобы блоки появлялись в стабильном темпе, сколько бы хешрейта ни подключилось. Руководство о том, как работает майнинг криптовалюты, шаг за шагом разбирает хеши, сложность и пулы.

Blocknet работает так же, с параметрами, заданными в коде консенсуса:

Как Proof of Stake выбирает следующий блок?

Proof of Stake заменяет хеширование залогом. Чтобы участвовать, валидатор блокирует монеты в протоколе, а протокол выбирает валидаторов для предложения и одобрения блоков. Peercoin, запущенный в 2012 году, стал первой криптовалютой с таким механизмом, а Ethereum перешёл на него 15 сентября 2022 года в обновлении под названием the Merge.

Устройство Ethereum хорошо показывает все составные части. По данным ethereum.org:

Стейк выполняет ту же роль, что электроэнергия в Proof of Work. Нарушение правил стоит валидатору монет, которыми он уже владеет.

Как Proof of Work и Proof of Stake обеспечивают безопасность?

Обе схемы делают атаку дороже, чем она могла бы принести, но размещают эту стоимость в разных местах.

В Proof of Work стоимость — это постоянные вычисления. Чтобы переписать прошлый блок, атакующему нужно заново выполнить работу этого блока и всех последующих, а затем обогнать честную сеть. Накамото показал, что шанс более медленного атакующего догнать сеть уменьшается экспоненциально с каждым новым блоком. Чтобы контролировать цепочку дальше, нужно держать больше хешрейта, чем у всех остальных вместе взятых, на всё время атаки.

В Proof of Stake стоимость — это капитал под риском. Документация Ethereum говорит, что атакующему «понадобится 51% застейканного ETH», чтобы контролировать сеть, что одной трети стейка достаточно, чтобы блоки перестали становиться финальными, и что откат финализированного блока означал бы потерю как минимум трети всего застейканного ETH из-за слэшинга.

Поверх доказательства работы Blocknet задаёт ещё два порога. Сеть считает безопасными 10 подтверждений, около 50 минут, а ноды отказываются от любой реорганизации глубже 100 блоков, около восьми часов, так что блок на глубине 100 является финальным.

Как две модели выпускают новые монеты?

Краткий ответ

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

В Proof of Work первая транзакция в каждом блоке создаёт новые монеты для майнера, который его нашёл. Статья о Bitcoin описывает это как «способ изначально ввести монеты в обращение, поскольку нет центрального органа, который бы их выпускал». Награда в Bitcoin уменьшается вдвое каждые 210 000 блоков, примерно раз в четыре года, а общее число монет остаётся чуть меньше 21 миллиона.

В Proof of Stake у Ethereum награды начисляются на балансы валидаторов раз в эпоху за аттестации, предложение блоков и участие в комитете синхронизации. Базовая награда уменьшается по мере роста общего стейка, а общая эмиссия растёт по мере подключения новых валидаторов.

Эмиссия Blocknet целиком идёт через майнинг. Генезис-блок не содержит ни одной транзакции, поэтому до начала майнинга монет не существовало, а в консенсусе нет премайна, казны или выхода для основателей. Каждый блок выплачивает всю награду одним выходом майнеру, который его нашёл. Награда начиналась с 723,25 BNT за блок, снижается каждый 30-дневный месяц по экспоненциальной кривой в течение 48 месяцев, а затем навсегда остаётся на уровне 2 BNT за блок.

Почему Blocknet использует Proof of Work?

Blocknet выбрал доказательство работы, чтобы любой человек с компьютером мог зарабатывать новые монеты с первого блока, не покупая их заранее. Демон Blocknet описывает Argon2id как «требовательное к памяти PoW для противодействия ASIC и обеспечения честного майнинга» и выполняет каждый хеш в одном потоке «ради честности».

Именно требование к памяти держит майнинг открытым. Каждый хеш заполняет 2 GiB памяти, поэтому каждому потоку майнинга нужно около 2 GB ОЗУ, а у компьютеров, которые у людей уже есть, — настольных ПК, ноутбуков и серверов — есть и эта память, и контроллеры, чтобы её загружать. Blocknet входит в семейство монет на Proof of Work, построенных вокруг оборудования общего назначения: например, Monero с ноября 2019 года использует RandomX, «оптимизированный для CPU общего назначения».

Доказательство работы остаётся в планах Blocknet. Обновление Faraday, запланированное примерно на февраль 2027 года, согласно blocknetcrypto.com, принесёт «более лёгкое доказательство работы», чтобы новые ноды быстрее догоняли блокчейн.

Как начать майнить монету на Proof of Work?

Для Blocknet вам нужен адрес кошелька и seine — бесплатный майнер с открытым исходным кодом:

  1. Получите адрес в официальном кошельке. Руководство по кошельку проведёт вас через все шаги.
  2. Скачайте seine для Windows, macOS или Linux и запустите его.
  3. Вставьте свой адрес или @name и примите пул по умолчанию, bntpool.com.

seine выбирает число потоков по объёму ОЗУ, сравнивает вычислительные ядра CPU во время майнинга и оставляет самое быстрое, а в Windows и Linux добавляет к процессору любую видеокарту NVIDIA. Руководство по майнингу подробно рассказывает об оборудовании и выплатах.

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

Blocknet работает на Proof of Work или на Proof of Stake?

Blocknet использует доказательство работы (Proof of Work). Майнеры вычисляют хеши Argon2id, каждому из которых нужно 2 GiB памяти, новый блок находится примерно раз в пять минут, а вся награда за блок достаётся майнеру, который его нашёл. Стейкинга нет. Майнить Blocknet можно с seine на обычном компьютере через пул bntpool.com.

Когда Ethereum перешёл с Proof of Work на Proof of Stake?

Ethereum перешёл на доказательство доли в обновлении под названием the Merge, которое состоялось 15 сентября 2022 года. С тех пор блоки предлагают и голосуют за них не майнеры, а валидаторы, внёсшие депозит 32 ETH. Bitcoin, Monero и Blocknet по-прежнему используют доказательство работы, где новые блоки появляются благодаря вычислительной работе.

Что такое атака 51%?

Атака 51% — это попытка контролировать, какие блоки принимает сеть, завладев большей частью ресурса, который это решает. В Proof of Work это большая часть хешрейта сети. В Proof of Stake — большая часть застейканных монет. В обоих случаях атакующему нужно задействовать большинство реальных ресурсов.

Можно ли майнить монету на Proof of Stake?

Нет. В монете на чистом Proof of Stake майнинга нет. Новые монеты выплачиваются валидаторам, которые блокируют уже существующие монеты в качестве стейка, поэтому, чтобы что-то заработать, нужно сначала владеть монетами. Чтобы зарабатывать новые монеты на компьютере, который у вас уже есть, нужна монета на Proof of Work, например Blocknet.