Найти тему
CRYPTO_TALKING_HEAD

Алгоритм консенсуса - PoS (Proof of Stake)

Оглавление

Proof of Stake - Доказательство наличия доли

Оглавление:

  1. Особенности
  2. Валидаторы
  3. Порядок выполнения транзакций
  4. Крипто-экономическая безопасность
  5. Выбор форка
  6. Сильные и слабые стороны алгоритма Proof of Stake
  7. Отсутствие стекинга
  8. Примеры POS
  9. Другие алгоритмы

1. Особенности

Считается самой распространенной альтернативой алгоритма консенсуса PoW. Ethereum перешел от консенсуса PoW к консенсусу PoS. В этом типе алгоритма консенсуса валидаторы инвестируют в монеты системы, блокируя некоторые из своих монет в качестве ставок (стекинг) вместо того, чтобы вкладывать средства в дорогостоящее оборудование для решения сложной головоломки. Валидаторы будут проверять блоки, делая на них ставку, при обнаружении ими блока, который, по их мнению, может быть добавлен в блокчейн.

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

Proof-of-stake включает в себя ряд улучшений устаревшей системы Proof-of-Work:

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

2. Валидаторы

Для получения статуса валидатора пользователю нужно внести 32 ETH в депозитный контракт и запустить три отдельных части программного обеспечения: клиент исполнения, клиент консенсуса и валидатор. При внесении ETH пользователь присоединяется к очереди активации, которая ограничивает количество новых валидаторов, присоединяющихся к сети. После активации валидаторы получают новые блоки от пиров в сети Ethereum. Транзакции, доставленные в блоке, выполняются повторно, и подпись блока проверяется для верификации действительности блока. Затем валидатор отправляет добытый блок на голосование (называемое аттестацией).

Если в алгоритме доказательства работы время блоков определяется сложностью майнинга, при доказательстве доли темп является фиксированным. Время в Proof-of-Stake Ethereum разделено на слоты (12 секунд) и эпохи (32 слота). В каждом слоте случайным образом выбирается один валидатор в качестве предлагающего блоки. Избранный валидатор отвечает за создание нового блока и его отправку другим нодам в сети. Также в каждом слоте случайным образом выбирается комитет валидаторов, чьи голоса используются для определения действительности предлагаемого блока.

3. Порядок выполнения транзакций

  1. Пользователь создает и подписывает транзакцию своим закрытым ключом. Обычно это обрабатывается кошельком или библиотекой, такой как ether.js, web3js, web3py и т.д. Пользователь определяет количество газа, которое он готов заплатить в качестве чаевых валидатору для того чтобы последний включил транзакцию в блок. Чаевые выплачиваются валидатору, а базовая комиссия сгорает.
  2. Транзакция отправляется исполняющему клиенту Ethereum, который проверяет ее действительность. Под действительностью подразумевается, что у отправителя достаточно ETH для выполнения транзакции, и что он подписал ее с помощью правильного ключа.
  3. Если транзакция действительна, клиент выполнения добавляет ее в свой локальный мемпул (список ожидающих транзакций), а также транслирует ее другим нодам по сети. Когда другие узлы узнают о транзакции, они также добавляют ее в свой локальный мемпул. Опытные пользователи могут воздержаться от трансляции своей транзакции и вместо этого направить ее специализированным сборщикам блоков, таким как Flashbots Auction. Это позволяет им организовывать транзакции в предстоящих блоках для получения максимальной прибыли (MEV).
  4. Одна из нод в сети является инициатором блока для текущего слота, предварительно выбранным псевдослучайным образом с использованием RANDAO. Эта нода отвечает за создание и трансляцию следующего блока, который будет добавлен в блокчейн Ethereum, а также за обновление глобального состояния. Нода состоит из трех частей: клиента исполнения, клиента консенсуса и клиента валидатора. Клиент выполнения объединяет транзакции из локального мемпула в «полезную нагрузку выполнения» и выполняет их локально для генерации изменения состояния. Эта информация передается клиенту консенсуса, где полезная нагрузка выполнения превращается в часть «маякового блока», который также содержит информацию о вознаграждениях, штрафах, сокращениях, аттестациях и т. д., что позволяет сети согласовать последовательность блоков в начале цепи.
  5. Другие ноды получают новый блок-маяк в сети уровня консенсуса. Они передают его своему исполняющему клиенту, где транзакции повторно выполняются локально, чтобы убедиться, что предложенное изменение состояния допустимо. Затем клиент-валидатор подтверждает, что блок действителен и является логическим следующим блоком в их представлении о цепочке (это означает, что он строится на блокчейнес наибольшим весом подтверждений, как определено в правилах выбора форка). Блок добавляется в локальную базу данных в каждой ноде, которая его подтверждает.
  6. Транзакция может считаться «завершенной», т. е. необратимой, если она стала частью цепочки с «мажоритарным звеном» между двумя контрольными точками. Контрольные точки возникают в начале каждой эпохи, и для того, чтобы иметь связь с квалифицированным большинством, они оба должны быть подтверждены 66% от общего количества ETH в сети.

4. Крипто-экономическая безопасность

Запуск валидатора — обязательство. Ожидается, что валидатор будет поддерживать достаточное оборудование и возможности подключения для участия в проверке и предложении блоков. Работа валидатора оплачивается в ETH (с помощью увеличения баланса застейканых монет).

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

Есть два основных вида поведения, которые можно считать нечестными: предложение нескольких блоков в одном слоте (двусмысленность) и представление противоречивых подтверждений.

Количество урезанного ETH зависит от количества одновременно урезанных валидаторов. Это известно как «штраф за корреляцию», и он может быть незначительным (~1% ставки для одного валидатора урезается сам по себе) или может привести к уничтожению 100% ставки валидатора ( массовое уничтожение).

Он применяется в середине периода принудительного выхода, который начинается с немедленного штрафа (до 0,5 ETH) в 1-й день, штрафа за корреляцию в 18-й день и, наконец, исключения из сети в 36-й день. Они получают небольшие штрафы за аттестацию каждый день, потому что присутствуют в сети, но не отдают голоса.

5. Выбор форка

При оптимальной работе сети в начале блокчейна всегда есть только один новый блок, и все валидаторы подтверждают это.

Однако у валидаторов могут быть разные взгляды на начало блокчейна из-за сетевых задержек или из-за двусмысленности инициатора блока. Следовательно, консенсусным клиентам требуется алгоритмдля принятия решения о выборе блока. Алгоритм, используемый в Proof-of-Stake Ethereum, называется LMD-GHOST, и он работает, идентифицируя форк с наибольшим количеством аттестаций.

6. Сильные и слабые стороны алгоритма Proof of Stake

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

С другой стороны, некоторые сети PoS имеют серьезные недостатки, зависящие от вариантов, используемых для определения доли в сети. Производители блоков некоторых монет могут обладать большими полномочиями при небольшом количестве производителей блоков. Однако полномочия производителя могут быть автоматически отозваны в любое время, когда он или она делает что-либо, противоречащее интересам сети. Если, например, производитель монеты EOS не работает ни с одним блоком в течение 24 часов, его место быстро занимает резервная копия.

Второй основной недостаток заключается в том, что ряд систем PoS отдают предпочтение состоятельным пользователям: больше застеканых монет больше голосов

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

7. Отсутствие стекинга

Наконец, в сети Proof-of-Stake существует проблема, известная как «полное отсутствие стекинга». В сети PoW редко бывает так, что два майнера создают блок почти одновременно из-за временной задержки. Это приводит к временной путанице в сети, и узлам необходимо достичь консенсуса в отношении действительного блока. Следовательно, майнерам необходимо выбирать, на какую версию блокчейна тратить свои ресурсы, минуя другие возможности.

Однако, как и в системе PoS, для создания новых блоков требуется мало ресурсов. Валидатор может продолжить работу над несколькими версиями форка и создать новые блоки. Как следствие, пользователи могут майнить на конкурирующих ветвях блокчейна, чтобы максимизировать размер комиссий за транзакции, которые они получают. Для решения этой проблемы у большинства монет PoS есть дополнительные механизмы защиты, встроенные в их протокол.

8. Примеры POS

К самым популярным примерам POS относятся:

  1. и другие.

9. Другие алгоритмы

  1. Другие алгоритмы (PoW, PBFT, PoS, DPoS, PoB, PoC, PoET, PoST, ZK-proofs).

-

Канал в телеграмм I Канал на ютуб I Группа Вконтакте

-2