Ir para o conteúdo

Ataque sanduíche

Como um buscador posiciona transações ao redor de um swap pendente, piora a execução do usuário e extrai valor da ordenação das transações.

Atualizado

Somente para fins educacionais; não constitui orientação de segurança nem recomendação de investimento. Controles de slippage e roteamento privado podem reduzir a exposição a ataques sanduíche, mas não garantem qualidade de execução, inclusão, finalidade ou recuperação de perdas.

Resposta direta

Um ataque sanduíche é uma forma prejudicial de valor máximo extraível em que um atacante coloca uma transação imediatamente antes do swap de um usuário e outra logo depois. A primeira operação move o preço do pool contra o usuário, o swap é executado a uma taxa pior e a operação final encerra a posição do atacante no preço criado em parte pela ordem do usuário.

O ataque depende de visibilidade antecipada ou privilégio para ordenar a intenção do usuário, impacto de preço suficiente e limites de execução que ainda permitam o sucesso do swap. Ele é mais discutido em swaps de formadores de mercado automatizados, mas o risco mais amplo inclui qualquer mudança de estado previsível cuja ordenação permita que outra parte extraia valor.

Como funciona

Um usuário assina e transmite um swap. Se os detalhes chegarem antes da inclusão a um pool público de transações ou a outro canal observável de fluxo de ordens, um buscador poderá decodificar ativos, tamanho, rota, saída mínima e prazo, e simular possíveis sequências.

Em uma compra num pool AMM, o buscador compra primeiro. Esse front-run altera as reservas e eleva o preço de execução do usuário. Em seguida, o usuário recebe menos tokens de saída que na cotação anterior, desde que o resultado ainda satisfaça a condição de saída mínima. O buscador vende após o usuário em um back-run e captura parte do movimento do preço.

Receita bruta não é o mesmo que lucro. O atacante precisa cobrir as taxas dos dois swaps, o Gas ou pagamentos ao builder, tentativas fracassadas e risco de estoque. Concorrência, outras operações, reversão do swap do usuário ou mudança na ordem do bloco podem tornar a sequência deficitária; um sanduíche não é automaticamente atômico nem garantido.

A proteção contra slippage limita a pior saída aceita, mas não impede a ordenação. Uma tolerância muito ampla deixa mais espaço para execução adversa, enquanto uma muito restrita pode reverter um swap legítimo durante a volatilidade. Aplicativos e contratos integradores devem exigir uma saída mínima atual aprovada pelo usuário e um prazo adequado, em vez de zero ou um valor fixo desatualizado.

Envio privado, fluxo de ordens protegido, leilões em lote, execução baseada em intenções e divisão de ordens podem reduzir a exposição em alguns sistemas. A proteção depende dos intermediários que veem a ordem, da cobertura dos builders, do comportamento de fallback, da liquidez, das taxas e da implementação; rótulos como “privado” ou “protegido contra MEV” não são garantias universais.

Exemplo

Um usuário envia um swap visível para comprar o Token B com o Token A em um pool AMM. Um buscador simula que a ordem é grande o suficiente para mover o preço do pool e que a saída mínima do usuário deixa espaço para a execução após um movimento adverso.

O buscador compra primeiro o Token B, o swap do usuário compra depois o Token B à taxa piorada e o buscador vende imediatamente. O usuário ainda recebe pelo menos o mínimo assinado, mas menos que na cotação anterior; o buscador retém apenas o restante após taxas de swap, pagamentos de ordenação e custos de execução.

Riscos

O dano direto ao usuário é uma execução pior e slippage efetivo maior. O swap também pode reverter depois de consumir Gas quando a rede e o desenho da transação cobram por execução malsucedida. Liquidez baixa, ordens grandes e visíveis, limites permissivos, mercados voláteis e rotas previsíveis podem aumentar a exposição, mas nenhum limiar isolado prova que ocorrerá um ataque.

As mitigações envolvem concessões. Ordens menores podem pagar mais taxas no total ou revelar uma estratégia repetida; limites estritos podem aumentar as reversões; rotas privadas acrescentam questões de confiança, censura, registros e fallback; interfaces protegidas podem cobrir apenas redes ou rotas selecionadas. Verifique a saída mínima assinada, o prazo, a rota, a política do endpoint, o recibo e a finalidade exigida, em vez de confiar em um selo de proteção.

Equívocos comuns

  • Todo movimento de preço adverso é um ataque sanduíche. Impacto normal no preço, movimento de mercado, mudanças de rota e arbitragem também podem afastar a execução da cotação; atribuir um sanduíche exige evidência da ordem das transações.
  • O atacante simplesmente rouba tokens da carteira. Um sanduíche típico muda o estado do pool ao redor de um swap autorizado; a transação do atacante não precisa transferir ativos diretamente da carteira do usuário.
  • Definir qualquer tolerância de slippage impede o ataque. A saída mínima limita a piora aceita, mas um buscador pode otimizar o sanduíche para que o swap tenha sucesso perto desse limite.
  • O envio privado elimina o MEV. Ele pode ocultar a ordem do pool público, mas operadores RPC, relays, builders, solucionadores ou um fallback público ainda podem observá-la ou influenciá-la.
  • Um recibo bem-sucedido prova execução justa. O sucesso prova apenas que as condições do contrato foram atendidas, não que o usuário obteve o melhor preço ou evitou uma ordenação prejudicial.

Tópicos relacionados

Fontes

Navegação

Pesquisar na wiki...