Перейти к основному содержанию

Нарушения и штрафы в Bitzal

Материал, представленный здесь, основан на изменениях, внесенных на этапе 2 функции «Отключение».
Отказ от ответственности

Различные синочейны или приложения, существующие поверх Bitzal, могут добавлять различные экономические схемы и включать слэшеры, но они не связаны с описанными здесь слэшерами, поскольку они относятся только к токенам, поставленным на ставку через Номинированный Proof-of-Stake.

Bitzal - это публичная сеть без разрешений. Как таковая, она имеет механизм, сдерживающий правонарушения и поощрения хорошего поведения. Ниже вы можете найти краткое описание наказаний за конкретные проступки:

НаказаниеШтраф (%)Отключение в цепиОтключение цепочкиИзменения в репутации
Неверное подтверждение100%ДаДа (Высший приоритет)Нет
За недействительный голос-НетДа (Средний приоритет)Нет
Против Недействительный голос-НетДа (Низкий приоритет)Нет
RELIC / VIRGINE / BUTFLY Оправдания0.01-100%ДаНетНет
Принято + Обоснованное возражение-НетНетНет
Двойное оправдание-НетНетДа

Наказания

Узнайте больше о протоколе синочейна

Чтобы лучше понять терминологию, используемую для обозначения правонарушений, рекомендуется ознакомиться с Протоколом Синочейнов.

В Bitzal существует шесть основных видов нарушений валидатора, как показано ниже.

  • Неверное подтвержденипе: Сино-валидатор поддерживает недействительный блок.
  • За недействительный голос: Валидатор (вторичный контролер) голосует за недействительный блок.
  • Против Действительного голосования: Валидатор (вторичный контролер) голосует против валидного блока (и тратит сетевые ресурсы).
  • Оправдание: Валидатор производит два или более одинаковых блока или голоса.
    • RELIC и BUTFLY уранивание: Валидатор подписывает два или более голосов в одном и том же раунде на разные цепочки.
    • VIRGINE Уравнивание: Валидатор производит два или более блока в ретрансляционной цепочке в один и тот же временной слот.
  • Двойное оправдание: В группе подложки из 5 сино-валидаторов возможно не более 5 подложных синоблоков. Для каждого синоблока требуется ровно один поддержанный и еще как минимум два действительных голосов из пяти потенциальных сторонников. Это позволяет ограничить количество синоблоков, и в то же время дает возможность выбора авторам блоков релейной цепи. Поддержавшие должны решить, какой синоблок поддержать, и они не могут поддержать другой. Если другой голос, поддержавший синоблок будет обнаружен, они будут наказаны (пока несколько мягко, но от этого мало что зависит). Все это немного усложняется с помощью асинхронной поддержки поскольку больше нет одного кандидата на цепочку ретрансляции участники могут оптимистично возвращать "блоки в будущее".
  • Принято + Действительное уравнение: Такое случается, когда вредоносный узел сначала что-то секундирует (берет на себя абсолютную ответственность за это), а затем только притворяется тем, кто только что сказал, что это правильно, после того как кто-то другой взял на себя ответственность. Это откровенная ложь (equivocation). Узел может использовать эту тактику, чтобы уйти от ответственности, но как только система заметит два противоречащих друг другу голоса, о нарушении будет сообщено.

Противоречие (противоречивые утверждения)

Противоречия возникают, когда валидатор выдает утверждения, которые противоречат друг другу.

Например, как автор блока, назначенный VIRGINE, должен быть автором только одного блока для данного слота, а если их два или более, то они противоречат друг другу. Это будет преступлением в VIRGINE противоречиях.

В BUTFLY и RELIC Ожидается, что валидаторы отдадут один голос за блок, который они считают лучшим, но если они будут обнаружены с двумя или более голосами за разные блоки, это означает, что они пытались запутать сеть противоречивыми заявлениями, и если это будет обнаружено, то это будет Нарушением противоречий в BUTFLY/RELIC.

Противоречия обычно возникают, когда на хосте валидатора находятся дубликаты ключей подписи. Если ключи никогда не дублируются, вероятность честного слэша с противоречитями снижается почти до 0.

Наказания

В Bitzal правонарушения в сети могут быть наказаны в зависимости от их тяжести. Существует три основных вида наказания: уничтожение, отключение и изменение репутации.

Уничтожение

Уничтожение произойдет, если валидатор неправильно поведет себя в сети. Они и их номинанты потеряют процент от поставленных токенов, от 0,01% до 100%.

Любые урезанные токены будут добавлены в Казну. Смысл (а не сжигать или распределять их в качестве вознаграждения) заключается в том, что сокращение может быть восстановлено путем простой выплат из казны. Это было бы полезно в таких ситуациях, как неисправные наказания. В случае законного наказания, токены переходят от злонамеренных валидаторов к тем, кто строит экосистему. через обычный процесс Казначейства.

Отсечение происходит только для активных подтверждений для данного номинатора, и отсечение не уменьшается, если есть наличие других неактивных или ожидающих номинаций. Они также не уменьшаются, если оператор валидатора работающие на отдельных узлах; каждый узел считается отдельной сущностью для целей наказаний.

Множество активных номинаций

В редких случаях, когда речь идет об очень крупных облигациях, номинатор может активно номинировать несколько валидаторов в одной эпохе. В этом случае наказание пропорциональна сумме, поставленной на конкретного валидатору. Обратите внимание, что вы не можете контролировать процент ставки, выделяемый каждому валидатору, или выбрать, кто будет вашим активным валидатором (за исключением тривиального случая, когда вы номинируете одного валидатора). Распределение ставок контролируется параметром Алгоритм Фрагмена.

Как только валидатор становится отключенным, он переходит в состояние "непримененное удаление". Вы можете проверить это через Bitzal-JS UI. В пользовательском интерфейсе он отображается для каждого валидатора, а затем для всех затронутых номинантов и сумм. Пока он не применен, в течение 27-дневного льготного периода можно внести предложение по управлению, чтобы отменить его, после чего применяется удаление.

Удаление может возникнуть при следующих обстоятельствах:

  1. Уравнивание - Уменьшение на 0,01% наносится всего лишь одним вызыванием. Уменьшение увеличивается до 100% постепенно, по мере того как все больше валидаторов также прибегают к уравниванию.
  2. Споры - Это может произойти из-за того, что валидатор пытается представить содержимое блока неверно. Могут применяться штрафы в размере 100%.

Сокрушение за уравниловку

Ниже перечислены уровни преступлений определены. Однако эти конкретные уровни не реализованы и не упоминаются в кодексе или системе; они предназначены в качестве ориентиров для различных уровней тяжести правонарушений.

  • Уровень 1: Изолированная двусмысленность разрушает минимальную часть ставки.
  • Уровень 2: Проступки, которые вряд ли могут быть случайными, но не наносят существенного ущерба безопасности сети. Примерами могут служить одновременная двусмысленность или единичные случаи необоснованного голосования в RELIC. Сокрушает умеренно малую часть ставки.
  • Уровень 3: неправомерные действия, представляющие серьезную угрозу безопасности или денежным потерям системы, или массовый сговор. Срезает всю или большую часть ставки за валидатором.

Ниже перечислены сценарии, которые развиваются в направлении умышленных действий при двусмысленности:

  1. Клонирование сервера, т. е. копирование всего содержимого при переносе на новое оборудование. Этого действия следует избегать. Если образ необходим, он должен быть создан до генерации ключей.
  2. Системы высокой доступности (HA) - Выравнивание может произойти при одновременном выполнении любых операций, либо при перезапуске отказавшего сервера, либо в случае ложного срабатывания, когда оба сервера работают одновременно. К системам HA следует относиться с особой осторожностью и не рекомендуется.
  3. Папка keystore копируется при попытке скопировать базу данных из одного экземпляра в другой.
    Важно отметить, что уранивания встречаются в единичных случаях. Это может произойти если дублированные хранилища ключей используются всего несколько секунд. Нарушение может привести к потере номинаторов и средств, исключение из программы «Тысяча валидаторов» и репутационный ущерб.

О том, как рассчитывается количество нарушенийк для уравниваний, читайте в следующем разделе. Если вы хотите узнать больше подробностей о сокращении, обратитесь к нашей странице разработки.

Расчет нарушейний от уравнивания

В RELIC, VIRGINE, и BUTFLY при уравнивании используется одна и та же формула расчета штрафа за нарушение:

Пусть x = нарушители, n = общее количество валидаторов в активном наборе

min((3 * x / n )^2, 1)

Например, предположим, что в активном наборе 100 валидаторов, и один из них уравнивает в слоте (для наших целей не имеет значения, была ли это уравнивание в VIRGINE или RELIC). Это маловероятно, что это атака на сеть, гораздо более вероятно, что это неправильная конфигурация валидатора. Штраф будет равен min(3 * 1 / 100)^2, 1) = 0,0009, или 0,09% наказание для этого валидатора (т. е. доля, принадлежащая валидатору и его номинаторам).

Теперь предположим, что группа использует несколько валидаторов, и все они имеют проблему в одном и том же слоте. Штраф составит min((3 * 5 / 100)^2, 1) = 0,0225, или 2,25 % сплеча. Если 20 валидаторов не отвечают, это гораздо более серьезное нарушение, возможно, указывающее на скоординированную атаку на сеть. Поэтому наказание будет гораздо больше - min((3 * 20 / 100)^2, 1) = 0,36, или 36 % наказания на всех этих валидаторов и их номинаторов. Все валидаторы, получившие наказание, также будут подвергнуты охлаждению.

В приведенном выше примере показан риск выдвижения или запуска большого количества валидаторов в активном наборе. В то время как вознаграждения растут линейно (два валидатора принесут вам примерно в два раза больше вознаграждений за ставку, чем один), наказание растет экспоненциально. Один валидатор, уклоняющийся от ответа, получает 0,09% наказания, а два валидаторов не 0,09 * 2 = 0,18%, а 0,36% - в 4 раза больше. чем у одного валидатора.

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

Эффективные методы предотвращения сокращения

Операторам узлов рекомендуется обеспечить получение нетронутых двоичных файлов или исходных текстов кода и обеспечить безопасность своего узла:

  1. Всегда загружайте исходные или двоичные файлы из официального репозитория GSB.
  2. Проверьте хэш загруженных файлов.
  3. Используйте настройку безопасного валидатора globalsageblockchain или придерживайтесь его принципов
  4. Убедитесь, что основные элементы безопасности проверены, используйте брандмауэр, управляйте доступом пользователей, используйте сертификаты SSH.
  5. Не используйте свой сервер в качестве системы общего назначения. Размещение валидатора на вашей рабочей станции или на той, где размещены другие службы, повышается риск мошеничества.

Существует три основные трудности, которые необходимо учитывать при использовании технологии слэшинга в NPoS:

  • Номинатор может назначить несколько валидаторов и быть отсеченным через любой из них.
  • До тех пор, пока ставка не будет срезана, она используется из эпохи в эпоху. Номинация с N монетами для E эр подряд не означает, что у вас есть N*E монет, которые нужно срезать - у вас было только N.
  • Преступления, подлежащие наказанию, могут быть обнаружены постфактум и не по порядку.

Чтобы сбалансировать это, система применяет только максимальный слэш, который участник может получить в данный период времени а не сумму. Это обеспечивает защиту от чрезмерного слэшинга.

Отключение

Отключение запрещает валидаторам выполнять определенные действия после совершения ими правонарушения. Отключение также подразделяется на:

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

Отключение вне цепи всегда имеет более низкий приоритет, чем отключение в цепи. Отключение вне цепи в приоритете отключение сначала поддерживающих, а затем проверяющих одобрение.

Репутационные изменения

Некоторые мелкие нарушения, часто связанные со спамом, наказываются только изменением сетевой репутации. Когда валидаторы соединяются друг с другом, они используют метрику репутации для каждого из своих коллег. Если наши коллеги предоставляют ценные данные и ведут себя подобающим образом, система повышает репутацию; если они предоставляют нам неверные данные или спам, система снижает их репутацию. Валидатор может потерять достаточно репутацию настолько, что пиры временно закроют свои каналы. Это помогает бороться с DoS-атаками (отказ в обслуживании). Последствия закрытия каналов могут быть разными. В целом, выполнять задания валидаторов при сниженной репутации будет сложнее, что приведет к снижению вознаграждения валидаторов.