WEB3DEV

Cover image for Empréstimos Relâmpago, The Graph e Arbitragem Triangular: Seu Guia Rápido para Lucrar em Mercados Descentralizados
Paulo Gio
Paulo Gio

Posted on • Atualizado em

Empréstimos Relâmpago, The Graph e Arbitragem Triangular: Seu Guia Rápido para Lucrar em Mercados Descentralizados

https://miro.medium.com/v2/resize:fit:1100/0*Lv0z4vYWiplQSVJK

Deseja lucrar com o mundo do DeFi? Não procure mais do que a combinação de Empréstimos Relâmpago (Flash Loans) e o The Graph! Ao utilizar essas ferramentas descentralizadas de mercado, você pode desbloquear o lucrativo mundo da arbitragem triangular com apenas alguns cliques. Mas por onde começar? Aqui mesmo, é claro! Vamos explorar os detalhes dessa estratégia e fornecer material suficiente para você começar.

O Plano

  • Utilize o The Graph para indexar a rede principal (mainnet) da Ethereum para obter dados de mercado descentralizados;
  • Desenvolva um algoritmo para encontrar e verificar oportunidades de arbitragem triangular;
  • Construa um Contrato Inteligente utilizando empréstimos relâmpago para executar uma negociação em uma oportunidade lucrativa de arbitragem triangular.

Pré-requisitos

  • Terminologia Web3 (pools de liquidez, DEXs, AMMs, etc.);
  • Uniswap CFMM (constant function market maker - criador de mercado com função constante);
  • Conhecimento sobre o The Graph;
  • Conhecimento sobre Contratos Inteligentes e Empréstimos Relâmpago.

Se você já possui domínio dos pré-requisitos acima, pode pular para a próxima parte. Se você precisa de um lembrete rápido, iremos revisar alguns conceitos básicos antes de começarmos a construir nosso algoritmo.

O que exatamente é arbitragem triangular?

A arbitragem triangular é o resultado de uma discrepância de preço, que ocorre quando três taxas de câmbio de moedas não coincidem. No contexto do DeFi (finanças descentralizadas), essas discrepâncias podem ser encontradas entre três pools de liquidez separados (LPs) mantidos em DEXs (exchanges descentralizadas). Vamos nos concentrar exclusivamente em três DEXs distintas, o que ampliará nossa busca e capacidade de encontrar maiores discrepâncias no mercado DeFi.

https://miro.medium.com/v2/resize:fit:1100/0*M2FlYvXdM5CM4Ouy

Os mercados nos quais estaremos focando

Uniswap V2, Uniswap V3 e Sushiswap são todas DEXs (exchanges descentralizadas) que são semelhantes de várias maneiras, no entanto, existem três razões pelas quais elas nos beneficiarão a longo prazo.

Com qual tipo de CFMM estamos trabalhando?

Vamos fazer uma rápida recapitulação do CFMM da Uniswap. De acordo com o whitepaper da Uniswap, a seguinte fórmula define os preços automaticamente dentro de um LP (pool de liquidez), dada uma negociação.

https://miro.medium.com/v2/resize:fit:1100/0*hjkq9CQ3mMQkMBvX

CFMM
  • Ra é a quantidade de reserva do Token A.
  • Rb é a quantidade de reserva do Token B.
  • Δb é a quantidade de entrada (o que você possui).
  • Δa é a quantidade de saída (o que você está recebendo).
  • r é a taxa incluída (cada LP tem uma taxa de negociação, geralmente 3%), neste caso r é representado como r - 3%.
  • Por fim, k pode ser encontrado como o produto das duas reservas: Ra * Rb = k.

Ao manter as reservas totais constantes, podemos facilmente desmembrar essa fórmula e determinar quantos tokens receberemos em uma negociação. Questionário!

Suponha um pool de liquidez com as reservas de tokens A em 5 e as reservas de tokens B em 20. Se o trader Ryan deseja trocar 1 token A por token B, quantos tokens Ryan receberá?

Desmembrando a equação acima, podemos substituir o seguinte:

https://miro.medium.com/v2/resize:fit:640/0*e1gYJm6fNBkT7Hx0

Em seguida, podemos simplificar a equação e resolver para Δb para obter nosso valor final. Mas primeiro, vamos remover a taxa de troca do valor de Ryan, o que colocará o valor de Ryan em 0,997.

https://miro.medium.com/v2/resize:fit:1100/0*wu6SqVcbmu0aEn-e

Por fim, Ryan receberá 3,324996 tokens B, deixando o pool de liquidez com novas quantidades de reserva de tokens. Se aplicarmos novamente a fórmula CFMM, descobrimos que o resultado não se altera. É por isso que é chamado de formador de mercado com função constante.

Agora que revisamos como calcular a quantidade de tokens que receberemos em uma negociação específica, tudo o que precisamos são os dados dos pools de liquidez.

Como obtemos os dados?

Apresentando o The Graph, um protocolo de indexação descentralizado e de código aberto para dados de blockchain. Os desenvolvedores podem criar e publicar várias APIs chamadas "subgrafos" que realizam consultas por meio da GraphQL. Atualmente, a maioria das DEXs não suporta solicitações de API tradicionais. Em vez disso, a maioria das DEXs possui subgrafos projetados para consultar os dados encontrados em sua plataforma com uma API da GraphQL padrão.

Para configurar isso, você pode usar a seguinte solicitação de postagem Axios para o subgrafo da Uniswap V3:

async function uniswapSubgraph_V3_Api(query) {
 try {
   const url = '-- end point here --';

   const { data } = await axios.post(url, query);

    return data;

 } catch (error) {
   console.error('there was an issue calling uniswap_v3 subGraph', error);
 }
}
Enter fullscreen mode Exit fullscreen mode

O parâmetro receberá uma consulta da GraphQL para indexar os dados da blockchain do subgrafo da Uniswap V3. Não se preocupe, você não precisará construir essas consultas completamente por conta própria. Você pode acessar o playground da DEX e testar suas próprias consultas. Utilize a seguinte consulta do subgrafo da Uniswap V3:

{
 poolHourDatas(first: 1000, orderBy: txCount, orderDirection: desc, where: {periodStartUnix_gte: ${---time stamp --}}){
  pool {
    id
    feeTier
    token0Price
    token1Price
    liquidity
    tick
    sqrtPrice
      token0 {
        symbol
        decimals
        id
        derivedETH
      }
      token1 {
        symbol
        decimals
        id
        derivedETH
      }
     }
   }
 }
Enter fullscreen mode Exit fullscreen mode

Isso indexa o protocolo Uniswap V3 para 1000 pools de liquidez, que resultaria em um array de objetos ordenados pela quantidade de transações que cada pool teve dentro de um determinado período de tempo (observe que alguns pools de liquidez podem não ter tido transações).

O que são Empréstimos Relâmpago?

Semelhantes aos empréstimos tradicionais, os Empréstimos Relâmpago são fundos emprestados que se espera que sejam pagos eventualmente. No entanto, eles operam de forma diferente:

  • Eles são empréstimos não garantidos.
  • Eles operam por meio de contratos inteligentes.
  • Eles são instantâneos.

1. São empréstimos não garantidos

Ao contrário de um empréstimo tradicional, um empréstimo relâmpago é um empréstimo não garantido, o que significa que não é necessário fornecer garantias. Como os empréstimos relâmpago não são garantidos, eles representam um alto risco para os credores. No entanto, os empréstimos relâmpago possuem um conjunto rigoroso de regras dentro de um contrato inteligente. Essas regras rígidas são a segurança fornecida, o que significa que a transação é revertida caso surja algum problema.

2. Empréstimos Relâmpago em Contratos Inteligentes

Em essência, os contratos inteligentes podem ser definidos como scripts eletrônicos autoexecutáveis condicionados a um evento se ocorrer um cenário específico.

No entanto, diferentemente da construção de um Contrato Inteligente, onde você tem a capacidade de definir os termos por si mesmo, os empréstimos relâmpago possuem regras predefinidas. Uma regra é que o mutuário é obrigado a reembolsar o valor total do empréstimo antes da conclusão da transação. Por exemplo, quando uma transação é planejada, se os fundos não forem devolvidos integralmente ao credor inicial no final do período do empréstimo, o empréstimo é anulado e a transação é revertida. A desvantagem desse resultado seria o pagamento de taxas de transação (taxas de gás) e taxas de negociação (taxas de troca, ou swap).

https://miro.medium.com/v2/resize:fit:1100/0*_L7jIqaxTV4NG4Nn

3. Empréstimos Relâmpago são Instantâneos

Obter a aprovação de um empréstimo tradicional geralmente é um processo demorado. O mutuário precisa enviar documentos, aguardar a aprovação e pagar o empréstimo, o que pode levar dias, meses ou anos.

Um empréstimo relâmpago é executado instantaneamente. O contrato inteligente do empréstimo deve ser cumprido durante a transação para a qual ele é emprestado. Portanto, o mutuário é obrigado a chamar outros contratos inteligentes, usando o capital emprestado para realizar negociações instantâneas.

E agora?

Vamos avançar agora que revisamos os conceitos essenciais. Nosso guia será dividido em vários artigos, cada um dos quais explicará como descobrimos oportunidades de arbitragem triangular, determinamos sua lucratividade e executamos as negociações (em breve).

Nesses artigos, apresentaremos métodos simples e forneceremos explicações detalhadas de como ferramentas descentralizadas como o The Graph e Empréstimos Relâmpago podem ser úteis nesse processo.

Fontes e Leituras Adicionais:

Artigo original publicado por Brennan Skinner. Traduzido por Paulinho Giovannini.

Top comments (0)