Алгоритм консенсуса LPoS¶
Доказательство доли владения с правом аренды. В PoS (Proof of Stake) системах создание блока не требует энергозатратных вычислений, задача майнера — создание цифровой подписи блока.
Proof of Stake¶
Механизм распределения прав создания блоков основан на количестве токенов на счету пользователя. Чем больше у пользователя токенов, тем выше вероятность, что он сможет создать блок.
В консенсусе Proof of Stake (доказательство доли) право выпуска блока определяется псевдослучайным образом, поскольку зная предыдущего майнера и балансы всех пользователей в системе можно вычислить следующего майнера. Это возможно, благодаря детерминированному вычислению генерирующей подписи блока, которая получается путем SHA256 хеширования генерирующей подписи текущего блока и публичного ключа аккаунта. Первые 8 байт полученного хеша преобразуются в число, называемое hit аккаунта - Xn , и являются указателем на следующего майнера. Время генерации блока для аккаунта i, рассчитывается как:
где:
bi - это стейк (доля баланса участника от общего баланса системы);
An - baseTarget, адаптивный коэффициент, регулирующий среднее время выпуска блока;
Xn - hit аккаунта;
Tmin - 5 секунд, константа, определяющая минимальный временной интервал между блоками;
C1 - константа, равная 70 и корректирующая форму распределения интервала между блоками;
C2 - константа, равная 5E17 и предназначенная для регулировки значения baseTarget (сложности).
Из приведенной формулы легко убедиться, что вероятность выбора участника зависит от доли активов участника в системе: больше доля — выше шанс. Минимальное количество токенов на балансе для майнинга — 50 000 WEST. BaseTarget — сложность вычислений, параметр, удерживающий время генерации блоков в заданном диапазоне. BaseTarget в свою очередь вычисляется как:
где
R max = 90 - максимальное уменьшение сложности, когда время генерации блока в сети превышает 40 секунд;
Rmin = 30 - минимальное увеличение сложности, когда время генерации блока в сети меньше 40 секунд;
S - среднее время генерации, как минимум для трех последних блоков;
Tp - предыдущее значение baseTarget;
Tb - вычисленное значение baseTarget.
Глубокое описание технических особенностей и доработок классического PoS алгоритма вы можете найти в этой статье.
Преимущества перед PoW¶
Отсутствие сложных вычислений позволяет PoS сетям снизить требования к аппаратному обеспечению участников системы, что снижает стоимость разворачивания приватных сетей. Также не нужна дополнительная эмиссия, которая в PoW (Proof of Work) системах используется для вознаграждения майнеров за нахождение нового блока. В PoS-системах майнер получает вознаграждение в виде комиссий за транзакции, которые попали в его блок.
Leased Proof of Stake¶
Для пользователя, который обладает стейком, недостаточным для эффективного майнинга, есть возможность передать свой баланс в аренду другим участникам, и получать долю дохода от майнинга. Так вы можете увеличить вероятность выбора майнера, за что вы можете получать часть от комиссий за транзакций, которые этот майнер поместил в свои блоки. Лизинг является полностью безопасной операцией. Токены не покидают ваш кошелек, вы передаете право учитывать свой баланс при розыгрыше права майнинга другому участнику сети.