No submundo do Ethereum, milhares de robôs apelidados de ‘snipers’ competem entre si para encontrar a oportunidade de arbitragem perfeita que lhe renda o maior lucro possível.
Para fazer isso, eles vasculham as transações dos usuários comuns à espera de validação na blockchain para buscar aquelas que melhor aproveitam a variação de preço de uma criptomoeda em diferentes corretoras.
Uma vez encontrada a transação ideal, esses bots criam a mesma ordem e usam velocidade e dinheiro para fazer com que mineradores incluam sua transação primeiro na blockchain, deixando o trader original no prejuízo.
Toda essa movimentação secreta que acontece na rede Ethereum foi estudada de perto por Samneet Chepal, analista quântico da firma de investimentos LedgerPrime. No seu artigo “O mundo oculto dos atiradores de Ethereum”, Chepal abre com um exemplo básico para entender o problema:
“Suponha que o token XYZ esteja US$ 100 na Uniswap, mas US$ 120 na Sushiswap. Uma arbitragem simples seria comprar XYZ na Uniswap e vender na Sushiswap por U$ 20 de lucro. Quando essa transação chegar ao mempool público, um bot sniper notará essa troca e imediatamente terá a oportunidade de sair na frente (front-run) do trader”.
Quando um usuário faz uma transação na rede Ethereum, ela é transferida para o que chamamos de mempool a espera de ser pega por um minerador e adicionada na blockchain.
O problema é que o mempool é público e observado atentamente por milhares de bots snipers. O que entra em jogo neste momento é a velocidade do trader e a quantidade de ether que ele está disposto a gastar para aumentar suas chances de ter sua transação adicionada no bloco na frente de qualquer outro concorrente.
O problema do MEV
Usando o exemplo acima, o bot sniper pode subornar o minerador ao oferecer uma taxa de transação de US$ 10 ao invés de US$ 5, como na transação original que ele copiou. “Ironicamente, o sniper pode ser atacado por outro bot disposto a pagar uma taxa de US$ 15 pela transação”, ressaltou Chepal.
O suborno máximo nesse caso seria US$ 20, equivalente ao lucro da operação, conhecido como MEV (valor máximo extraível).
Além de prejudicar o usuário final que não terá sua transação processada e ainda perderá o dinheiro usado para pagar as taxas, a estratégia de encher a rede com bot snipers afeta o bem-estar geral no ecossistema do Ethereum.
“Apenas um bot pode capturar esta negociação – todos os outros verão suas negociações falhando. As transações falhas ocupam espaço no bloco que exclui os usuários. Além disso, essa competição empurra o preço do gas para cima para todos na rede”, ressalta Chepal.
Solução preliminar: flashbots
De acordo com o analista, a melhor opção no momento para um usuário contornar um bot sniper é através de flashbots.
Em vez de deixar sua transação pendente no mempool público a espera para ser adicionada ao próximo bloco, o usuário pode enviar sua transação diretamente para um minerador, longe da mira dos bots snipers.
Essas transações são enviadas como pacotes por meio de um retransmissor flashbot que o minerador pode aceitar como qualquer outra transação normal.
“Se você não estiver revelando sua operação antes que ela seja finalizada, então não há como um sniper atacá-lo. Nesse caso, os dados da transação só são publicados depois de totalmente minerados”, explica Chepal.
Isso poderia ter evitado um evento visto no início desta semana, quando um bot foi rápido e inteligente o suficiente para comprar por US$ 3 mil um NFT que valia US$ 300 mil. Para isso, precisou sacrificar 8 ETH em taxa de gas, mas mesmo assim o trade foi extremamente lucrativo.
“No geral, acho que os novos protocolos precisarão pensar cuidadosamente sobre como eles protegem seus usuários do MEV. Flashbots e projetos como mistX Labs, KeeperDAO e MEVprotection são algumas das soluções por aí e espero que surjam mais à medida que esse espaço cresce”, concluiu o analista no seu estudo.
Solução definitiva: Ethereum 2.0
Os problemas do MEV já ganharam atenção dos principais desenvolvedores do Ethereum, incluindo seu fundador e voz de maior peso na comunidade, Vitalik Buterin.
Em um artigo publicado em julho deste ano, Buterin analisou um ataque hipotético de reorganização de blocos causado por mineradores e as possíveis formas de combatê-lo.
Na visão do especialista, a ameaça de um ataque de reorganização de blocos — mesmo que pequena e sem tentativas bem-sucedidas até então — deve ser eliminada quando o Ethereum 2.0 for ativado na rede principal.
Ao passo que o Ethereum abandona o consenso de prova de trabalho em que mineradores são os responsáveis pela criação de novos blocos, e passa a adotar a prova de participação, na qual validadores travam seu ether para ter o direito a criar novos blocos, a ameaça desse tipo de ataque diminui.
Isso porque a rede se torna mais distribuída e a seleção aleatória de quem, entre milhares de validadores, vai gerar o próximo bloco, diminui as chances de que mineradores mal-intencionados concentrem recursos para orquestrar um ataque.