paint-brush
Você pode ganhar um Lambo sendo um Flash Arbitrageur na BNB Smart Chain?por@datamint
3,480 leituras
3,480 leituras

Você pode ganhar um Lambo sendo um Flash Arbitrageur na BNB Smart Chain?

por Datamint19m2022/08/10
Read on Terminal Reader
Read this story w/o Javascript

Muito longo; Para ler

Blockchain BSC. Eu estava usando nosso mecanismo de análise de dados Datamint para procurar os atores mais lucrativos. Este mecanismo contém dados históricos e ao vivo sendo constantemente transmitidos do blockchain mais ativo em termos de quantidade diária de usuários ativos - BNB Smart Chain (antigo Binance Smart Chain). Eu tinha a hipótese de que era possível encontrar insights de negociação a partir do comportamento desses traders. De repente, algo chamou minha atenção. Encontrei um trader que conseguiu exagerar no mercado em 270 BNB (65.000 $ no momento da redação deste artigo e ainda mais do que no momento da negociação). Ele usou apenas trocas descentralizadas (DEX) para alcançar esse resultado.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail

Coins Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Você pode ganhar um Lambo sendo um Flash Arbitrageur na BNB Smart Chain?
Datamint HackerNoon profile picture


A fascinante história de eu mergulhar fundo em um negócio de arbitragem na plataforma blockchain mais ativa.


Introdução

Esta história começou em uma longa noite enquanto eu analisava rotineiramente o desempenho dos traders no blockchain BSC. Eu estava usando nosso mecanismo de análise de dados Datamint para procurar os atores mais lucrativos . Este mecanismo contém dados históricos e ao vivo sendo constantemente transmitidos do blockchain mais ativo em termos de quantidade diária de usuários ativos - BNB Smart Chain (antigo Binance Smart Chain). Eu tinha a hipótese de que era possível encontrar insights de negociação a partir do comportamento desses traders.


De repente, algo me chamou a atenção. Encontrei um trader que conseguiu exagerar no mercado em 270 BNB (65.000 $ no momento da redação deste artigo e ainda mais do que no momento da negociação). Ele usou apenas trocas descentralizadas (DEX) para alcançar esse resultado.


Bem, “não é ótimo, não é terrível”, pensei. Em seguida, fiz uma consulta para entender quanto tempo ele levou para chegar a esse resultado. O console de consulta pensou por alguns segundos e me deixou com uma resposta impressionante: um dia. Sério? Ok, mas quantas transações ele enviou? Apenas um? Como isso poderia ser?


Bem, é tecnicamente possível fazer vários negócios em uma transação. Em blockchains semelhantes ao Ethereum (como Polygon, Avalanche C-Chain, muitos outros e, claro, BSC), isso exigiria que você escrevesse e implantasse um contrato inteligente. Você precisaria codificar na linguagem Solidity, mas não é tão difícil se você tiver alguma experiência em codificação (esteja ciente de que a maioria dos exemplos de código de “Uniswap Arbitrage Bot” promovidos online são golpes que apenas roubam seu dinheiro).


Mas como exatamente você pode extrair tanto valor em uma etapa atômica❓


É hora de verificar o conteúdo da transação.

https://bscscan.com/tx/0x724e64f8426af9329c71ff3eee16e2bf5fc03b979370217c277e8bbf917f3bb7


Vamos dar uma olhada no que está acontecendo aqui.


Vemos que esse sortudo pega 1500 BNB e os troca por BUSD stablecoin. Em seguida, ele troca BUSD por BSC-USD (outra stablecoin indexada ao dólar). Depois disso, o comerciante troca BSC-USD para CAKE (token nativo do protocolo Pancakeswap DeFi), que é então trocado de volta para BNB em sua forma agrupada. No final, o trader obtém 1769 BNB , extraindo efetivamente 269 BNB de lucro .


Isso se chama arbitragem. Muitos ativos são negociados em várias bolsas descentralizadas (DEX) e os preços em diferentes DEXes e pares de ativos estão em constante mudança. Um ator inteligente pode aproveitar essas discrepâncias de preços e extrair valor em uma única transação.


Depois de algumas pesquisas, descobri que esse exemplo, embora impressionante, não é tão comum por causa de duas coisas. Primeiro, neste caso, o jogador usou seu próprio capital para negociar. Em segundo lugar, ele extraiu uma quantia muito grande.


Então, aqui está outro exemplo muito mais comum de arbitragem:

https://bscscan.com/tx/0x257af7585ca32e8648c4307e839d70e2e7d2a6879375a29abe9c15145b204015



Em primeiro lugar, você pode ver que a ordem das operações é estranha. O arbitrador pega tokens de um pool de liquidez antes de pagar por eles. Isso é chamado de “empréstimo instantâneo” . Protocolos de troca como Uniswap v2 (Pancakeswap e a maioria dos outros DEXes no BSC são forks do Uniswap v2) permitem que você receba qualquer quantia de dinheiro (até o valor total de liquidez do pool). Mas você tem que reembolsar todos os fundos emprestados com uma taxa antes que a transação termine . O protocolo não traz nenhum risco aqui, porque reverterá a transação à força se você não pagar totalmente o empréstimo.


Portanto, esse arbitrador utiliza empréstimos instantâneos. Dessa forma, ele pode executar arbitragem sem um centavo de capital de giro (exceto para custos de gás). Mas também temos outra diferença aqui: o pequeno lucro. O comerciante conseguiu apenas $ 1,26 e pagou algo como $ 0,54 pela gasolina. Portanto, seu lucro líquido para esta transação foi inferior a 1 $. No entanto, arbitradores como este podem fazer dezenas de tentativas de arbitragem por minuto. Isso significa que ele provavelmente ainda ganhava muito. Em breve, saberemos quanto exatamente.


Nesse ponto, fiquei tão emocionado com esses exemplos que decidi mergulhar mais fundo. Eu estava determinado a descobrir como exatamente esse mercado funciona. E talvez… descubra como ganhar um Lambo entrando em um negócio de arbitragem 😃.


Spoiler : Ainda não possuo um Lambo, mas esta foi uma jornada fascinante. Também aprendi muito sobre arbitragem e até tentei me colocar no lugar do arbitrador.


Você está pronto para me seguir nesta jornada? Vamos começar então!

Quão grande e estável é o mercado?

Decidi começar calculando quanto os arbitradores estão ganhando.


Hoje, estamos falando apenas dos chamados “arbitradores” instantâneos. Esses são os caras que pegam um empréstimo rápido, executam negócios, pagam o empréstimo e ficam com o lucro - tudo em uma transação.


Esta parte do mercado de arbitragem é muito doce. Na verdade, você não precisa de capital de giro para fazer isso e não corre o risco de perder seu capital. Ao enviar a transação, você ganha ou a transação é revertida. Você perde apenas uma pequena taxa de gasolina, geralmente menos de 10 centavos. Mas como calcular os lucros totais dos arbitradores instantâneos? Depois de algumas experiências com uma revisão manual, criei uma consulta que executa as seguintes etapas:


  • Filtre apenas as transações que satisfaçam os seguintes critérios:

    • Ativos negociados em um circuito fechado (como WBNB — DOGE — CAKE — WBNB.

    - Valor extraído em um dos ativos mais líquidos do BSC: BNB, BUSD, USDT, USDC, WBTC ou WETH.

    - O receptor tx não é um contrato público (como o roteador PancakeSwap, por exemplo). Excluímos esses contratos para calcular adequadamente as taxas totais de gás de arbitragem, incluindo as taxas por tentativas malsucedidas.

  • Descubra o criador do contrato — precisamos disso porque um arbitrador pode ter vários contratos e queremos agrupá-los.

  • Calcule a receita total e converta todas as receitas em valor em USD usando o preço mediano do ativo-BUSD DEX do dia da negociação.

  • Calcule os custos de gás para tentativas bem-sucedidas e malsucedidas.


Nota: Ao falar sobre o lucro de um arbitrador, queremos dizer lucro bruto : receitas menos custos de gás. Na realidade, os arbitradores provavelmente têm outros custos significativos que incluem folha de pagamento da equipe de P&D e pagamentos de infraestrutura (aluguel de servidor, links de rede privada, etc.). A estrutura de custo exata é o know-how do arbitrador, não podemos descobri-la com a análise on-chain. Esta ferramenta é poderosa, mas obviamente tem limitações.


A consulta resultante acabou sendo realmente intensiva em computação. Em circunstâncias normais, pode levar dias ou semanas para ser executado (especialmente devido ao enorme tamanho do arquivo BNB Smart Chain). No entanto, graças ao banco de dados analítico muito rápido no núcleo do mecanismo de análise de dados do Datamint e a alguma ajuda de meus colegas com otimizações de consulta, obtive todos os dados em questão de minutos. Em seguida, conectei uma ferramenta de visualização aos data marts resultantes. E aqui está: o Datamint BSC Flash Arbitrage Monitor . Você pode conferir ao vivo em nosso site (veja o link no final do artigo).



Mas voltemos à nossa análise. Podemos ver que todos os arbitradores lucrativos ganharam $ 138,05m desde 1º de janeiro de 2021. Isso é basicamente quase toda a história do BNB Smart Chain. A BNB Smart Chain foi lançada em setembro de 2020 e ganhou força no quarto trimestre de 2020.

Também podemos ver um declínio lento, mas constante, nos lucros dos arbitradores. (Isso exclui os picos que discutiremos mais tarde). Eu interpreto esse declínio como o fato de que os mercados DeFi estão se tornando mais maduros e eficientes, deixando menos espaço para extração de valor por arbitragem.


Fiquei surpreso ao ver quantos arbitradores sofrem perdas diretas – alguns deles perdendo milhares de dólares .


E isso não é por causa dos custos do gás (os custos do gás são realmente uma pequena fração da receita para a grande maioria dos arbitradores). Eles realmente não precisam carregar essas perdas porque você pode reverter uma transação se perceber que está prestes a ter lucro negativo. Só posso pensar que suas perdas se devem a um mau trabalho de matemática. E isso não é tão surpreendente, pois esse doce mercado atrai profissionais e amadores.


Vamos dar uma olhada no cara de maior sucesso, eu o chamo de “O Rei da Arbitragem do BSC” . Ele está no jogo desde o início e ganhou quase 8 milhões de dólares até o final do segundo trimestre de 2022 .


Ele possui 32 contratos de arbitragem, todos lucrativos (bem, ele é um profissional, sem dúvida). Olhando para sua dinâmica de lucro, vemos que seus ganhos são geralmente mais baixos em 2022 do que em 2021. Isso se deve em parte ao mercado mais eficiente e em parte ao preço mais baixo do BNB ( o preço médio do BNB em 2022 é de ~300$ vs ~ 400$ em 2021 ) e a queda geral do mercado. No entanto, podemos ver um grande aumento em seus lucros em maio. Ele normalmente ganhava cerca de 5 a 15 mil dólares por dia em 2020. Mas, em 12 de maio, ele ganhou impressionantes 320 mil dólares! (Posso imaginar que festa selvagem sua equipe deu naquela noite). Como?



Bem, para obter a resposta certa, basta pesquisar no Google “O que aconteceu no mercado de criptomoedas de 11 a 12 de maio de 2022?”. Mas decidi mergulhar mais fundo nos dados on-chain. Eu queria aprender tudo da maneira mais difícil. Então, montei a segunda consulta que me permitiu dividir os lucros da arbitragem por ativos usados na arbitragem.


Observação: muitas arbitragens envolvem 3 e até 4 ativos consecutivos, portanto, os números do diagrama abaixo não são aditivos (o lucro total da transação é creditado a todos os ativos participantes).


Quando executei a consulta e defini o filtro de data para 11 de maio, entendi tudo com uma olhada.



Sim, foi LUNA e UST . Este foi o dia em que a liquidez insuficiente no protocolo LUNA fez com que a stablecoin algorítmica UST se desvinculasse do USD. Então, a cunhagem automática massiva de tokens LUNA fez com que seu preço caísse para o abismo.


Mas como isso afetou os lucros dos arbitradores? É fácil.


Quando coisas como essa acontecem, ocorrem vendas massivas. E grandes vendas no protocolo DEX significam grandes mudanças de preço. Isso causa grandes discrepâncias de preços entre diferentes DEXes (por exemplo, Pancakeswap e BiSwap) . E é exatamente isso que os arbitradores desejam. Quando as pessoas começam a entrar em pânico, elas tendem a vender mais rápido em vez de vender a um preço ideal. Em tempos normais, eles dividiam a ordem, começavam a vender no par com maior liquidez, esperavam a recuperação do preço etc. Mas naquele dia não tiveram tempo para fazer tudo isso. Além disso, muitas posições em protocolos de empréstimos on-chain sobregarantidos (geralmente usados para vendas a descoberto) foram fechadas pelos liquidantes. As garantias foram vendidas automaticamente para cobrir os empréstimos. Essas vendas automáticas massivas também criaram ineficiências. Tudo isso rendeu 320k$ ao nosso orgulhoso Rei da Arbitragem BSC. O lucro total para todos os arbitradores naquele único dia foi superior a 2 milhões de dólares.


Para ter uma ideia de quais ativos ( e, especificamente, combinações de ativos que chamo de “caminhos” ) são mais lucrativos em momentos “normais”, tive que montar outra consulta. Essa consulta agrupou lucros (novamente, de forma não aditiva) por caminhos classificados em vez de ativos individuais . Em seguida, ajustei o filtro de data para excluir os picos das observações.


Eu esperava que os caminhos compostos exclusivamente pelos ativos mais líquidos e populares, como CAKE, ALPACA e SHIB, fossem mais lucrativos. Mas isso não era verdade.


Por alguma razão, muitos dos principais caminhos lucrativos incluíam o token FIST , sobre o qual eu nunca tinha ouvido falar antes. Uma breve pesquisa no Google me mostrou vários sites que afirmam ser FistSwap ou FstSwap DEX afiliados ao token FIST. Pelo menos alguns deles são definitivamente golpes. Tenho certeza de que mais investigações aqui podem trazer insights interessantes, mas decidi que isso está fora do escopo desta pesquisa.


Uma coisa interessante é que não consegui encontrar nenhuma correlação significativa entre a volatilidade do mercado e os ganhos de arbitragem .


Aqui está minha hipótese inicial: quanto mais volátil o mercado, mais os arbitradores ganham. No entanto, além de vários picos grandes, não consegui identificar nenhuma relação forte entre lucros de arbitragem e volatilidade.


Ok, agora sabemos duas coisas principais. Primeiro, o mercado de arbitragem tem algum dinheiro. Em segundo lugar, os corajosos ainda podem encontrar oportunidades de lucro para perseguir, apesar do declínio constante nos lucros gerais em dólares.


No entanto, antes de mergulharmos mais fundo, queremos saber uma coisa muito importante:

Quão justo é o mercado? 💭

Porque se o mercado for injusto, não importa quanto dinheiro ele tenha - você não conseguirá cortar o jogador de share-off com alguma vantagem secreta. E temos muitos motivos para desconfiar da justiça do mercado. Isso porque alguns atores da BNB Smart Chain podem ter uma vantagem enorme. Aqui está o porquê.


Quando a oportunidade de arbitragem aparece, todos os arbitradores estão tentando retroceder. Isso significa que eles colocam sua transação exatamente na próxima posição após a transação que cria a oportunidade (digamos, uma troca de 2.000 BNB por CAKE). Estou chamando essa transação de “gatilho” . O vencedor leva tudo, outros apenas pagam gasolina por uma tentativa malsucedida. Para ser tão rápido, os arbitradores devem correr para detectar o gatilho no mempool (armazenamento temporário para transações pendentes). Então, eles terão que enviar sua transação de arbitragem para o validador primeiro.


Obviamente, dois tipos de atores têm uma enorme vantagem aqui - nós RPC (que obtêm transações por meio da API RPC de, digamos, sua carteira Metamask) e nós validadores.


Os nós validadores podem reordenar as transações a seu favor e até minerar transações em particular sem enviá-las para o mempool. Essa vantagem é chamada de MEV (Miner Extractable Value). Na rede Ethereum, encontramos até uma iniciativa especial chamada Flashbots MEV . Esta iniciativa tenta fornecer acesso justo à mineração privada. No entanto, o BSC não tem nada parecido. Tem apenas 21 validadores. E a qualquer momento podemos suspeitar que esses validadores estão jogando o jogo da arbitragem para aumentar seus lucros.


Então, vamos primeiro dar uma olhada na distribuição da participação de mercado.


Desde 1º de janeiro de 2021, observei 1.972 arbitradores usando 6.689 contratos personalizados . E apenas 430 deles foram lucrativos (com 2.648 contratos lucrativos). Se olharmos para a situação atual (digamos, Q2 2022), vemos 129 arbitradores lucrativos de 645 no total . O mercado também é bastante consolidado - os 7 principais players detêm mais de 50% do mercado e os 20 principais detêm mais de 80%. No entanto, muitos jogadores menores ainda estão na cauda da distribuição de lucros e ainda ganham seu centavo.


Bem, esse tipo de distribuição de mercado não revela quão justo é o mercado. Precisamos de outra maneira de descobrir isso.


É quando queremos usar a bola de cristal de dados on-chain 🔮 novamente .


Neste momento, temos o histórico completo de todas as transações de arbitragem bem-sucedidas. E para cada transação, sabemos o número do bloco. Também sabemos o endereço (e às vezes o nome) de seu validador. Podemos presumir que é improvável que qualquer arbitrador tenha relações “especiais” com todos os 21 validadores ao mesmo tempo. Portanto, se um arbitrador está alavancando o MEV, seu lucro deve ser desviado para algum validador .


Ok, parece que é hora de outra consulta. Desta vez, peguei o período de 1º de janeiro de 2021 e calculei os seguintes indicadores para cada arbitragem bem-sucedida: lucro total, lucro médio por negócio, quantos negócios bem-sucedidos eles fizeram e, o mais importante, a maior participação nos lucros que eles têm. com um único validador.


Em teoria, se um arbitrador não tiver preferência por validadores, esse indicador “topValidatorProfitShare” deve estar próximo de 1/21 = ~5%. Na verdade, muitos outros fatores podem distorcer a taxa de sucesso. Por exemplo, os nós do arbitrador podem compartilhar o mesmo datacenter com alguns dos validadores. Ou seus nós podem ter emparelhamento direto com um validador. Heuristicamente, eu diria que tudo abaixo de 20% é um indicador de fair play.


Então, executei uma consulta e classifiquei o resultado pelo lucro total. E…


Bem, pelo menos os 10 principais arbitradores não mostram sinais de relações especiais com validadores. A primeira entrada suspeita (0x92ef7fac0708fc3c49921907361429ec14cd8cb6) está na posição 15 com 39% dos lucros. Ganhou 1,1m$ no total com blocos validados pelo NodeReal. Mas ainda assim, isso não é suficiente para dizer que este é um jogo injusto. Uma entrada ainda mais suspeita (0xba5276f63492b351c7227a4f285593cefa250ad3) está na posição 45 com 89% dos lucros. Obteve 566k $ no total de blocos validados pelo HashQuark. Pode ser um forte sinal de afiliação, mas, neste caso, o lucro total parece muito pequeno. É aproximadamente 6 vezes menos que 1/21 do mercado total.


Então, tentei verificar se esta entrada é especial em afiliação com HashQuark. Selecionei apenas os arbitradores “favorecidos” pelo HashQuark e os classifiquei por seu descendente “topValidatorProfitShare” .



O cara suspeito está em primeiro lugar. E, a propósito, ele realmente tem um lucro médio incrível por negócio bem-sucedido - 331 $. Isso é muito. No entanto, em segundo lugar, não vemos absolutamente nenhum arbitrador notável com um lucro total inferior a 2k $. Ao mesmo tempo, seu topValidatorProfitShare é apenas dois por cento menor que o primeiro. Não parece que ele lucra com a afiliação. Ele também tem mais de 6674 negócios bem-sucedidos, então isso não parece um acidente.

Bem, talvez ambos compartilhem acidentalmente a mesma prateleira no datacenter? Nunca saberemos ao certo.


No entanto, posso dizer que, no geral, para um mercado tão competitivo, as evidências de afiliação são muito fracas (ou muito bem disfarçadas) . Parece que a maioria dos jogadores está jogando limpo e nenhuma baleia está dominando o mercado. 😌

É Possível Entrar no Mercado de Arbitragem?

Ok, agora sabemos que o mercado de arbitragem flash no BNB Smart Chain tem um tamanho decente, uma estrutura aparentemente justa e muitas oportunidades. Parece que estamos prontos para entrar e lutar pelo Lambo!


Bem, não tão rápido! Ainda falta uma peça do quebra-cabeça.


Como são criadas as oportunidades de arbitragem?


Sabemos como isso funciona em geral - grandes swaps de DEX, liquidações, etc. Mas, para começar a monitorar o mempool, precisamos saber exatamente quais tipos de transações de gatilho os arbitradores observam.

Vamos voltar ao sortudo que extraiu 60k$+ em uma transação. Lembrar? Esse cara começou minha jornada fascinante. Ao explorar o bloco no BSCScan explore, podemos encontrar facilmente sua transação de gatilho. Esta é a transação no mesmo bloco minerado imediatamente antes da transação do arbitrador. Aqui está:


https://bscscan.com/tx/0x06de0901e11bd19b3a42f0746e17604a9c8c502bdc4202737f24407bf1743f75


Esta é uma transação de liquidação do protocolo de empréstimo da Alpaca Finance. Alguém tinha uma posição muito grande neste protocolo e, claramente, não era exatamente o dia deles. Sua posição foi liquidada e sua garantia foi automaticamente vendida no PancakeSwap DEX .

Obviamente, verificar os gatilhos para cada dezenas de milhões de transações de arbitragem não é uma opção. E você já sabe como vou resolver esse problema.


Servidores e bancos de dados Datamint, ferramentas de análise de dados e algumas xícaras de ☕️ .


Essa consulta foi provavelmente a mais complicada e intensiva em computação. Quando apertei “Execute”, quase pude ouvir os fãs de nossos servidores de dados uivando como motores a jato. Felizmente, essa tortura do servidor não durou muito e obtive meus resultados.



Portanto, os resultados não são nada surpreendentes. Mais de um terço dos lucros de arbitragem envolvem transações para o PancakeSwap DEX como um gatilho . A função mais popular para servir como gatilho é a “swapExactTokensForTokens” . É responsável por ~ 14% de todos os lucros . Esta função é parte do Uniswap V2 bifurcado pela maioria dos DEXes no BSC — por exemplo, BiSwap, ApeSwap, etc. A única coisa surpreendente é novamente o FstSwap (ou FistSwap?) em segundo lugar logo após o PancakeRouter.


Neste ponto, podemos simplesmente escolher qualquer combinação de funções e endereços de gatilho. E agora estamos prontos para os experimentos!


Minha equipe e eu gastamos alguns recursos fazendo pesquisas mais aprofundadas sobre gatilhos. Principalmente, estávamos analisando a relação entre a concorrência e a lucratividade de diferentes gatilhos. No entanto, isso está claramente fora do escopo deste artigo. Portanto, entre em contato conosco se estiver interessado em mais detalhes.

A essa altura, eu tinha toda a teoria de que precisava, mas a teoria não é nada sem a prática. Que significa…

Vamos tentar a arbitragem!

Eu tenho que começar com um aviso - meu objetivo não era construir um bot lucrativo de arbitragem em flash. Não tenho ilusões e entendo perfeitamente que esta é uma tarefa complexa de desenvolvimento.


Meu objetivo real era cortar os cantos o máximo possível. Queria entender qual é a distância entre um player experiente no mercado e um novato**.**


Então, decidi que NÃO :


1. Implemente simulação ou estimativas heurísticas para o lucro potencial criado por cada transação. Meu palpite é que é aqui que os arbitradores profissionais competem em velocidade de computação. Para minha pesquisa, eu mesmo criarei o gatilho e responderei apenas ao meu próprio gatilho.


2. Escrever e implantar um contrato de arbitragem real . Isso não é tão difícil, mas não preciso disso para minha pesquisa. Se eu puder colocar minha transação fictícia ao lado de minha própria competição de superação de gatilhos, então redigir o contrato é uma questão de técnica.


3. Faça otimizações específicas . Não vou ajustar nós de blockchain, otimizar infraestrutura, rede, etc. Isso é uma toca de coelho. E se não posso vencer sem isso, definitivamente não será uma caminhada fácil.

Tendo tudo isso em mente, criei um nó BSC e escrevi um script simples em Python. Dessa forma, eu poderia monitorar todas as novas transações no mempool, buscando-as constantemente por meio da conexão IPC. Então, eu poderia procurar meu gatilho criado e enviar imediatamente uma transação fictícia de resposta (transferência de 0 BNB para minha própria conta).


Veja como deveria ter funcionado em teoria.


Mas quero dizer algumas palavras sobre como criar um gatilho. Eu precisava enviar uma transação que chamasse a atenção dos arbitradores ativos. Esta deve ser uma grande troca de pelo menos 10k $. Mas como posso fazer isso se não quero colocar dinheiro real no jogo? Felizmente, ao competir por velocidade de reação no mempool, os arbitradores não têm tempo de verificar se o remetente tem fundos para fazer a troca solicitada.


Então, peguei minha própria pequena transação de swap como exemplo e a editei.


Desta forma, apareceu como um swap de 1m$ (BUSD) para CAKE no Pancakeswap .


Esta é a aparência da carga útil da transação no BSCScan.

O primeiro experimento mostrou que essa abordagem funciona perfeitamente. Meu gatilho foi extraído, revertido (já que ainda não tenho 1 milhão de dólares na carteira 😆) e retrocedido por aproximadamente 400 tentativas de arbitragem. 400… Nesse ponto, eu estava pensando que minha tentativa de exagerar nos caras grandes estava condenada.



Mas eu estava empenhado em colocar a coisa em prática. Então, iniciei meu script Python, esperei a inicialização da conexão do nó e enviei meu gatilho cuidadosamente criado usando o campo Hex Data personalizado do Metamask e o codificador ABI (Application Binary Interface) online https://abi.hashex.org/ . Quase imediatamente, vi uma notificação no console do nó de que um gatilho foi detectado no mempool e a transação de resposta fictícia foi enviada. Depois de alguns segundos, ambas as transações foram extraídas e abri o BSCscan (o que não é fácil de fazer quando você está cruzando os dedos). Eu avaliei os resultados:

Minhas expectativas eram baixas, mas caramba, o resultado foi bastante decepcionante. Mesmo conseguindo colocar minha transação de resposta no mesmo bloco do gatilho, perdi a batalha para centenas de outros arbitradores .


Isso significa que todos eles tiveram uma enorme vantagem de infraestrutura - eles ajustaram nós poderosos, soluções de rede especiais, melhor emparelhamento com outros nós e algumas outras otimizações que eu nem conheço.


Devemos parar por aqui? Teria sido sensato, mas eu queria levar as coisas ao extremo. Eu iria apresentar um teste muito difícil para arbitradores ativos.


Aqui está uma pequena digressão para entender melhor como funciona o protocolo Ethereum P2P . Quando um nó obtém novas transações (do RPC ou de outros nós), ele as adiciona ao mempool. Em seguida, ele os retransmite para outros nós conectados (peers). Este processo tem 2 coisas especiais :


  1. Um nó envia novas transações completas apenas para um subconjunto de pares (como 10 de 100). O restante dos pares obtém apenas hashes de novas transações. Eles são livres para solicitar corpos de transação completos, caso ainda não os tenham. Isso reduz a confusão desnecessária na rede, mas pode retardar a propagação da transação se você não tiver sorte.
  2. Os nós geralmente não enviam transações individualmente. Em vez disso, eles agrupam várias transações em um único pacote de rede. Caso contrário, as transações teriam um atraso significativo, porque a taxa de transferência de mensagens na rede Ethereum P2P é limitada para evitar ataques DDoS.


Conhecendo essas duas coisas, eu poderia simular uma enorme vantagem do meu lado.


Eu poderia enviar transações de gatilho e resposta em um único pacote .


Também posso ter certeza de que estou enviando transações completas imediatamente. Portanto, em teoria, os arbitradores não deveriam poder inserir suas transações entre meu gatilho e minha resposta. Eles estão unidos em um pacote, então não há latência entre eles.


Essa ideia não parecia tão maravilhosa quanto no começo, depois que passei horas pesquisando o código-fonte do bsc-geth, o software de nó oficial para o BNB Smart Chain. No entanto, tudo passa e, finalmente, consegui enviar pacotes personalizados para 150 pares do meu nó.


Eu criei cuidadosamente as transações de gatilho e resposta, empacotei-as em um único pacote e as enviei aos colegas. Nunca fiquei tão nervoso ao abrir o BSCScan.


O que vi me deixou sem palavras.

O resultado foi quase o mesmo da corrida anterior! Eu ainda perdi para mais de 100 arbitradores. Como poderia ser possível? Vejo apenas duas opções aqui. Ou os validadores estão no jogo (o que é improvável com base nos resultados da minha pesquisa) ou… Ou, o BNB Smart Chain tem tantos nós de arbitragem! Isso significa que eles podem interceptar transações em todas as rotas para o validador. Os árbitros encontrarão gatilhos, inserirão suas próprias transações de resposta e atrasarão as transações dos oponentes mais fracos (sim, aqueles como eu 😢).



Parece que os lucros da arbitragem instantânea não são dinheiro fácil. Provavelmente não vou conseguir um Lambo neste mercado... No entanto, momentos antes de entrar em depressão pensando em meus sonhos desfeitos, lembrei que meu negócio não é arbitragem.


Trabalho com análise de dados on-chain e serviços de dados de valor agregado. E essa pesquisa é ótima para o meu negócio! Ele mostra o quanto você pode aprender usando apenas dados públicos de blockchain, as ferramentas certas e comprometimento .

Conclusão

Esta foi uma jornada fascinante que, mais uma vez, provou o poder dos dados on-chain. Mas não apenas quaisquer dados; Quero dizer, dados aproveitados com análises adequadas e ferramentas eficientes, como o mecanismo de dados Datamint . E a história ainda não acabou, pois publicamos o aplicativo analítico Datamint BSC Arbitrage Monitor em nosso site. Você mesmo pode continuar a jornada e buscar mais insights com ela.


Mas, para resumir esta pesquisa, reiterarei as principais descobertas:


  1. O mercado de arbitragem flash da BNB Smart Chain sozinho tem um tamanho decente de $ 100 milhões por ano.
  2. O mercado tem um declínio lento, mas constante, devido às condições do mercado e à crescente eficiência do DeFi. Mas ainda tem muitas oportunidades. Os melhores jogadores ainda estão ganhando até 8 milhões de dólares por ano.
  3. O mercado é altamente competitivo com centenas de jogadores profissionais, mas não apresenta sinais de “jogo desleal” em grande escala.
  4. O mercado está aberto para novos jogadores corajosos, mas você deve estar preparado para altos custos e riscos de P&D e infraestrutura.


Isso é tudo por hoje. Se você gosta desta história, deixe-nos algumas linhas sobre tópicos que lhe interessam no domínio dos dados on-chain. Isso nos ajudaria a priorizar temas para o próximo conteúdo, incluindo artigos, pesquisas, ferramentas online e webinars .


Que os dados estejam com você!


Sobre o autor *:* Ivan Vakhmyanin é um especialista em análise e visualização de dados (BI, Big Data, Data Science) com anos de experiência. Ele também é um adepto do blockchain e da Web 3.0, tornando os dados on-chain das principais plataformas blockchain (Ethereum, BNB Smart Chain, Solana, etc) disponíveis para análise. Ivan é apaixonado por compartilhar experiências desenvolvendo programas educacionais na área de Data-driven Management para especialistas e executivos.



Também publicado aqui