В последние годы технологии блокчейн и децентрализованные финансы (DeFi) стали популярными, особенно среди инвесторов и разработчиков. Одним из наиболее обсуждаемых решений для улучшения масштабируемости блокчейнов, таких как Ethereum, являются оптимистические роллапсы. Тем не менее, несмотря на их потенциальные преимущества, новые исследования выявили уязвимости, которые могут стать целью для злоумышленников. Одним из таких исследований является проект, представленный на платформе GitHub под названием "Exploiting Optimistic Rollups", разработанный пользователем под ником ike10. Оптимистические роллапсы — это решение второго уровня, которое позволяет обрабатывать транзакции вне основной сети Ethereum, а затем сверять результаты на главной сети.
Они полагаются на предположение, что большинство участников сети действуют добросовестно, и именно это предположение создает потенциальные уязвимости в системе. Злоумышленники могут попытаться воспользоваться неоптимальным временем для подачи жалоб на мошенничество, что может привести к необоснованной потере средств и, в худшем случае, полной остановке работы роллапа. В статье отчета рассмотрены основные структуры, лежащие в основе оптимистических роллапов. К ним относятся контракты роллапов, корни состояния и механизмы доказательства мошенничества. Важно понимать каждую из этих частей, чтобы осознать, каким образом могут возникнуть атаки.
Первой уязвимостью, описанной в исследовании, является атака задержки и доступности — когда злоумышленники могут извлечь выгоду из задержек в сети. Это может произойти, если они контролируют большинство секвенсоров (лиц, ответственных за обработку и подачу транзакций). Они могут намеренно отправить недействительный корень состояния сразу после того, как был добыт крупный блок. Это создаёт риск, что быстрая подача оспаривания окажется невозможной из-за сетевой перегрузки. Одним из важных параметров в данной ситуации является период оспаривания, позволяющий участникам сети в течение определённого времени подавать свои доказательства мошенничества.
Если эта срок истекает, недействительный корень состояния может быть принят в результате манипуляций злоумышленников. Для противодействия такой атаке исследователи предлагают внедрить динамические механизмы, которые могли бы адаптировать срок оспаривания в зависимости от загруженности сети. Это позволит более гибко реагировать на изменения загрузки и избежать манипуляций со стороны злоумышленников. Второй значимой уязвимостью является манипуляция газовыми рынками, что позволяет злоумышленникам повышать стоимость транзакций. Это делает невозможным для добросовестных участников подавать жалобы на недействительные корни состояния.
Если, к примеру, недобросовестный секвенсор создаёт пакет с недействительным корнем состояния и запускает газовую атаку, стоимость транзакций может возрасти до такой степени, что честные смотрящие не смогут вовремя подать доказательства мошенничества, и недействительное состояние будет принято. Для смягчения данного риска предлагается создание сети наблюдателей, которые будут собираться вместе и объединять свои средства для подачи доказательств мошенничества. Это позволит уменьшить стоимость участия в этих процессах и увеличит шансы на успех при подаче жалоб. Третий возможный способ атаки — это коллаборация операторов роллапов с другими участниками. Злоумышленники могут создать ситуации, при которых недействительные корни состояния будут загружены в моменты, когда наблюдатели менее активны.
Благодаря такой коллаборации злоумышленники могут осуществлять большое количество незаконных действий, уводя средства из роллапа. Это подчеркивает необходимость децентрализации роллапов, чтобы снизить вероятность таких атак. Многие разработчики обеспокоены экономическими уязвимостями, которые также могут повлиять на оптимистические роллапсы. Например, уровень вознаграждений для секвенсоров часто зависит от комиссионных за транзакции. Это может создать моральный риск, когда операторы будут ставить свои интересы выше интересов участников сети, искажения фактического состояния системы.
Еще одной серьёзной уязвимостью является возможность манипуляции состоянием ликвидности в рамках роллапов. Если недобросовестный актёр успеет загрузить недействительный корень состояния и пользователи не успеют подать жалобу, это может привести к значительным потерям для поставщиков ликвидности. Среди предложенных мер по обеспечению безопасности механизмов доказательства мошенничества можно выделить несколько ключевых направлений. Во-первых, децентрализация наблюдателей и создание различных стимулирующих механизмов могут значительно повысить уровень безопасности всей системы. Также рекомендуется внедрение динамических периодов оспаривания, которые позволят оперативно реагировать на изменения в сети.