Атака майнеров. Часть 1
Сегодня мы углубимся в тему атак майнеров. Валидаторы (ранее известные как майнеры в системах Proof of Work) — это процессоры транзакций, которые обладают значительным контролем над механикой блокчейна. Понимание их привилегий в рамках протоколов консенсуса имеет важное значение для реализации безопасных смарт контрактов.
Мы рассмотрим сценарии, в которых валидаторы могут влиять на исполнение контрактов. Не путем прямого взлома, а путем использования своего положения в механизме консенсуса блокчейна.
В частности, мы рассмотрим следующие пункты контрольного списка:
SOL-AM-MA-1: Используется ли block.timestamp для операций, чувствительных ко времени?
SOL-AM-MA-2: Использует ли контракт свойства блока, такие как временная метка или сложность, для генерации случайных чисел?
SOL-AM-MA-3: Чувствительна ли логика контракта к порядку транзакций?
Давайте углубимся в тему и узнаем, как защитить ваши смарт контракты от этих тонких, но потенциально разрушительных атак!
Влияние майнеров на блокчейн системы
Майнеры играют ключевую роль в блокчейн сетях PoW, проверяя транзакции и обеспечивая безопасность сети посредством конкурентного процесса решения криптографических задач. Этот процесс, известный как майнинг, требует значительных вычислительных ресурсов и энергии для генерации действительных решений PoW, которые соответствуют целевому уровню сложности сети.
Эволюция Ethereum от PoW к Proof of Stake (PoS) превратила «майнеров» в «валидаторов». Тем не менее, сообщество специалистов по безопасности блокчейна продолжает использовать такие термины, как «извлекаемая майнерами ценность» - MEV - и «манипуляции майнеров» из-за их исторической распространенности и технической преемственности. Однако в настоящее время эти атаки осуществляются валидаторами, которые контролируют порядок транзакций в экосистеме Ethereum после слияния.
Майнеры обладают несколькими предоставленными протоколом возможностями, которые напрямую влияют на работу блокчейна. Они определяют включение транзакций и их порядок в блоках на основе стимулов в виде комиссий (цен на газ в Ethereum), что дает им контроль над очередностью обработки мемпула. Эта возможность определять порядок позволяет извлекать максимальную извлекаемую ценность (MEV) путем стратегического позиционирования транзакций без нарушения правил консенсуса. Майнеры могут манипулировать временными метками блоков в пределах допустимых сетью допусков, которые обычно составляют ±15 секунд в Ethereum и до 2 часов в Bitcoin, что может потенциально повлиять на логику контрактов, зависящих от времени, таких как периоды разблокировки или расчет процентов.
Кроме того, майнеры влияют на свойства блоков, включая ограничения газа, и определяют значения blockhash посредством своей майнинговой деятельности. Эти свойства становятся частью неизменного состояния блокчейна и могут влиять на контракты, функциональность которых зависит от них.
Мы уделяем основное внимание манипуляциям майнеров, которые могут быть выполнены без контроля над большинством хешрейта. В частности, это манипуляции, связанные с временными метками блоков, свойствами блоков, используемыми для генерации случайных чисел, и уязвимостями в порядке транзакций. Эти уязвимости могут быть использованы майнерами с небольшим участием в сети и представляют собой практические векторы атак на развернутые смарт-контракты.
Существуют и другие интересные векторы атак, в том числе:
- Атаки 51%: контроль над большей частью хешрейта для обеспечения двойной траты;
- Эгоистичный майнинг: стратегическое удержание блоков для увеличения относительного вознаграждения;
- Timejacking: манипулирование восприятием времени в сети;
- Атаки Eclipse: изоляция узлов от честных пиров;
Post #1465
581
- 👍 2
- 🔥 2
- 🤔 1