Алгоритм консенсуса LPoS

Доказательство доли владения с правом аренды. В PoS (Proof of Stake) системах создание блока не требует энергозатратных вычислений, задача майнера — создание цифровой подписи блока.

Proof of Stake

Механизм распределения прав создания блоков основан на количестве токенов на счету пользователя. Чем больше у пользователя токенов, тем выше вероятность, что он сможет создать блок.

В консенсусе Proof of Stake (доказательство доли) право выпуска блока определяется псевдослучайным образом, поскольку зная предыдущего майнера и балансы всех пользователей в системе можно вычислить следующего майнера. Это возможно, благодаря детерминированному вычислению генерирующей подписи блока, которая получается путем SHA256 хеширования генерирующей подписи текущего блока и публичного ключа аккаунта. Первые 8 байт полученного хеша преобразуются в число, называемое hit аккаунта - Xn , и являются указателем на следующего майнера. Время генерации блока для аккаунта i, рассчитывается как:

Ti=Tmin+C1log(1C2logXnXmaxbiAn)

где:

  • bi - это стейк (доля баланса участника от общего баланса системы);

  • An - baseTarget, адаптивный коэффициент, регулирующий среднее время выпуска блока;

  • Xn - hit аккаунта;

  • Tmin - 5 секунд, константа, определяющая минимальный временной интервал между блоками;

  • C1 - константа, равная 70 и корректирующая форму распределения интервала между блоками;

  • C2 - константа, равная 5E17 и предназначенная для регулировки значения baseTarget (сложности).

Из приведенной формулы легко убедиться, что вероятность выбора участника зависит от доли активов участника в системе: больше доля — выше шанс. Минимальное количество токенов на балансе для майнинга — 50 000 WEST. BaseTarget — сложность вычислений, параметр, удерживающий время генерации блоков в заданном диапазоне. BaseTarget в свою очередь вычисляется как:

(S>RmaxTb=Tp+max(1,Tp100))(S<RminTb>1Tb=Tpmax(1,Tp100))

где

  • R max = 90 - максимальное уменьшение сложности, когда время генерации блока в сети превышает 40 секунд;

  • Rmin = 30 - минимальное увеличение сложности, когда время генерации блока в сети меньше 40 секунд;

  • S - среднее время генерации, как минимум для трех последних блоков;

  • Tp - предыдущее значение baseTarget;

  • Tb - вычисленное значение baseTarget.

Глубокое описание технических особенностей и доработок классического PoS алгоритма вы можете найти в этой статье.

Преимущества перед PoW

Отсутствие сложных вычислений позволяет PoS сетям снизить требования к аппаратному обеспечению участников системы, что снижает стоимость разворачивания приватных сетей. Также не нужна дополнительная эмиссия, которая в PoW (Proof of Work) системах используется для вознаграждения майнеров за нахождение нового блока. В PoS-системах майнер получает вознаграждение в виде комиссий за транзакции, которые попали в его блок.

Leased Proof of Stake

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