Гибридный DPoS
В этом документе описывается механизм консенсуса Гибридный Отложенный Proof-of-Stake (Hybrid DPoS). Этот инновационный протокол предназначен для защиты блокчейна за счёт синергии начального распределения без доверия Proof-of-Work (PoW) с финальностью и устойчивостью к атакам Proof-of-Stake (PoS). Его основная цель — снизить риск глубоких реорганизаций цепи, особенно тех, которые пытаются осуществить участники с большинством хешрейта (атаки 51%), сделав их экономически невыгодными и вычислительно неопределёнными за пределами короткого окна.
Если вам нужно руководство по стейкингу Virel, ознакомьтесь с руководством по стейкингу
Основная философия
Протокол работает по простому принципу: майнеры PoW предлагают блоки, но стейкхолдеры PoS в конечном итоге проверяют и защищают историю цепи. Майнеры свободны в выборе любого блока для майнинга, но чтобы получить полное вознаграждение и чтобы их блок внёс полный вес в цепь, они должны включить криптографическую подпись случайно выбранного стейкинг-делегата из трёх блоков назад. Это создаёт отложенный цикл проверки, который привязывает текущее продвижение цепи к установленной, обеспеченной стейкингом цепи.
Ключевая терминология
- Майнер PoW: Традиционный майнер, который использует вычислительную мощность для нахождения действительного хеша блока ниже целевой сложности сети.
- Стейкинг-пул (Делегат): Сущность, которая заблокировала стейк нативной криптовалюты в специальном контракте, что делает её подходящей для выбора для проверки исторических блоков.
- Быстрый хеш: Быстрая, небезопасная хеш-функция (например,
xxHash
,Blake2
), используемая исключительно для справедливого и эффективного выбора делегатов. Она не защищает сам блок. - Стейкинг-подпись: Криптографическая подпись (например, с использованием EdDSA или Шнорра), созданная приватным ключом выбранного стейкинг-пула, доказывающая, что они проверили определённый блок.
- Окно проверки: Фиксированное количество блоков (в данном случае 3) между моментом выбора делегата и моментом, когда требуется их подпись.
Как это работает: Пошагово
1. Предложение блока (Фаза PoW)
Майнер PoW успешно находит действительный nonce для нового блока N
.
Майнер формирует заголовок блока, который включает хеш заголовков предыдущих блоков.
2. Выбор делегата (Фаза PoS)
Хеш из нового блока N
используется как случайное seed для выбора стейкинг-пула из активного набора стейкеров.
Этот выбранный делегат назначается для проверки самого блока N
. Его роль — подписать этот блок, но его подпись не требуется немедленно.
3. Задержка и включение подписи
Требование стейкинг-подписи откладывается. Подпись от делегата, выбранного в блоке N
, должна быть включена майнером PoW три блока спустя, в блоке N+3
.
- Блок
N
: Делегат выбран для блокаN
. - Блок
N+1
: Делегат выбран для блокаN+1
. - Блок
N+2
: Делегат выбран для блокаN+2
. - Блок
N+3
: Майнер блокаN+3
должен включить стейкинг-подпись для блокаN
в coinbase-транзакцию своего блока или в специальное поле.
4. Проверка и штрафы
Когда узел получает блок N+3
, он проверяет наличие действительной стейкинг-подписи для блока N
.
-
✅ Подпись присутствует и действительна:
- Майнер PoW блока
N+3
получает 100% вознаграждения за блок PoW. - Стейкинг-пул получает 100% вознаграждения за стейкинг PoS.
- Блок
N+3
вносит свой полный показатель сложности в совокупную сложность цепи (общую работу).
- Майнер PoW блока
-
❌ Подпись отсутствует или недействительна:
- Экономический штраф: Майнер PoW блока
N+3
теряет 10% своего вознаграждения за блок PoW. Эта сумма сжигается (безвозвратно удаляется из обращения). Полное вознаграждение PoS для делегата также сжигается. - Штраф безопасности: Блок
N+3
вносит только 50% своей фактической сложности в совокупную сложность цепи. Это облегчает конкурирующей цепи (которая включила все требуемые подписи) обогнать эту цепь, даже если она длиннее по количеству блоков.
- Экономический штраф: Майнер PoW блока
Свойства безопасности и устойчивость к атакам
Устойчивость к атакам 51% PoW
Это основная функция безопасности. Злоумышленник с большинством хешрейта не может свободно реорганизовать цепь за пределами окна проверки (3 блока).
- Чтобы реорганизовать блоки старше 3 блоков, злоумышленник должен не только майнить конкурирующую цепь быстрее, чем честная цепь, но и получить действительные стейкинг-подписи для всех блоков в своей новой цепи.
- Поскольку делегаты выбираются случайным образом из стейкхолдеров, которые предположительно честны/не в сговоре, злоумышленник не может предсказать или контролировать, кто подпишет блоки, которые он пытается заменить.
- Для успеха злоумышленнику потребуется либо:
- Скомпрометировать делегатов: Получить приватные ключи конкретных делегатов, необходимых для его мошеннической цепи, что крайне маловероятно.
- Майнить без подписей: Майнить цепь без требуемых подписей, но эта цепь будет иметь drastically reduced совокупную сложность из-за 50% штрафа на каждый недействительный блок, что приведёт к её отбрасыванию цепью честной сети.
Это делает попытки отмены транзакций старше ~6 блоков практически невозможными.
Устойчивость к проблеме Nothing-at-Stake
Проблема “Nothing-at-Stake”, когда стейкеры не несут затрат на проверку нескольких цепей, смягчена. Стейкеры получают вознаграждение только если их подпись включена в каноническую цепь. Подписание неканонической или атакующей цепи было бы напрасной тратой усилий и потенциально могло бы привести к сокращению их стейка в будущих версиях протокола.
Качество цепи и финальность
Протокол поощряет майнеров строить на цепи с наибольшей совокупной сложностью, которая также включает все действительные стейкинг-подписи. Блоки без подписей считаются “низкокачественными” и легко отбрасываются, что приводит к быстрой финальности после окна в ~3 блока.
Структура стимулирования
Участник | Действие | Вознаграждение | Штраф |
---|---|---|---|
Майнер PoW | Майнит блок и включает прошлые подписи | 50% вознаграждения за блок | Сжигание 10% вознаграждения |
Стейкинг-пул | Держит узел онлайн, подписывает назначенные блоки | 50% вознаграждения за блок | Сжигание 100% вознаграждения (если не включено) |
Заключение
Механизм консенсуса Hybrid DPoS обеспечивает robust слой поверх традиционного PoW. Он успешно ограничивает мощность майнеров PoW, привязывая валидность и прогрессию цепи к экономическому стейку участников PoS. Это создаёт систему, где и хешрейт, и стейк необходимы для здоровой и безопасной работы сети, эффективно устраняя возможность long-range атак и обеспечивая сильную экономическую финальность.