Pesquisa sobre AMM no ecossistema Solana

Este artigo apresentará várias implementações importantes de AMM no ecossistema Solana.

Escrito por: ZAN

No estado atual da indústria Web3, os produtos relacionados ao DeFi ocupam uma posição de mercado absoluta. E, entre eles, os AMM (Automated Market Maker, formadores de mercado automáticos) são uma peça chave, sendo poderosos impulsionadores das mudanças na área financeira do Web3. Este artigo irá apresentar algumas implementações importantes de AMM no ecossistema Solana, esperando poder ajudar os LP (Liquidity Provider, fornecedores de liquidez) a escolher suas estratégias de investimento.

CPMM

CPMM (Constant Product Market Maker) é a implementação mais básica de AMM, presente em muitos produtos. Aqui, usamos o AMM baseado em produto constante lançado pela Raydium como exemplo. O produto constante significa que a quantidade de duas moedas 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 tokens LP (cada par de tokens tem seu próprio mint de token LP). Este token LP é utilizado para provar que o endereço da carteira detém uma participação em um determinado pool, e será destruído quando o provedor de liquidez retirar o token correspondente.

O programa on-chain do CPMM foi desenvolvido com Anchor, e o código do programa pode ser encontrado. Vamos confirmar rapidamente como ele implementa o produto constante.

Primeiro, ao usar o Raydium para trocar tokens no CPMM, os usuários acionarão comandos relacionados ao swap.

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

Por exemplo, vamos analisar esta transação. Para simplificar, vamos ignorar as outras instruções na transação e focar apenas na parte do Raydium. Encontre Raydium CPMM: swapBaseInput:

No Input Accounts, 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 representado simplesmente através da Token Account, sem a necessidade de criar um novo programa de contrato e implantá-lo (como é comum com os contratos de fábrica no Ethereum). Quando a transação ocorre, interage-se diretamente com o Programa CPMM da Raydium; o programa Solana modificará o estado da Token Account correspondente, utilizando o endereço do pool, o endereço do token, entre outros, para realizar a operação de swap.

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

O fórmula utilizada é:

Ou seja, após a variação das quantidades totais de TokenX e TokenY, o seu produto deve permanecer inalterado. O lado esquerdo da fórmula é o produto após a variação, enquanto o lado direito é o produto antes da variação.

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:

ou seja, a parte delta_y = (delta_x * y) / (x + delta_x) no código. Note que este cálculo não inclui taxas, pois já foram deduzidas na lógica anterior de 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 múltiplos níveis de taxas, permitindo a criação de um pool correspondente a cada nível.

Uma vez que a implementação do CLMM se baseia na Uniswap V3, muitos conceitos e métodos de implementação podem ser referenciados a partir da implementação da Uniswap ao estudá-la. Ela também herda conceitos da Uniswap, como tick, múltiplas camadas de taxas e liquidez concentrada. Mais conteúdo pode ser encontrado no curso de desenvolvimento de DEX lançado pela ZAN: DEX Development Practice - Análise de Código da Uniswap - Como a Uniswap funciona - ZAN

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

O CLMM permite que os provedores de liquidez selecionem uma faixa de preço ao injetar fundos, e os fundos serão distribuídos apenas dentro da faixa selecionada:

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

Podemos também injetar apenas um tipo de token para fornecer a chamada liquidez unilateral (como mostrado na imagem abaixo). Isso é um pouco semelhante às ordens limitadas nos modelos financeiros tradicionais, onde os fundos do LP só serão utilizados quando o preço do token atingir um certo intervalo, embora este modelo tenha mais pontos de risco a serem considerados.

Em geral, para pools com pequenas flutuações de preço, os LPs tendem a escolher um intervalo menor; por outro lado, para pools com flutuações de preço muito acentuadas, tendem a escolher um intervalo maior. O objetivo é evitar que o preço atual se desvie demais do intervalo de preço escolhido, causando muitas perdas impermanentes.

É importante notar que a liquidez concentrada, embora possa aumentar a eficiência do capital dos LPs, também exige um maior nível de consciência financeira por parte dos LPs, que precisam gerenciar sua liquidez de forma mais ativa. Se os LPs não conseguirem lidar com isso, as frequentes flutuações na cadeia podem facilmente levar a perdas impermanentes significativas para os LPs.

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 acima. No entanto, o DLMM permite que os LP concentrem seus fundos em um intervalo específico próximo ao preço atual. Contudo, 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, e a cada pequena etapa de Bin existe um Bin. Se as transações ocorrerem dentro do mesmo Bin, os traders desfrutam de zero slippage. Isso pode aumentar significativamente o volume de transações e a taxa de sucesso das transações, teoricamente permitindo que os LPs colham mais taxas de transação.

Semelhante ao CLMM, os tokens no pool também estão distribuídos dos dois lados do preço atual, sendo que 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 ativo atual: existem dois tipos de tokens, a troca de tokens no Bin atual será feita a um preço fixo, e 0 slippage;
  • Outros Bin: Distribuídos nos lados do Bin atualmente ativado, existindo apenas um único token de cada vez.

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

Ao fornecer liquidez no LP, o DLMM oferece 3 estratégias: Spot, Curve e Bid Ask.

O Spot é o mais universal, praticamente todas as pools de liquidez são adequadas, sendo uma das estratégias de liquidez mais simples.

A Curve é mais adequada para pools onde a variação de preço é muito pequena, como pares de stablecoins. As flutuações de preço nesses pools são muito pequenas, como sua forma indica, concentrando os fundos dos LPs dentro desse intervalo, o que maximiza a captura das taxas de transação.

A oferta e a procura são mais adequadas para pools com grandes oscilações de preço. As pessoas tendem sempre a realizar mais operações de arbitragem nestes pools, onde o preço pode ser difícil de concentrar em uma faixa estreita. Esta estratégia geralmente requer que os LP ajustem frequentemente suas posições para evitar que o preço se desvie do intervalo de capital que estabeleceram. Como envolve julgamento sobre o mercado, isso geralmente não é fácil.

Resumo

AMM, como uma parte importante do setor financeiro Web3, promove a popularização e o desenvolvimento das finanças descentralizadas através de seus mecanismos únicos e inovações. Com o constante avanço da tecnologia e o aprimoramento 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 é apenas para referência, não uma solicitação ou oferta. Nenhum aconselhamento fiscal, de investimento ou jurídico é fornecido. Consulte a isenção de responsabilidade para obter mais informações sobre riscos.
  • Recompensa
  • Comentário
  • Compartilhar
Comentário
0/400
Sem comentários
  • Marcar
Faça trade de criptomoedas em qualquer lugar e a qualquer hora
qrCode
Escaneie o código para baixar o app da Gate
Comunidade
Português (Brasil)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)