Pesquisa sobre AMM do ecossistema Solana: o código subjacente por trás da alta liquidez

Na atualidade da indústria Web3, os produtos relacionados com Finanças Descentralizadas ocupam uma posição de mercado absoluta. E nesse contexto, o AMM (Automated Market Maker, ou seja, Provedor de Liquidez Automático) é um elemento-chave e um forte impulsionador das mudanças no setor financeiro do Web3. Este artigo irá apresentar algumas implementações importantes de AMM no ecossistema Solana, com a esperança de ajudar os LP (Provedor de Liquidez) a escolher suas estratégias de investimento.

CPMM

CPMM ( Constant Product Market Maker ) é implementado em muitos produtos como a implementação AMM mais básica. Aqui está um exemplo do AMM da Raydium baseado em produto constante. O produto constante é que o fornecimento de dois tokens no pool tem um produto fixo: X * Y = k.

Para os Provedores de Liquidez, quando alguém adiciona liquidez ao pool (adiciona ativos), o CPMM cria automaticamente uma conta associada ao endereço da carteira e emite o LP Token (cada par de tokens tem seu próprio Mint de LP Token), este LP Token é utilizado para provar que o endereço da carteira detém uma parte de um determinado pool e será destruído quando o Provedor de Liquidez retirar o Token correspondente.

O programa on-chain da CPMM é desenvolvido usando Anchor, e o código do programa pode ser encontrado em . Vamos verificar brevemente como ele alcança um produto constante.

Primeiro, ao usar o CPMM da Raydium para trocar tokens, o usuário acionará os comandos relacionados ao swap.

Por exemplo (apenas para ilustrar a situação, este artigo não se responsabiliza por qualquer Token): quando um usuário deseja trocar USDC por TRUMP, pode fazê-lo através do pool TRUMP-USDC.

| | | | | --- | --- | --- | | Pool | TRUMP | USDC | | 7XzVsjqTebULfkUofTDH5gDdZDmxacPmPuTfHa1n9kuh | 6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN | EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v |

Por exemplo, ao analisarmos esta transação, para simplificar, vamos ignorar outras instruções na transação e apenas olhar a parte do Raydium. Encontre Raydium CPMM: swapBaseInput:

Pesquisa AMM do ecossistema Solana: o código subjacente por trás da alta liquidez

Em Contas de entrada, podemos ver que o token de entrada é USDC e o token de saída é TRUMP. No AMM do ecossistema Solana, o LP Pair pode ser simplesmente representado por uma Conta de Token sem a necessidade de criar um novo programa de contrato e implantá-lo (como o contrato de fábrica comumente usado no Ethereum). Quando a transação ocorre, interaja diretamente com o Programa CPMM da Raydium, e o programa Solana modificará o status da Conta de Token correspondente através do endereço do pool de entrada, endereço do token, etc., para realizar operações de swap.

Por exemplo, o comando swapBaseInput mencionado acima pode ser encontrado aqui. Após uma série de verificações preliminares, a quantidade exata de tokens alvo que pode ser trocada é calculada em ConstantProductCurve.swap_base_input_without_fees:

Pesquisa AMM do ecossistema Solana: o código subjacente por trás da alta liquidez

A fórmula utilizada é:

Pesquisa sobre AMM do ecossistema Solana: o código subjacente por trás da alta liquidez

Após a alteração nas quantidades totais de TokenX e TokenY, o seu produto deve permanecer inalterado. O lado esquerdo da fórmula mostra o produto após a alteração, e o lado direito mostra o produto antes da alteração.

Pesquisa AMM do ecossistema Solana: O código subjacente por trás da alta liquidez

A fórmula de conversão para Δy (ou seja, a quantidade de tokens y que podemos trocar) pode ser obtida através da transformação matemática da equação acima.

Pesquisa AMM do ecossistema Solana: o código subjacente por trás da alta liquidez

ou seja, a parte do código onde delta_y = (delta_x * y) / (x + delta_x). Note que aqui o cálculo não inclui taxas, pois já foi deduzido na lógica anterior do swap_base_input.

CLMM

CLMM ( Criador de Mercado de Liquidez Concentrada ) Também é um AMM lançado pela Raydium, semelhante ao Uniswap V3, onde cada par de tokens possui vários níveis de taxas, permitindo a criação de um pool correspondente a cada nível.

Como a implementação do CLMM se baseia no Uniswap V3, muitos conceitos e formas de implementação podem ser referenciados a partir da implementação do Uniswap ao estudá-lo. Ele também herda conceitos do Uniswap, como tick, múltiplos níveis de taxa e liquidez concentrada. Mais conteúdos podem ser encontrados no curso de desenvolvimento DEX lançado pela ZAN: Prática de Desenvolvimento DEX - Análise de Código do Uniswap - Como o Uniswap Funciona - ZAN

Mas é importante notar que, semelhante ao CPMM, devido às características da cadeia Solana, o CLMM do Raydium não precisa implantar um contrato separado para cada pool, portanto, não há o conceito de um contrato de fábrica. Isso é diferente do Uniswap.

CLMM permite que os provedores de liquidez escolham um intervalo de preços ao injetar fundos, e os fundos serão distribuídos apenas dentro do intervalo selecionado:

Pesquisa AMM do Ecossistema Solana: O Código de Nível Subjacente por trás da Alta Liquidez

Para pools de liquidez concentrada, os tokens existem de forma separada em ambos os lados do preço atual. A faixa de preços selecionada na imagem acima inclui o preço atual, portanto, os fundos serão alocados separadamente para os dois tipos de tokens no pool.

Podemos também injetar apenas um tipo de token para fornecer a chamada liquidez unidimensional (como mostrado abaixo). Isso é um pouco semelhante às ordens limitadas no modelo financeiro tradicional, onde os fundos do LP só são utilizados quando o preço do token atinge uma certa faixa, embora esse modelo também considere mais pontos de risco.

! Solana Ecosystem AMM Research: O código subjacente por trás da alta liquidez

Em geral, para pools com pequenas flutuações de preço, os Provedores de Liquidez tendem a escolher uma faixa um pouco menor; em contrapartida, para aqueles pools com flutuações de preço muito acentuadas, tendem a escolher uma faixa um pouco maior. O objetivo é evitar que o preço atual se desvie da faixa de preço escolhida, causando muitas perdas impermanentes.

É importante notar que, embora a liquidez concentrada possa aumentar a eficiência do capital dos Provedores de Liquidez (LP), isso também exige um maior entendimento financeiro por parte dos LPs, que precisam gerenciar sua liquidez de forma mais ativa. Se os LPs não estiverem à altura, as frequentes flutuações na blockchain podem facilmente levar a perdas impermanentes significativas.

DLMM

DLMM (Dynamic Liquidity Market Maker) é um produto AMM lançado pela Meteora, que também pertence ao Uniswap V3 e é muito semelhante ao CLMM mencionado anteriormente. No entanto, o DLMM permite que os LP concentrem seus fundos em uma faixa específica próxima ao preço atual. No entanto, o DLMM tem algumas diferenças na implementação e oferece algumas funcionalidades exclusivas.

O DLMM introduz o conceito de Bin, onde o pool começa a partir do preço base, existindo um Bin a cada pequeno passo de Bin. Se a negociação ocorrer dentro do mesmo Bin, os traders desfrutarão de deslizamento zero. Isso pode aumentar significativamente o volume de negociações e a taxa de sucesso das negociações; teoricamente, o Provedor de Liquidez poderá coletar mais taxas de negociação.

Pesquisa AMM do ecossistema Solana: O código subjacente por trás da alta liquidez

Semelhante ao CLMM, os tokens no pool estão distribuídos em ambos os lados do preço atual, e um token precisa fornecer apenas liquidez unilateral. Mas de acordo com o conceito de Bin, o Bin atualmente ativado (que indica o preço de troca atual) possui dois tipos de tokens. Ou seja:

  • Bin ativado atualmente: existem dois tokens, a troca de tokens no Bin atual será feita a um preço fixo e com 0 deslizamento;
  • Outros Bin: Distribuídos nos lados do Bin atualmente ativado, existem apenas tokens individuais.

Quando a quantidade de tokens no Bin atualmente ativado muda, se a quantidade de tokens de uma das partes reduzir para 0, o DLMM definirá o Bin atualmente ativado como o próximo Bin à esquerda ou à direita, de acordo com a situação real do pool. Isso impulsionará a variação de preço no pool.

Ao fornecer liquidez como Provedor de Liquidez, o DLMM oferece 3 estratégias, nomeadamente Spot, Curve e Bid Ask.

  • Dentre eles, o Spot é o mais universal, basicamente todas as pools de liquidez são bastante adequadas, sendo uma das estratégias de liquidez mais simples.
  • Curve é mais adequado para pools onde a variação de preço é muito pequena, como pares de stablecoins. A flutuação de preço nesses pools é muito pequena, assim como sua forma sugere, concentrando os fundos do LP dentro dessa faixa, maximizando a captura das taxas de transação.
  • O Bid Ask é mais adequado para pools com grandes oscilações de preço. As pessoas tendem a realizar mais operações de arbitragem nesse tipo de pool, onde pode ser difícil concentrar o preço em um pequeno intervalo. Essa estratégia geralmente exige que o Provedor de Liquidez ajuste frequentemente suas posições, a fim de evitar que o preço saia do intervalo de capital que estabeleceu. Como envolve julgamento de mercado, isso geralmente não é fácil.

Resumo

AMM como uma parte importante do setor financeiro Web3, através de seu mecanismo único e inovações, impulsiona a popularização e o desenvolvimento das Finanças Descentralizadas. Com os constantes avanços tecnológicos e a melhoria do ecossistema, espera-se que o AMM desempenhe um papel ainda maior no futuro, mudando ainda mais o panorama das finanças tradicionais.

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.
  • Recompensa
  • Comentar
  • Partilhar
Comentar
0/400
Nenhum comentário
  • Pino
Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)