Правила Слэшинга
В отличие от Proof of Work (PoW), где капитальные затраты вне сети уже развернуты во время построения/голосования блока, системы PoS требуют капитала, подверженного риску, чтобы предотвратить логическую/оптимальную стратегию множественного голосования по цепочке. Мы намерены внедрить правила сокращения, в случае нарушения которых некоторая сумма депонированной доли валидатора-нарушителя будет удалена из обращения. Учитывая свойства упорядочения структуры данных PoH, мы считаем, что можем упростить наши правила сокращения до уровня времени блокировки голосования, назначенного для каждого голоса.
т.е. Каждое голосование имеет связанное время блокировки (длительность PoH), которое представляет собой продолжительность любого дополнительного голоса от этого валидатора, который должен быть в PoH, который содержит исходный голос, или часть ставки этого валидатора может быть сокращена. Это время является функцией начального подсчета PoH для голосования и всех дополнительных подсчетов PoH для голосования. Скорее всего, это будет форма:
Lockouti\(PoHi, PoHj\) = PoHj + K \* exp\(\(PoHj - PoHi\) / K\)
Где PoHi — высота голосования, к которому должна быть применена блокировка, а PoHj — высота текущего голосования на той же вилке. Если валидатор отправляет голосование по другому форку PoH на любом PoHk, где k > j > i и PoHk < Lockout(PoHi, PoHj), то часть доли этого валидатора может быть урезана.
В дополнение к блокировке функциональной формы, описанной выше, ранняя реализация может быть числовым приближением, основанным на структуре данных «первым поступил — первым обслужен» (FIFO) и следующей логике:
- Очередь FIFO, содержащая 32 голоса на каждого активного валидатора
- новые голоса помещаются в начало очереди (
push_front
) - голоса с истекшим сроком действия удаляются сверху (
pop_front
) - по мере того, как голоса помещаются в очередь, блокировка каждого голоса в очереди удваивается
- голоса удаляются из конца очереди, если
queue.len() > 32
- самая ранняя и самая последняя высота, которая была удалена из конца очереди, должна быть сохранена
Вполне вероятно, что вознаграждение будет предложено в виде % от урезанной суммы любому узлу, который представит доказательство нарушения этого условия урезания в PoH.
Частичная косая черта
В схеме, описанной до сих пор, когда валидатор голосует за данный поток PoH, он связывает себя с этой вилкой на время, определяемое блокировкой голосования. Открытый вопрос заключается в том, будут ли валидаторы колебаться, чтобы начать голосование на доступном форке, если штрафы будут восприняты слишком суровыми за честную ошибку или перевернутый бит.
Одним из способов решения этой проблемы может быть частичное сокращение, которое приводит к уменьшению суммы в зависимости от:
- доля валидаторов из общего пула валидаторов, которые также были сокращены за тот же период времени (как Casper)
- количество времени, прошедшее с момента подачи голоса (например, линейно увеличивающийся % от общей суммы, внесенной как сумма, которую можно сократить с течением времени), или и то, и другое.
Это район, который в настоящее время находится в стадии разведки.