WEB3DEV

Cover image for Conceitos Básicos de MEV em segurança WEB3
Paulo Gio
Paulo Gio

Posted on • Atualizado em

Conceitos Básicos de MEV em segurança WEB3

Faz mais de um mês que não escrevo nenhum artigo sobre blockchain e segurança. Não se preocupe, estou trabalhando em um novo projeto de criptomoedas, então estou com pouco tempo para escrever artigos.

Neste artigo, vamos passar rapidamente pelo MEV na blockchain.

Por que estou falando sobre o MEV aqui? Porque ele está fortemente relacionado à segurança da blockchain.

Na verdade, são como “mini-hacks” mas sem esvaziar o Ether (ou token) de um contrato.

1. Mas o que realmente significa “MEV”?

MEV = Valor Extraível do Minerador. (Ou Valor Máximo Extraível)

MEV é o conjunto de estratégias empregadas na blockchain, inserindo, reorganizando e censurando transações de forma que beneficie o atacante.

Normalmente, isso é liderado por atores muito habilidosos que possuem um alto entendimento de como o blockchain funciona.

Eles implantam bots com uma “estratégia” predefinida e monitoram cada transação da blockchain para ver quando a “estratégia” pode ser aplicada (isso é chamado de “oportunidade”).

2. Diferentes estratégias

2.1. Arbitragem

A estratégia mais conhecida é explorar as diferenças de preços de um ativo entre as exchanges.

Passo 1: A exchange Uniswap lista WBTC a $16000

Passo 2: A exchange Sushiswap lista WBTC a $17000

Passo 3: Compre WBTC na Uniswap (por $16k) e venda WBTC na Sushiswap ($17k) e obtenha $1k de lucro.

Dependendo da quantidade comprada, os lucros serão de $1000 por WBTC comprado (menos a derrapagem e menos as taxas da DEX).

Mas na vida real, os preços desse ativo entre as exchanges não variam tanto. Uma diferença de preços de 0,5% já é bem rara.

Esta é a estratégia mais simples, mas a mais competitiva e, portanto, os lucros são muito limitados…

2.2. Bots sanduíche

Digamos que uma vítima compre 100 SHIBA por 1 ETH,

  1. O bot sanduíche vê sua transação no mempool (as transações enviadas, mas não registradas na blockchain).
  2. O bot também compra SHIBA (mas faz o pedido de shiba a um preço de gás mais alto, portanto a transação é colocada antes da transação da vítima), assim o preço do SHIBA aumenta e a vítima compra o token a um preço mais alto do que o anunciado.
  3. O bot vende SHIBA depois de a vítima ter comprado SHIBA por um preço um pouco mais alto.
  4. O Bot obtém lucros.
  5. A Vítima ficou arruinada porque comprou SHIBA por um preço um pouco mais alto...

Isso é chamado de bot sanduíche porque o bot criou 2 transações (compra e venda) antes e depois que a vítima comprou.

https://miro.medium.com/v2/resize:fit:828/format:webp/1*mX1RZHaoBdPFq1rvXHpe1Q.png

2.3. Front running

Digamos que uma vítima “hackeie” um contrato inteligente e retire 1000 ETH dele

  1. Você (o atacante), monitora a blockchain e vê a transação da vítima no mempool.
  2. Você envia a mesma transação que a vítima, MAS com um preço de gás mais alto, então sua transação é incluída primeiro no mempool ANTES da “vítima” (como no ataque-sanduíche).
  3. Você fica com o lucro EM VEZ da vítima.

Isso também pode se aplicar aos NFTs, comprando-os antes dos outros e vendendo-os pelo preço mínimo.

https://miro.medium.com/v2/resize:fit:1100/format:webp/1*iOzETcsbDUBR4bZTCTA1JQ.jpeg

https://www.securing.pl/en/front-running-attack-in-defi-applications-how-to-deal-with-it/

2.4. Sniping

Sniping bots foram amplamente utilizados na temporada de “shitcoin” (moedas sem valor) do ano passado.

Passo 1: Monitore a blockchain para um lançamento de shitcoin (Mais precisamente para adicionar liquidez).

Passo 2: Quando a liquidez for adicionada, compre instantaneamente a shitcoin antes dos outros com seu bot a um bom preço.

Passo 3: Espere que outros comprem a shitcoin DEPOIS de você, para que o preço aumente.

Passo 4: Quando o preço atingir um bom nível (como x2, x5, x10 ou até mais), venda todas as shitcoins que você comprou no início e obtenha o lucro.

https://miro.medium.com/v2/resize:fit:1100/format:webp/1*WiEbaLg6_0JsptYfLOUpjw.jpeg

Fonte: https://github.com/topics/pancakeswap-sniper-bot-free

3. Como prevenir o MEV?

Existem algumas mitigações possíveis para reduzir o valor perdido:

  • Criptografe parte das transações no mempool.
  • Mantenha uma lista negra descentralizada de bots conhecidos.
  • Reordene a transação por data/hora usando o contrato de proxy.
  • Verifique se um usuário enviou 2 transações (ou mais) em um intervalo de tempo muito pequeno (como no mesmo bloco).

Mas algumas das estratégias de MEV podem fazer mais bem do que mal, como os arbitradores, porque eles garantem a estabilidade dos preços.

4. Conclusão

Espero que este artigo tenha sido uma boa introdução ao MEV na blockchain :)

Apesar de existirem meios “eficazes” para prevenir o MEV em contratos inteligentes, o valor perdido pelos usuários devido ao MEV ainda é muito alto (cerca de 1 bilhão de dólares no total desde 2020).

Feliz Natal e Feliz Ano Novo !

5. Mais recursos

Aqui estão alguns recursos, se você quiser se aprofundar mais:

https://www.mev.wiki/

https://ethereum.org/en/developers/docs/mev/

https://github.com/0xalpharush/awesome-MEV-resources

Artigo original publicado por TrustChain. Traduzido por Paulinho Giovannini.

Top comments (0)