Autor original: Ye & Kan, Sentio; Compilador original: Leo, BlockBeats
Os ataques de robôs MEV são muito comuns no DeFi, mas muitas pessoas só os entendem conceitualmente, como ataques de arbitragem, ataques sanduíche, etc. No entanto, o MEV pode ser melhor compreendido rastreando os dados de transação na cadeia. Recentemente, Sentio, uma plataforma de observação Web3, publicou um artigo explicando o MEV. Dados e exemplos da cadeia podem ajudá-lo a entender melhor o MEV.
Antes de começar o artigo, deixe-me apresentar brevemente o Sentio. Sentio é uma plataforma de monitoramento de dados on-chain que gera indicadores, logs e rastreamentos de dados de contratos inteligentes por meio de soluções de baixo código, que podem ser usadas para análise e monitoramento, simulação/depuração transações e APIs de exportação de dados. Atualmente o Sentio suporta ETH, BSC, Polygon, Solana, Sui, Aptos e outras cadeias. A plataforma foi fundada por engenheiros seniores do Google, Linkedin, Microsoft e TikTok, e é apoiada por importantes VCs como Lightspeed Venture Partners, Hashkey Capital e Canonical Crypto.
introduzir
À medida que o blockchain e o DeFi continuam a crescer, o valor máximo extraível (MEV) tornou-se um tema atraente e controverso. Este artigo tem como objetivo aprofundar os tópicos relacionados ao MEV por meio de transações reais, pontos de dados e exemplos simples de execução do Sentio, e desmistificar o conceito de MEV para todos.
**O que são MEVs? Quão grande é o maior? **
MEV refere-se ao lucro potencial que um minerador, validador ou ordenador de transações pode obter ao ordenar transações em um bloco antes de adicioná-las à cadeia. Este ato de reorganizar a ordem das negociações também oferece oportunidades de lucro.
O gráfico abaixo mostra a receita diária e o lucro gerado por duas estratégias MEV (ou seja, Arbitragem e Sanduíche) nos últimos 14 dias para demonstrar o quão grande é a oportunidade para MEV. A renda bruta média diária é superior a US$ 500.000 e o lucro médio diário é de cerca de US$ 100.000. A receita de jaredfromsubway.eth (área azul) por si só foi responsável por metade do lucro total e do valor da receita do ataque sanduíche.
**Como funciona o MEV? **
arbitragem
Começamos com a estratégia de arbitragem mais “simples” para ilustrar como funciona a negociação de MEV. Vamos dar uma olhada no fluxo de trabalho de uma transação típica de arbitragem MEV da perspectiva de Deus, conforme mostrado na figura abaixo:
Negociação de arbitragem: primeiro, o bot MEV encontra uma diferença de preço entre os dois pools de liquidez; o bot pode então comprar do pool de baixo preço e vender para o pool de alto preço em uma única transação, gerando lucro.
Por exemplo, a transação A é uma transação de arbitragem, clique no link da transação A para visualizar o fluxo de fundos detalhado, alterações de posição e rastreamento de transações com a ajuda do depurador Sentio para entender a execução desta transação passo a passo.
A transação MEV na figura foi iniciada por um robô de negociação começando com 0x1a6. Nesta transação, o bot MEV pode detectar que o preço de WETH em SDEX no pool Uniswap V3 é mais barato que o preço de WETH no pool SmarDex (SmarDex é um Uniswap V2 DEX semelhante). O MEV-bot primeiro troca no pool de preço baixo, depois vende o WETH recebido para o pool de preço alto e, finalmente, obtém um lucro de 0,07ETH (5,91-5,98).
Além disso, a etapa 5 desta transação paga 0,047 ETH aos Flashbots, que é um suborno pago pelos bots MEV para bloquear construtores a serem incluídos em blocos posteriores, levando em consideração a taxa de suborno, os bots MEV ganham 0,02 WETH de lucro.
Vamos dar uma olhada mais profunda em como o MEV-bot encontra oportunidades lucrativas em 0x1a6. Pode-se observar que esta transação MEV está localizada no Bloco 17935927. Antes desta transação havia outra transação B no mesmo bloco, esta transação realizou uma grande quantidade de swap no pool SmarDex (8,52 WETH foram trocados no SDEX). Aumente o preço da ETH no pool.
O bot MEV acima percebeu rapidamente esse processo e adicionou sua própria transação após essa transação, aproveitando essa oportunidade de “baixa entrada, alta saída”.
Antes de a transação ser incluída no bloco, como o robô MEV descobre a transação? Isso deve mencionar o mempool. Antes de a transação ser adicionada ao bloco e encadeada, eles existem em um pool chamado mempool, mempool Quando a transação em tem não foi confirmado, aguardará para ser incluído no próximo bloco. Os construtores de blocos são responsáveis por escolher quais transações incluir e em que ordem, um processo que pode ser influenciado por fatores como taxas de transação e preços do gás (que são o que os bots MEV pagam pela participação).
No caso acima, o bot MEV pode examinar todas as transações do mempool e ver se tal transação existe. O robô MEV então adiciona outra transação, formando um pacote para obter lucro. Os bots MEV podem usar ferramentas como o Flashbot para criar pacotes e forçar as transações de pacotes a serem incluídas no mesmo bloco e executadas na ordem desejada.
Na verdade, mais transações MEV ocorreram neste bloco específico. Como este é um bloco de construção do Flashbot, você pode clicar no navegador Flashbot criado por Marto para ver mais transações e visualizar o fluxo de fundos, alterações de saldo e detalhes de rastreamento de chamadas no depurador Sentio.
ATAQUE SANDUÍCHE
Uma estratégia de arbitragem geralmente consiste em anexar uma negociação após uma lucrativa, mas um ataque sanduíche é uma estratégia que obtém lucro adicionando 1 (ou mais) negociações antes e depois da negociação alvo e forçando essas negociações a serem executadas sequencialmente. Vejamos o processo de operação de um típico ataque sanduíche MEV da perspectiva de Deus, conforme mostrado na figura a seguir:
Primeiro, um usuário envia uma transação para o mempool, e o robô MEV monitora continuamente todas as transações do mempool e rastreia a transação para determinar se pode ser uma oportunidade lucrativa para o sanduíche. Depois que uma oportunidade é identificada, o bot MEV precisa criar um pacote inserindo transações antes e depois da transação alvo (como embrulhar um sanduíche) e enviar esse pacote ao construtor de bloco. Quando a transação do mempool for incluída no próximo bloco e executada, a transação do pacote será executada na ordem exata abaixo.
Os bots MEV geram lucros manipulando a liquidez do pool. Na frente, os robôs MEV podem comprar ativos a um preço mais baixo. Após a transação direcionada, o invasor vende os tokens adquiridos anteriormente por um preço mais alto.
Tomemos como exemplo as últimas 3 transações no bloco 17786884 (Posição 0-2).
Posição 0 (transação preemptiva): transações começando com 0×850
A transação foi inserida pelo robô MEV para trocar 724,6 WETH por 1,34 M USDC. Antes da transação alvo, a transação era realizada ao preço de 1857 ETH/USDC.
Posição (Trader Alvo): Transações começando com 0xc3ae
O trader alvo deseja trocar 2.743 ETH por USDT (Uniswap V3), que eventualmente será processado pelo Uniswap Router e concluirá a transação a um preço médio de 1.851 ETH/USDC. Os traders-alvo sofreram com preços diferentes devido ao front-running, trocando 1.782 ETH pelo preço de 1.850 ETH/USDC no pool de front-running do bot MEV.
Posição 2 (back run): transações começando com 0×040
A transação foi inserida pelo MEV-bot após a transação alvo, e 134 milhões de USDC foram trocados por 727,6 ETH. O resultado final da combinação da Posição 0 e da Posição 2 é que o bot MEV obteve um lucro de 3 ETH, enquanto o trader-alvo sofreu um preço de swap mais alto. As mudanças de posição das duas posições seguintes permitem compreender rapidamente os lucros obtidos pelo robô MEV.
Para proteger o swap de ataques sanduíche, você deve sempre definir um deslizamento máximo. Caso contrário, o deslizamento será explorado por um ataque sanduíche e se tornará receita para o bot MEV (por exemplo, quando definido programaticamente, defina uma porcentagem na interface do aplicativo ou na configuração de troca dentro dos parâmetros amountOutMinimum/sqrtpricelimitx 96).
** liquidação **
Os bots MEV também podem lucrar com protocolos de empréstimo, que são DEXs que conectam credores e devedores (por exemplo, MakerDAO, Aave, Compound, etc.). Os mutuários podem emprestar activos de um determinado valor após fornecerem garantias suportadas pela plataforma.Quando a garantia do mutuário não puder reembolsar a dívida, ocorrerá a liquidação, e o liquidatário será motivado a comprar garantias a um preço baixo para reembolsar a dívida.
Vamos pegar a transação começando com 0x652 como exemplo.
O robô MEV cujo endereço começa com 0×310 obteve um empréstimo de 212 USDT obtendo um empréstimo instantâneo do Balancer e, em seguida, o bot MEV pagou o USDT devido pelo mutuário nas etapas 3 a 8, e o robô MEV cujo endereço começou com 0×994 obteve-o com desconto. Em troca, o robô MEV troca todos os TUSD recebidos por WETH e USDT nas etapas 8 a 11 e paga o empréstimo instantâneo inicial na etapa 12, todas as etapas são concluídas em uma transação.
MEV de cauda longa
Arbitragem, ataques sanduíche e liquidações são as principais formas de extrair MEV. Além disso, existem outras estratégias no MEV que são de nicho, misteriosas e desconhecidas, e são conhecidas como MEV de cauda longa.
Ver original
O conteúdo serve apenas de referência e não constitui uma solicitação ou oferta. Não é prestado qualquer aconselhamento em matéria de investimento, fiscal ou jurídica. Consulte a Declaração de exoneração de responsabilidade para obter mais informações sobre os riscos.
Deixe você entender o MEV por meio do artigo sobre dados e transações na cadeia
Autor original: Ye & Kan, Sentio; Compilador original: Leo, BlockBeats
Os ataques de robôs MEV são muito comuns no DeFi, mas muitas pessoas só os entendem conceitualmente, como ataques de arbitragem, ataques sanduíche, etc. No entanto, o MEV pode ser melhor compreendido rastreando os dados de transação na cadeia. Recentemente, Sentio, uma plataforma de observação Web3, publicou um artigo explicando o MEV. Dados e exemplos da cadeia podem ajudá-lo a entender melhor o MEV.
Antes de começar o artigo, deixe-me apresentar brevemente o Sentio. Sentio é uma plataforma de monitoramento de dados on-chain que gera indicadores, logs e rastreamentos de dados de contratos inteligentes por meio de soluções de baixo código, que podem ser usadas para análise e monitoramento, simulação/depuração transações e APIs de exportação de dados. Atualmente o Sentio suporta ETH, BSC, Polygon, Solana, Sui, Aptos e outras cadeias. A plataforma foi fundada por engenheiros seniores do Google, Linkedin, Microsoft e TikTok, e é apoiada por importantes VCs como Lightspeed Venture Partners, Hashkey Capital e Canonical Crypto.
introduzir
À medida que o blockchain e o DeFi continuam a crescer, o valor máximo extraível (MEV) tornou-se um tema atraente e controverso. Este artigo tem como objetivo aprofundar os tópicos relacionados ao MEV por meio de transações reais, pontos de dados e exemplos simples de execução do Sentio, e desmistificar o conceito de MEV para todos.
**O que são MEVs? Quão grande é o maior? **
MEV refere-se ao lucro potencial que um minerador, validador ou ordenador de transações pode obter ao ordenar transações em um bloco antes de adicioná-las à cadeia. Este ato de reorganizar a ordem das negociações também oferece oportunidades de lucro.
O gráfico abaixo mostra a receita diária e o lucro gerado por duas estratégias MEV (ou seja, Arbitragem e Sanduíche) nos últimos 14 dias para demonstrar o quão grande é a oportunidade para MEV. A renda bruta média diária é superior a US$ 500.000 e o lucro médio diário é de cerca de US$ 100.000. A receita de jaredfromsubway.eth (área azul) por si só foi responsável por metade do lucro total e do valor da receita do ataque sanduíche.
**Como funciona o MEV? **
arbitragem
Começamos com a estratégia de arbitragem mais “simples” para ilustrar como funciona a negociação de MEV. Vamos dar uma olhada no fluxo de trabalho de uma transação típica de arbitragem MEV da perspectiva de Deus, conforme mostrado na figura abaixo:
Negociação de arbitragem: primeiro, o bot MEV encontra uma diferença de preço entre os dois pools de liquidez; o bot pode então comprar do pool de baixo preço e vender para o pool de alto preço em uma única transação, gerando lucro.
Por exemplo, a transação A é uma transação de arbitragem, clique no link da transação A para visualizar o fluxo de fundos detalhado, alterações de posição e rastreamento de transações com a ajuda do depurador Sentio para entender a execução desta transação passo a passo.
A transação MEV na figura foi iniciada por um robô de negociação começando com 0x1a6. Nesta transação, o bot MEV pode detectar que o preço de WETH em SDEX no pool Uniswap V3 é mais barato que o preço de WETH no pool SmarDex (SmarDex é um Uniswap V2 DEX semelhante). O MEV-bot primeiro troca no pool de preço baixo, depois vende o WETH recebido para o pool de preço alto e, finalmente, obtém um lucro de 0,07ETH (5,91-5,98).
Além disso, a etapa 5 desta transação paga 0,047 ETH aos Flashbots, que é um suborno pago pelos bots MEV para bloquear construtores a serem incluídos em blocos posteriores, levando em consideração a taxa de suborno, os bots MEV ganham 0,02 WETH de lucro.
Vamos dar uma olhada mais profunda em como o MEV-bot encontra oportunidades lucrativas em 0x1a6. Pode-se observar que esta transação MEV está localizada no Bloco 17935927. Antes desta transação havia outra transação B no mesmo bloco, esta transação realizou uma grande quantidade de swap no pool SmarDex (8,52 WETH foram trocados no SDEX). Aumente o preço da ETH no pool.
O bot MEV acima percebeu rapidamente esse processo e adicionou sua própria transação após essa transação, aproveitando essa oportunidade de “baixa entrada, alta saída”.
Antes de a transação ser incluída no bloco, como o robô MEV descobre a transação? Isso deve mencionar o mempool. Antes de a transação ser adicionada ao bloco e encadeada, eles existem em um pool chamado mempool, mempool Quando a transação em tem não foi confirmado, aguardará para ser incluído no próximo bloco. Os construtores de blocos são responsáveis por escolher quais transações incluir e em que ordem, um processo que pode ser influenciado por fatores como taxas de transação e preços do gás (que são o que os bots MEV pagam pela participação).
No caso acima, o bot MEV pode examinar todas as transações do mempool e ver se tal transação existe. O robô MEV então adiciona outra transação, formando um pacote para obter lucro. Os bots MEV podem usar ferramentas como o Flashbot para criar pacotes e forçar as transações de pacotes a serem incluídas no mesmo bloco e executadas na ordem desejada.
Na verdade, mais transações MEV ocorreram neste bloco específico. Como este é um bloco de construção do Flashbot, você pode clicar no navegador Flashbot criado por Marto para ver mais transações e visualizar o fluxo de fundos, alterações de saldo e detalhes de rastreamento de chamadas no depurador Sentio.
ATAQUE SANDUÍCHE
Uma estratégia de arbitragem geralmente consiste em anexar uma negociação após uma lucrativa, mas um ataque sanduíche é uma estratégia que obtém lucro adicionando 1 (ou mais) negociações antes e depois da negociação alvo e forçando essas negociações a serem executadas sequencialmente. Vejamos o processo de operação de um típico ataque sanduíche MEV da perspectiva de Deus, conforme mostrado na figura a seguir:
Primeiro, um usuário envia uma transação para o mempool, e o robô MEV monitora continuamente todas as transações do mempool e rastreia a transação para determinar se pode ser uma oportunidade lucrativa para o sanduíche. Depois que uma oportunidade é identificada, o bot MEV precisa criar um pacote inserindo transações antes e depois da transação alvo (como embrulhar um sanduíche) e enviar esse pacote ao construtor de bloco. Quando a transação do mempool for incluída no próximo bloco e executada, a transação do pacote será executada na ordem exata abaixo.
Os bots MEV geram lucros manipulando a liquidez do pool. Na frente, os robôs MEV podem comprar ativos a um preço mais baixo. Após a transação direcionada, o invasor vende os tokens adquiridos anteriormente por um preço mais alto.
Tomemos como exemplo as últimas 3 transações no bloco 17786884 (Posição 0-2).
Posição 0 (transação preemptiva): transações começando com 0×850
A transação foi inserida pelo robô MEV para trocar 724,6 WETH por 1,34 M USDC. Antes da transação alvo, a transação era realizada ao preço de 1857 ETH/USDC.
Posição (Trader Alvo): Transações começando com 0xc3ae
O trader alvo deseja trocar 2.743 ETH por USDT (Uniswap V3), que eventualmente será processado pelo Uniswap Router e concluirá a transação a um preço médio de 1.851 ETH/USDC. Os traders-alvo sofreram com preços diferentes devido ao front-running, trocando 1.782 ETH pelo preço de 1.850 ETH/USDC no pool de front-running do bot MEV.
Posição 2 (back run): transações começando com 0×040
A transação foi inserida pelo MEV-bot após a transação alvo, e 134 milhões de USDC foram trocados por 727,6 ETH. O resultado final da combinação da Posição 0 e da Posição 2 é que o bot MEV obteve um lucro de 3 ETH, enquanto o trader-alvo sofreu um preço de swap mais alto. As mudanças de posição das duas posições seguintes permitem compreender rapidamente os lucros obtidos pelo robô MEV.
Para proteger o swap de ataques sanduíche, você deve sempre definir um deslizamento máximo. Caso contrário, o deslizamento será explorado por um ataque sanduíche e se tornará receita para o bot MEV (por exemplo, quando definido programaticamente, defina uma porcentagem na interface do aplicativo ou na configuração de troca dentro dos parâmetros amountOutMinimum/sqrtpricelimitx 96).
** liquidação **
Os bots MEV também podem lucrar com protocolos de empréstimo, que são DEXs que conectam credores e devedores (por exemplo, MakerDAO, Aave, Compound, etc.). Os mutuários podem emprestar activos de um determinado valor após fornecerem garantias suportadas pela plataforma.Quando a garantia do mutuário não puder reembolsar a dívida, ocorrerá a liquidação, e o liquidatário será motivado a comprar garantias a um preço baixo para reembolsar a dívida.
Vamos pegar a transação começando com 0x652 como exemplo.
O robô MEV cujo endereço começa com 0×310 obteve um empréstimo de 212 USDT obtendo um empréstimo instantâneo do Balancer e, em seguida, o bot MEV pagou o USDT devido pelo mutuário nas etapas 3 a 8, e o robô MEV cujo endereço começou com 0×994 obteve-o com desconto. Em troca, o robô MEV troca todos os TUSD recebidos por WETH e USDT nas etapas 8 a 11 e paga o empréstimo instantâneo inicial na etapa 12, todas as etapas são concluídas em uma transação.
MEV de cauda longa
Arbitragem, ataques sanduíche e liquidações são as principais formas de extrair MEV. Além disso, existem outras estratégias no MEV que são de nicho, misteriosas e desconhecidas, e são conhecidas como MEV de cauda longa.