Sandwich attack
Um Sandwich attack é uma forma de manipulação do mercado na negociação de criptoativos numa exchange descentralizada. Um atacante coloca duas transações próprias antes e depois da sua transação, fazendo com que obtenha um preço pior.
O que é um Sandwich attack?
Uma exchange descentralizada, ou DEX, é uma plataforma de negociação sem uma entidade central. Nela, podem estar visíveis transações ainda não executadas na mempool: uma fila digital numa blockchain.
Um bot pode detetar nessa fila uma ordem de compra ou venda de grande dimensão. Primeiro, executa uma ordem na mesma direção e, por vezes, paga uma taxa de gas mais elevada para obter prioridade. Em seguida, é executada a transação da vítima. Depois, o bot negoceia na direção oposta.
Assim, o preço muda mesmo antes da sua transação. A slippage aumenta: ou seja, a diferença entre o preço que esperava e aquele que acaba por obter.
Um exemplo de Sandwich attack
Quer comprar uma grande quantidade de um token numa DEX. Um bot deteta a sua ordem antes de esta ser executada e compra primeiro esse token. Por isso, o preço sobe.
Depois, a sua ordem de compra é executada a esse preço mais elevado. Em seguida, o bot volta a vender os seus tokens. O bot tenta lucrar com a diferença de preço, enquanto paga mais do que esperava.
Porque é que um Sandwich attack é importante no mundo das criptomoedas?
Os Sandwich attacks ocorrem sobretudo em DeFi e em DEX que determinam os preços através de pools de liquidez. Podem aumentar os seus custos efetivos de negociação, especialmente no caso de ordens de grande dimensão ou de pools com pouca liquidez.
Nas notícias sobre criptoativos, pode falar-se de um Sandwich attack em artigos sobre bots MEV, DeFi ou problemas na execução de preços. MEV diz respeito à obtenção de valor adicional com base na ordem pela qual as transações são executadas. Um Sandwich attack é uma das suas formas.
Isto não significa que todas as transações numa DEX sejam alvo de um ataque. O risco pode ser reduzido com um limite de slippage mais baixo, ordens mais pequenas, pools com mais liquidez ou uma ordem limitada, se estiver disponível. No entanto, um limite de slippage demasiado baixo pode impedir a execução da transação.