Механизмы защиты Minter блокчейна

Материал из Minter Wiki
(перенаправлено с «Механизмы защиты блокчейна Minter»)
Minter Blockchain Protection.png

Механизмы защиты Minter - это система мер противодействия известным и теоретическим угрозам для нарушения целостности Minter блокчейна.

Большую часть известных угроз блокчейну можно условно отнести к угрозам централизации (атака Сивиллы, атака 51%, атака маршрутизации, DDoS атака). От них Minter блокчейн защищен надежно - алгоритм консенсуса DPoS и достаточное количество валидаторов (сейчас их 32 и количество будет ежемесячно увеличиваться на 4) позволяют считать угрозы централизации трудно реализуемыми. Стоит также отметить, что в код сети Minter встроены защиты от спама и доминирования одной ноды (см. статью Транзакция).

А вот угрозу остановки сети следует считать вполне возможной. Сеть Minter использует новый Tendermint Consensus Engine, опыта его эксплуатации накоплено недостаточно, ошибки могут проявляться и влиять на работу сети.

Потенциальные угрозы

По словам главного разработчика сети Minter Даниила Лашина, есть 4 основные причины, по которым сеть Minter может перестать генерировать блоки:

  • Единовременное отключение ⅓+ валидаторов
  • Срабатывание защиты
  • Ошибка в коде
  • Непринятие обновления ⅔+ валидаторов

На каждую из них предусмотрены свои способы восстановления сети.

Защита от потенциальных угроз

Единовременное отключение ⅓+ валидаторов

При единовременном отключении ⅓+ мощности валидаторов сеть останавливается, но это не ведет к потерям пользователей. Валидаторы включат свои мастерноды и сеть свнова возобновит работу.

Срабатывание защиты

При срабатывание защиты во время проверок данных ноды, которые происходят каждый 720-й блок (при недопустимом количестве выпущенных монет, или количестве валидаторов, кандидатов и многом другом), мастернода останавливается с ошибкой. Сеть продолжит работу без данной ноды.

Например, если приписать количество выпущенных монет на каком-либо адресе, или из-за сбоя проверка выдаст некорректный адрес, валидатор будет принудительно выключен. Через одну минуту нода будет оштрафована на 1% от всего стейка за недоступность. Штраф ноды – это штраф на всех делегаторов ноды. Но если из-за ошибки будут остановлены одновременно все ноды, штрафов не будет.

Ошибка в коде

При нахождении критической ошибки в коде владельцам придется обновить и перезапустить все мастерноды. При необходимости последствия обновления могут быть решены форком сети. Реальный случай выявления критической ошибки произошел 5 июня 2019 г. Сеть остановилась из-за операций с монетой TELEPORT, которую несколько раз создавали, покупали и ликвидировали. В результате очередной ликвидации, монета была ликвидирована в том же блоке, в котором она была создана, при попытке продажи монеты, система защиты установила несоответствие выпущенных и продаваемых монет, в результате сеть была автоматически остановлена. Разработчики выпустили хотфикс и дали время валидаторам обновиться.

Непринятие обновления ⅔+ валидаторов

При непринятии обновления средним количеством валидаторов ( от ⅓ до ⅔ мощности сети) валидаторам необходимо как можно быстрее обновить свои ноды. Если по каким-либо причинам это невозможно, то потребуется ручной форк кода и обновление большинства.

Перезапуск сети

Может возникнуть критическая ситуация, при которой невозможен хардфорк. На этот случай командой Minter подготовлен особый инструментарий. В таких ситуациях данные из блокчейна могут быть выгружены, а на их основе запущена новая сеть.

Данные, необходимые для старта новой сети:

  • Балансы аккаунтов
  • Монеты
  • Валидаторы
  • Делегаторы
  • Обналиченные чеки
  • Стейки
  • Unbond-записи

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

Ошибки пользователя

Хотя ошибки пользователя не являются частью Minter блокчейна, стоит отметить, что самой реальной проблемой для безопасности данных является человеческий фактор. Большинство взломов происходят в результате непродуманных действий пользователей (открытие фишинговых писем, запуск пораженных вирусами файлов, использование открытых сетей и слабых паролей и пр.). Хотя в сети Minter для доступа к кошелькам применяются не пароли, а seed фразы, необходимо очень внимательно относится к тому, как эти фразы хранить и где использовать.

Смотрите также

Ссылки

История разработки блокчейна Minter