Управление
Назначение смарт-контракта cyber.govern
Системный смарт-контракт cyber.govern
содержит логику выбора активных валидаторов и распределения вознаграждения за производство блоков в соответствии с положениями DPoS.
В состав смарт-контракта cyber.govern
входит операция-действие onblock
.
Операция-действие onblock
Операция-действие onblock
является системной и недоступна внешнему пользователю, вызывается смарт-контрактом cyber.bios
. Операция содержит логику производства блоков, в том числе логику эмиссии токенов и назначение валидаторов. Сигнатура операции имеет вид:
Параметр producer
— имя валидатора, который произвел очередной блок.
Операция-действие onblock
вызывается смарт-контрактом cyber.bios
на каждый произведенный валидаторами блок. Для вызова onblock
требуется авторизация аккаунта смарт-контракта cyber.govern
.
Положения о валидаторах
Статус валидатора
Статус кандидата в валидаторы может получить любой пользователь, зарегистрировавший себя в качестве кандидата в валидаторы и имеющий собственный стейк в размере не менее 50000 CYBER.
Валидатор избирается голосованием пользователей из числа кандидатов в валидаторы.
По результатам голосования кандидаты в валидаторы разделяются на две группы — основных валидаторов, получивших наибольшее количество голосов, и резервных кандидатов.
Активные валидаторы
Для производства блоков автоматически составляется расписание активных валидаторов, в которое входят все основные валидаторы и один резервный кандидат.
Выбор резервного кандидата для расписания активных валидаторов происходит по минимальному текущему приоритету кандидата. Приоритет кандидата вычисляется в соответствии с установленной формулой, учитывающей количество отданных за него голосов и интервал времени, прошедший с момента его последнего появления в расписании активных валидаторов.
Активные валидаторы производят блоки поочередно в соответствии с расписанием.
Количество активных валидаторов изменяется в сторону увеличения и составляет от 21 до 101 включительно.
Расписание активных валидаторов обновляется периодически через каждые 4×A произведенных блока, где A — текущее количество активных валидаторов.
Количество активных валидаторов увеличивается на единицу, если выполняются два условия:
с момента последнего увеличения количества активных валидаторов прошло не менее 14 суток;
количество голосов, отданных за основных валидаторов, составило менее 90 % от количества всех отданных за кандидатов голосов.
Вознаграждение валидатору
Валидатору начисляется вознаграждение за произведенные им блоки в соответствии с положениями DPoS и с учетом годовой эмиссией токенов. Средства, полученные от годовой эмиссии токенов, распределяются в следующих пропорциях:
валидатору отчисляются средства в размере 10 %;
в пул воркеров отчисляются средства в размере 20 %;
в общий пул вознаграждений по стейку отчисляются средства в размере 70 %. Часть средств из этого пула выделяется валидатору в соответствии с процентом отданных за него голосов от общего количества всех голосов.
Начисленное вознаграждение валидатору за произведенные им блоки распределяется между валидатором и проголосовавшими за него участниками в следующих пропорциях:
валидатор получает вознаграждение в виде отчисления в размере 10 % и комиссии в размере, установленной им во время регистрации в кандидаты;
оставшаяся часть вознаграждения распределяется между проголосовавшими за него прокси-аккаунтами и рядовыми пользователями.
Last updated