Алгоритм Roll-DPoS: демократия на блокчейне
Существует множество криптопроектов, которые совершенствуют стандартные протоколы консенсуса, чтобы те соответствовали условиям, заданным разработчиками. К таким «доработанным» алгоритмам относится и Roll-DPoS.
Мы уже делали обзор экзотических алгоритмов, но Roll-DPoS не вошел в этот список. И, скорее всего, перечень моделей голосования для достижения консенсуса будет расширяться и дальше.
Что такое Roll-DPoS?
Все выполненные транзакции должны быть подтверждены в распределенной сети с использованием какого-то механизма консенсуса. Сейчас в блокчейн-проектах широко используются четыре основных алгоритма:
- PoW (доказательство работы);
- PoS (доказательство доли владения);
- BFT (византийская отказоустойчивость);
- DPoS (делегированное доказательство доли владения).
Делегированное доказательство доли (DPoS) — это децентрализованная и гибкая система консенсуса, которую используют блокчейны монет Cardano, Tron, Tezos, EOS, Steemit. Но применение DPoS к децентрализованным приложениям Интернета вещей (IoT) невозможно из-за крупномасштабных развертываний и необходимости обрабатывать огромные базы данных. Чтобы решить эту проблему для блокчейн-приложений на основе IoT, создана модель Roll-DPoS. Это рандомизированный алгоритм делегированного подтверждения доли. Он наследует преимущества оригинальной структуры DPoS и дополнительно расширяет ее возможности с точки зрения децентрализации и масштабируемости.
Этот механизм предложил в 2017 году прикладной разработчик из Университета Ватерлоо Синьсинь Фан. Через год он был использован в работе блокчейна IoTeX.
Roll-DPoS развивает концепцию делегирования прав валидаторов, используя «скользящий» набор контролирующих узлов. На практике это означает, что валидаторы, ответственные за проверку транзакций и создание новых блоков, меняются с заданной регулярностью. Этот период может варьироваться в интервале от 24 до 72 часов.
Как назначаются валидаторы на блокчейне Roll-DPoS?
Процесс выбора делегатов в Roll-DPoS отличается от традиционного DPoS. Вместо системы голосования с учетом количества удерживаемых активов Roll-DPoS использует взвешенную систему голосования. Это означает, что право голоса имеет каждый пользователь, и оно не зависит от количества монет на его балансе. Учитывается общее количество проголосовавших адресов, а не количество проголосовавших коинов.
Такой подход помогает предотвратить централизацию, уравнивая всех участников сети в процессе выбора валидаторов.
По сути это похоже на настоящие демократические выборы президента: один паспорт (кошелек) — один голос. При этом на блокчейне невозможны фальсификации и подтасовки результатов. Отдельно нужно отметить, что делегатов выбирают из числа пользователей, которые заблокировали токены в пуле ликвидности проекта.
Как только узлы определены, они работают вместе для проверки транзакций и создания новых блоков. Их честная и этичная работа вознаграждается цифровыми активами соответствующего блокчейна. Однако если выяснится, что валидатор жульничает, его статус будет понижен. Другой пользователь займет освободившееся место.
Дополнительно у алгоритма Roll-DPoS есть уникальная функция, которая называется «аварийный режим». Если в блокчейне обнаружены серьезный сбой или признаки хакерской атаки, валидаторы могут активировать функцию защиты, чтобы временно блокировать создание блоков. В этот момент отключается любая активность сети, и разработчики решают возникшую проблему. При этом состояние блокчейна фиксируется и, после его «ремонта», восстанавливается к исходному состоянию. Это помогает предотвратить серьезные взломы и сохранить целостность сети.
То есть Roll-DPoS создает среду, в которой возможно решение трилеммы блокчейна. Такая гибридная модель консенсуса уравновешивает два важных аспекта — децентрализацию и безопасность.