(у меня есть открытые вопросы по безопасности сайдчейнов и приложений).
Поделитесь мыслями на эту тему, пожалуйста!
Я как-то давно спрашивал разработчиков, но с моим английском толком не смог сформулировать нужные вопросы да и ответы были не очень ясные.
Разработали приложение, его проверили, всё чисто, перевели средства, сеть работает. Далее разработчик заменяет приложение.
И вот здесь не понятно насколько защищена сеть. Я так понимаю, что если форджеры независимы от разработчика, то они могут проверить приложение и если они его не примут, то сеть продолжит работать на старой версии. Но если форджеры большей частью принадлежат разработчику? Тогда можно накатить вредоносную версию приложения.
Тут нужна какая-то информация или по рейтингам нод или все их надо проверять. Или чтобы все узлы форджили блоки, а не только 101 делегат, может в этом случае эту атаку с подменой кода будет сложнее провести. Нужны инструменты для анализа приложений и выявления "вредоносных" участков. Например, чтобы показывались изменения в коде работающим с функциями перевода средств. Может стоит ввести голосование пользователей за переход на новую версию (в зависимости от количества средств, плюс порог одобрения должен быть заранее прописан в коде и должен быть довольно большим).
Ещё один момент. Допустим, даже если разработчику принадлежит большинство форджеров, но в силу каких-то механизмов защиты сети они не могут использовать новую вредоносную версию приложения (скажем, после перехода на версию без одобрения они перестанут быть форджерами), то могут ли они подменить блокчейн? Что будет если большинство форджеров подменят блокчейн на изменённый (допустим, где нет части транзакций от приложения разработчика к пользователям), тогда главной веткой станет эта, изменённая? Да, обычные ноды пользователей её не примут, но позволит ли это вывести средства в мейнчейн? Возможна ли такая ситуация?
Насчёт распространения приложения. Хорошо, есть стабильная проверенная версия, но как я понял, в AppStore будет лишь ссылка, а по этой ссылке приложение можно подменить. Не даёт ли это возможность провести атаку на новых пользователях без внедрения этой версии приложения на нодах-форджерах. Пользователи должны будут проверять хэш приложения и желательно этот хэш как-то зафиксировать/привязать к версии что запущена на нодах-форджерах. Чтобы сама платформа LISK'а не позволяла устанавливать на обычных пользовательских нодах версию отличную от той, что запущена на нодах-форджерах. Но это меньшая проблема, её легче решить.
Я не имею чёткой теоретической базы в этих вопросах. Возможно, где-то ошибаюсь и проблемы надуманы. Но эти моменты не ясны а по безопасности материалов мало.
Хотя кто-то из команды говорил, что они в первую очередь будут работать над безопасностью, думаю их бюджет позволит им нанять специалистов, которые хорошо разбираются в подобных вопросах.