Investigação cripto: por dentro dos grupos de Pump and Dump e golpes com criptomoedas

Por Matheus Bombig e Afonso Dalvi*

Quem está inserido na web3.0 já deve ter recebido um convite para participar de algum grupo de Pump and Dump!
O objetivo é simples: juntar pessoas que estejam dispostas a comprar uma criptomoeda em um determinado momento, fazendo seu preço subir e na sequência vendê-la a um valor mais alto.

Gráfico típico de um esquema de Pump and Dump (TradingView/Reprodução)

Uma das belezas do blockchain é a transparência dos dados, que estarão sempre registrados. Assim, acompanhamos um grupo para entender o que acontece embaixo do capô:

Tudo começa com um grupo (Whatsapp, Telegram, Discord, etc) onde o golpista irá indicar um certo dia, horário e qual moeda os participantes deverão comprar e na sequência vender.

Mensagem em um grupo de Pump and Dump de Telegram indicando a compra de uma certa criptomoeda (Matheus Bombig/Afonso Dalvi/Reprodução)

Ao indicar a criptomoeda, a tendência é que uma parte das pessoas que integra o grupo siga a recomendação e compre a moeda, fazendo seu preço subir, e alguns minutos depois, aproveitando o valor mais alto, vender a criptomoeda, e embolsar um lucro!

Mas aí devemos pensar: Se o organizador do grupo já escolheu a criptomoeda, então provavelmente ele deve comprar bem antes a um valor menor e só aguardar o valor subir para poder vender.

  • O JEITO FÁCIL E SEGURO DE INVESTIR EM CRYPTO. Na Mynt você negocia em poucos cliques e com a segurança de uma empresa BTG Pactual. Compre as maiores cryptos do mundo em minutos direto pelo app. Clique aqui para abrir sua conta gratuita.

Sim, ele pode até fazer isso, mas ele também vai precisar de um boi de piranha: Uma transação de um valor alto no momento em que a mensagem de compra for enviada para o grupo, justamente para fazer o valor da moeda indicada subir e criar o efeito manada!

Transação de compra de um valor alto enviada pelo golpista (Reprodução/Reprodução)

Repare que o golpista (bCCd38) envia uma transação de compra no segundo antes do momento em que o anúncio para a compra é feito no grupo de Telegram.

Assim, quando a manada de seguidores receber a mensagem e correr para comprar a criptomoeda, irá perceber que o esquema realmente funciona e o valor está subindo.

O golpista sempre seleciona uma criptomoeda com uma liquidez baixa, pois uma com liquidez alta não será afetada por essa compra inicial.

Nesse caso, a moeda estava sendo negociada em torno de $6 x 10^-8 e apenas a ordem de compra com valor alto já foi suficiente para elevar significativamente o seu preço.

Outra vantagem dessa escolha é que quando a manada começar a comprar, irá gerar uma grande demanda e o valor irá subir ainda mais dada a baixa oferta.

E é aí que entra o golpista novamente: Ele passa a ser o gerador de oferta da criptomoeda para os que estão comprando!

Transações de compra e subsequente venda do golpista

O golpista vende as moedas nos momentos seguintes à compra a um valor mais alto que o que foi pago. Nesse caso, com apenas duas operações de venda nos dois minutos subsequentes ele já obtém lucro.

Tudo bem, o golpista conseguiu lucro, afinal ele juntou todas aquelas pessoas no grupo, analisou e selecionou a moeda, e executou o plano (Não que isso seja motivo para o lucro!).

Mas e as pessoas do grupo? Conseguem ter lucro?

A resposta é: não (com raríssimas exceções).

Para se ter lucro nesse esquema, a regra é simples: Conseguir efetuar a compra rapidamente enquanto o preço não subiu tanto, e vender na sequência enquanto o preço ainda não baixou. Para isso, suas transações precisam ser incluídas rapidamente no blockchain.

Porém, após a mensagem no grupo, há um pico de transações que são submetidas para a mempool (local onde as transações aguardam para serem incluídas no bloco) – Iremos explicar em breve como funciona.

Nesse caso, os mineradores que são responsáveis por escolher quais transações da mempool farão parte do próximo bloco acabam selecionando as transações que concordaram pagar taxas mais altas. Sendo assim, para uma pessoa do grupo ter sua transação processada e incluída no bloco rapidamente, ela terá que pagar altas taxas, o que por si só já encarece bastante a operação.

Existe outro fator que ajuda a inibir o lucro de uma pessoa do grupo: O modelo (Algoritmos de AMM) usado pelas piscinas de liquidez para prover a compra e vendas de criptomoedas nas corretoras descentralizadas (DEX).

Esses algoritmos podem seguir diferentes fórmulas e características, cada um com suas vantagens e desvantagens.
Usando a Fórmula do Produto Constante como exemplo, o que acontece, de maneira bem simplificada, é que o produto da quantidade das moedas da piscina deverá permanecer inalterado.

Sendo assim, se mais pessoas estão vendendo uma moeda A e comprando uma moeda B, o valor da moeda B passa a subir significativamente.

Fórmula do Produto Constante: Se a quantidade de uma das moedas de aproximar de zero, a quantidade da outra tenderá ao infinito (Reprodução/Reprodução)

Resumo: dado que a moeda tem baixa liquidez, a piscina de liquidez também será baixa e irá afetar muito o valor das criptomoedas negociadas.

O usuário B9b6E4 teve sua transação de compra efetuada 36 segundos após a transação de compra do golpista. Então ele é quem paga o menor valor pela criptomoeda (excluindo obviamente o golpista) no esquema. Mas repare que mesmo sendo um dos primeiros ele já paga um valor bem acima do valor que o próprio golpista pagou.
Mesmo também sendo rápido na venda, menos de um minuto depois, ele já vende a um valor mais baixo tendo prejuízo.

Transações de compra e venda de um usuário

Sendo assim, dá para imaginar que todos os outros membros que consequentemente compraram a um valor mais alto, também tiveram prejuízo.

Então agora você já sabe que não vale a pena perder tempo tentando fazer dinheiro fácil nesses esquemas!

Mas depois de toda essa estória, temos certeza de que poucos notaram algo ainda mais interessante:

O “usuário” (1FaE13) submeteu uma transação de compra das criptomoedas um pouco antes do golpista e uma transação de venda logo em seguida. E as transações foram executadas no mesmo bloco!

E ainda conseguiu um bom lucro nessa operação, dado que ele comprou a um preço menor que o do golpista, e se aproveitou da transação de compra do golpista que elevou o preço da criptomoeda para em seguida vendê-la a um valor maior!

E não só conseguiu lucro, como atrapalhou a operação do golpista, diminuindo os lucros que ele teria.

Transações de compra e venda do usuário imediatamente antes e depois do golpista. (Reprodução/Reprodução)

E você deve estar se perguntando: Como ele conseguiu fazer isso?

A resposta é que esse usuário é um bot! Nesse caso, um MEV bot. Esse especificamente é o jaredfromsubway.eth e é um famoso bot que já lucrou milhões de dólares com suas operações. E o que são os MEV (Maximum Extractable Value) bots?

São bots que aproveitam as flutuações de preços e as transações pendentes na mempool (piscina de transações) para obter vantagens financeiras. Essas oportunidades podem surgir devido à ordem de execução das transações e ao impacto que elas têm no estado final do blockchain. Isso inclui reordenar transações, front-running e back-running.

MEV é extraída por participantes independentes da rede chamados “pesquisadores” ou em inglês “searchers”. Os pesquisadores executam algoritmos complexos nos dados do blockchain para detectar oportunidades de MEV lucrativas e usam bots (via smart contracts) para enviar automaticamente essas transações rentáveis para a rede.

Antes de entendermos detalhes sobre essas estratégias, vejamos como funcionam de forma simplificada as transações no blockchain:

• Um usuário assina e transmite a sua transação para o blockchain;
• Antes de ser validada e registrada no blockchain, essa transação, juntamente com muitas outras, ficam na “mempool”. É onde ficam as transações pendentes e que os validadores irão selecionar quais farão parte do próximo bloco (dado que cada bloco possui uma capacidade limitada de transações);
• Caso o usuário queira aumentar suas chances de que sua transação seja incluída no próximo bloco, ele pode pagar um valor maior de gas (taxa de transação). Algo como dar um lance maior em um leilão para que seu lance seja aceito;
• Os validadores então irão selecionar as transações que estão pagando as maiores taxas e irão incluí-las no próximo bloco;

Processo de envio de uma transação até registro o seu em um bloco (Reprodução/Reprodução)

Assim, onde entram os “searchers”?

Atacantes analisam a mempool para identificar oportunidades (Reprodução/Reprodução)

Eles utilizam táticas como a sandwich, o front-running e o back-running para obter vantagem financeira. Vamos entender cada um desses conceitos:

Tática sandwich: Imagine que você deseja comprar uma criptomoeda. Você envia uma transação, que irá para a mempool. Outra pessoa identifica essa sua transação pendente e envia uma transação de compra, porém pagando uma taxa de gas mais alta que a sua, sendo assim a ordem de compra dela será executada antes da sua.

Em seguida, sua transação de compra é realizada, a um valor acima do esperado, e na sequência a outra pessoa vende a criptomoeda a um preço mais alto do que ela pagou se aproveitando da sua compra que elevou o valor da moeda. Essa estratégia é chamada de tática sandwich, pois é como se você ficasse “encaixado” entre duas transações que visam obter lucro em cima da sua.

Repare que um usuário (166575) transmitiu sua ordem de compra para a mempool, e o bot MEV (AC65d1) identificou, transmitiu uma ordem de compra pagando uma taxa de gas superior para que sua ordem fosse executada antes (compra a $2,32 x 10^-7).

Na sequência, com o valor da criptomoeda já mais alto, houve a execução da compra do usuário (compra a 5,25 x 10^-7). E por fim, o bot envia a ordem de venda a $4,81 x 10^-7.

Nesse caso, o bot vendeu a um valor maior que o dobro do que pagou. E tudo isso no mesmo bloco (repare no horário).

Transação de compra e venda de um bot MEV fazendo sanduíche em uma transação de compra (Reprodução/Reprodução)

Front-running: O front-running é uma prática em que alguém envia uma transação sabendo que outra transação está prestes a ocorrer e visa obter a transação processada primeiro. Isso geralmente é feito pagando um preço de gas mais alto, o que incentiva os mineradores a incluir a transação do “searcher” no bloco antes da transação original.

Vamos considerar um cenário com dois tokens: Token A e Token B em uma Exchange descentralizada (DEX) como a Uniswap.

Um usuário Y deseja comprar uma grande quantidade de Token B usando o Token A na Uniswap. Devido ao tamanho da ordem de compra, é provável que o preço do Token B aumente significativamente devido à forma como o preço é determinado em criadores de mercado automatizados como a Uniswap (Fórmula do Produto Constante).

Um bot MEV identifica a transação pendente do usuário Y na mempool.

Prevendo o aumento de preço, o bot MEV prepara sua própria transação para comprar o Token B pagando com o Token A. No entanto, em vez de simplesmente enviá-lo, o bot define um preço de gas mais alto em sua transação do que o usuário Y fez. Isso incentiva os mineradores a incluir a transação do bot no bloco antes da transação do usuário Y.

Se for bem-sucedida, a transação do bot será processada antes do usuário Y. O bot consegue comprar o Token B pelo preço mais baixo (antes da compra do Usuário Y aumentar o preço).

Então, a transação do usuário Y é processada, levando a um aumento significativo no preço do Token B.

O bot se beneficiou do aumento de preço do Token B recentemente adquirido por um preço mais baixo.

Tática de front-running (Reprodução/Reprodução)

Back-running: O back-running, por outro lado, envolve o envio de uma transação imediatamente após uma transação conhecida. Os “searchers” podem fazer isso para aproveitar os efeitos do mercado causados por grandes ordens.

Em uma exchange descentralizada, se uma grande negociação estiver na mempool e que poderá afetar significativamente o preço de um token, um back-runner pode submeter uma transação a ser executada imediatamente após essa negociação.

Se a ordem original efetivamente criar uma oportunidade de arbitragem, a transação do bot estará em posição de explorar essa oportunidade.

Vamos novamente considerar um cenário com dois tokens: Token A e Token B em uma Exchange descentralizada (DEX).

Um usuário X envia uma transação para comprar uma grande quantidade de Token B usando o Token A na DEX. Essa ordem fará com que o preço do Token B suba substancialmente devido à maneira como os preços funcionam em criadores de mercado automatizados como a Uniswap (Fórmula do Produto Constante).

Um bot MEV detecta essa transação pendente no mempool.

Prevendo o resultado, o bot MEV prepara uma transação para vender o Token B adquirindo Tokens A, mas ainda não executou essa transação. O bot está antecipando que a transação do usuário X aumentará significativamente o preço do Token B.

Assim que a transação do usuário X for incluída em um bloco, o preço do Token B aumenta.

O bot MEV executa imediatamente sua transação, vendendo o Token B pelo Token A a este preço agora aumentado. O bot paga uma taxa de gas mais alta para garantir que sua transação seja processada rapidamente.

Essas estratégias, embora possam ser lucrativas para os indivíduos que as utilizam, são frequentemente consideradas injustas e antiéticas pela comunidade blockchain. Isso porque elas exploram o conhecimento privilegiado e manipulam a ordem das transações, prejudicando outros participantes.

Dado que tais estratégias acabam por funcionar e trazer lucro para os atacantes, muitas pessoas buscam informações de como também lucrar com tais estratégias e chegam a diversos vídeos e artigos que divulgam códigos maliciosos.
Esses códigos prometem distribuir parte dos lucros dos MEV Bots aos usuários que aportarem dinheiro. Porém, já podemos imaginar o que acontece com o dinheiro enviado para tais contratos.

Vamos a um exemplo:

Smart Contract extraído na descrição do vídeo do canal de YouTube do golpista. (Reprodução/Reprodução)

Neste smart contract existe uma função cujo objetivo é esconder o endereço para o qual irão os fundos depositados pelas vítimas.

Reparem em dois detalhes:

Vemos que existe a importação de um link do IPFS, que se acessarmos pelo navegador veremos o seguinte:

Trecho do Smart Contract em que link do IPFS nos direcionou. (Reprodução/Reprodução)

Reparem o nome desse segundo contrato e quais informações existentes:

O nome do contrato é “Manager” e possui uma função denominada de “uniswapDepositAddress()” que basicamente retorna um endereço no blockchain (nesse caso, a própria conta do golpista).

Como funciona? Ao ser implementado, o contrato anterior que é o principal para o golpe, cria um outro contrato (escondido) que só possui uma função que retorna o endereço do golpista.

Então, são dois contratos aqui: O primeiro que se passa pelo contrato do MEV bot, e o segundo que esconde o endereço do golpista.

Nos vídeos disponibilizados, os golpistas “instruem” as vítimas, alegando que elas precisam enviar Ether para o contrato do MEV bot. Eles exibem no Etherscan, (ferramenta de exploração de blocos) como o saldo de Ether vinculado ao contrato do bot MEV está crescendo progressivamente conforme enviam ETH para o contrato, simulando o depósito que será feito pela vítima. Nessa conjuntura, as vítimas são erroneamente conduzidas a crer que estão procedendo de maneira correta e segura.

Porém, observem as principais funções do contrato:

Funções do Smart Contract do golpista em que “começa” e “saca” os valores (Reprodução/Reprodução)

As funções acima são de “start” e “withdrawal”, que são responsáveis por iniciar e depois sacar os valores adquiridos na “estratégia” em que o golpista relata ser do MEV bot. Porém, ao analisar o código, podemos destacar as declarações extraídas do contrato importado que retorna o endereço do golpista, sendo ela a “manager.uniswapDepositAddress”, conforme reparamos no arquivo importado do IPFS demonstrado acima, que a função “uniswapDepositAddress” tem o returns(address) que retorna o endereço do golpista.

A declaração payable é utilizada em smart contracts para recebimento ou envio de valores em Ether, no caso quando nomeamos dentro da função é referente a qual endereço que será pago, já a transfer é a transferência destes valores, dentro do parênteses temos o address(this).balance usado para pegar todo o saldo/valor existente no contrato, ou seja, tudo que a vítima depositou acreditando estar usando o MEV bot.

Por fim, temos nas duas funções o “payable(manager.uniswapDepositAddress()).transfer(address(this).balance”, ou seja, essas funções transferem todo o saldo do contrato para a conta do golpista.

Se analisarmos a mesma conta no explorador de blocos, vemos diversas transações da conta do golpista e transferências de valores que foram arrecadados de diversos golpes.

Transferências da conta do golpista. (Reprodução/Reprodução)

Mas como comprovamos que esses valores são dos mesmos smart contracts que mostramos? Como mencionamos, o blockchain deixa rastro e conseguimos olhar os métodos de “call”, ou seja, de chamadas de contratos, vejamos as transferências das vítimas para o contrato e saques do contrato para a conta do golpista abaixo:

(Reprodução/Reprodução)

Se clicarmos no hash em “From” de maior valor, sendo a de 2.5 ETH temos o contrato da imagem abaixo:

Transações do contrato de SCAM. (Reprodução/Reprodução)

Se repararmos na imagem acima temos exatamente em “Method” todos os métodos das funções que são exatamente iguais ao do contrato que vimos no código do golpista.

E para confirmação do golpe vemos que os 2.5 ETH foram enviados para o contrato utilizando a função “Transfer”.
Na sequência, a vítima executa a função “Start” e envia todos os valores diretamente para a conta do golpista, vejamos:

Transação e execução da função start que envia os valores para a conta do golpista. (Reprodução/Reprodução)

Ao inspecionarmos a transação acima da função start, iremos abrir a tela com detalhamento da transferência do contrato para a conta do golpista.

Passando o cursor do mouse sobre o endereço do destinatário, é possível ver o endereço completo (0x5869E8fC73e65F74Ad341ED98Df211162c08FF1D), que é exatamente o mesmo endereço que aquele contrato escondido do IPFS retornava, ou seja, do golpista.

Esse é apenas um exemplo. Há diversos outros códigos maliciosos que possuem outras estratégias mais complexas de ocultar o endereço do golpista.

O advento da Web3 trouxe consigo uma onda de inovação e potencial para democratizar as finanças. No entanto, como acontece com qualquer nova fronteira tecnológica, também atrai uma parcela de agentes mal-intencionados que procuram explorar usuários ingênuos e desavisados. E nem esses escapam, dado que bots estão levando vantagem até sobre os golpistas.

Esses golpes nos lembram que, embora a tecnologia blockchain traga transparência e descentralização, ela não garante inerentemente a segurança. Os usuários precisam se educar sobre esses riscos e as ferramentas para evitá-los. À medida que a tecnologia Web3 amadurece, esperamos melhores salvaguardas e regulamentos para proteger os usuários, mas até então, cautela e vigilância são fundamentais. O espaço Web3 é um equilíbrio entre exploração e gerenciamento de riscos.

*Matheus Bombig é engenheiro mecânico pela Unicamp, co-fundador da Invenis, do Surf Junkie Club e da Associação Brasileira de Lawtechs e Legaltechs (AB2L). Afonso Dalvi é desenvolvedor de smart contracts e advogado pós-graduado em Direito Digital, fundador da Omnes Blockchain e professor em 3 MBAs sobre web3 e blockchain.

O JEITO FÁCIL E SEGURO DE INVESTIR EM CRYPTO. Na Mynt você negocia em poucos cliques e com a segurança de uma empresa BTG Pactual. Compre as maiores cryptos do mundo em minutos direto pelo app. Clique aqui para abrir sua conta gratuita.

Siga o Future of Money nas redes sociais: Instagram | Twitter | YouTube Telegram | Tik Tok



Continue lendo

Recomendados

Desenvolvido porInvesting.com
Mercado, Todos

Notícias relacionadas

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Preencha esse campo
Preencha esse campo
Digite um endereço de e-mail válido.
Você precisa concordar com os termos para prosseguir

Menu