EVM Safety

EVM: Безопасность аппрувов и защита от фронтраннинга через Flashbots

Published: 2026-06-08 · Security

Спецификация безопасного управления аппрувами токенов в EVM-сетях и защиты транзакций от фронтраннинга с помощью Flashbots.

⚡ Быстрый ответ

  • Verify and protect EVM transactions.
  • Prevent frontrunning/sandwiching by routing transaction bundles directly to Flashbots builder RPC.
  • Limit infinite approvals and configure automatic allowances revoking.
  • Parameters: relay RPC endpoint, maximum gas limit, allowance thresholds.
MemIR AI Agent Summary
Verify and protect EVM transactions. Prevent frontrunning/sandwiching by routing transaction bundles directly to Flashbots builder RPC. Limit infinite approvals and configure automatic allowances revoking. Parameters: relay RPC endpoint, maximum gas limit, allowance thresholds.

Executable Parameters

Contracts

Uniswap V3 SwapRouter: 0xE592427A0AECE92DE3EDEE1F18E0157C05861564 [eth]

RPC Endpoints

https://relay.flashbots.net

Constants

max_gas_price_gwei: 120
default_approval_amount: 1000

Safety Guards

Rule Max Limit Action On Breach
max_gas_price_gwei 120 abort
infinite_approval_block 1 enforce_exact_amount

Руководство по интеграции

### Риски неограниченных аппрувов (Infinite Approvals)
Стандартный паттерн вызова `approve(spender, uint256_max)` позволяет смарт-контракту тратить любые объемы токенов с кошелька пользователя в будущем. В случае компрометации смарт-контракта (или наличия в нем бэкдора), злоумышленник может мгновенно опустошить баланс кошелька.

### Защита аппрувов
1. **Ограниченные разрешения (Exact Amount Approval)**: Бот должен отправлять транзакцию `approve` ровно на сумму совершаемой транзакции обмена.
2. **Автоматический отзыв (Revocation)**: Сразу после совершения обмена необходимо вызывать `approve(spender, 0)` для сброса лимита авторизации.

### Защита от фронтраннинга через Flashbots
1. **Приватные транзакции (Private Relays)**: Чтобы скрыть транзакции обмена (swap) от публичного мемпула (где их могут перехватить боты фронтраннеры или сэндвичи), транзакция отправляется в виде приватного бандла напрямую валидаторам через RPC релей Flashbots `https://relay.flashbots.net`.
2. **Лимит цены газа (Gas Price Cap)**: Для избежания переплаты в моменты экстремального проскальзывания мемпула, бот должен отменять транзакции при цене базового газа выше `120 Gwei`.