Método de Avaliação DeFi ①: Revisão Iterativa da Uniswap

intermediário1/7/2024, 5:37:16 PM
Este artigo toma o desenvolvimento do Uniswap como exemplo para analisar a inspiração dos princípios por trás de suas iterações no design DeFi.

Recentemente estou fazendo um resumo dos métodos de avaliação da trilha DeFi. Depois de estudar alguns casos, Uniswap é um representante típico em termos de influência e lógica iterativa. Este artigo realiza uma revisão abrangente do Uniswap.

A lógica interna da iteração do Uniswap da V1 para a V4, bem como o lançamento do protocolo UniswapX, é inovação funcional e otimização do mecanismo para transações DEX.

V1 implementou inicialmente o AMM no campo da criptografia, V2 reduziu a exposição ao risco do ETH e lançou um oráculo de preços mais difícil de manipular, V3 resolveu o problema da baixa eficiência de capital através da liquidez centralizada, V4 implementou um DEX personalizável e o protocolo UniswapX foi fortalecido através do mecanismo de leilão. A competitividade dos agregadores de terceiros permite a otimização do deslizamento de preço.

História do desenvolvimento da Uniswap

Não é necessário entrar em detalhes sobre o status e a influência da Uniswap. De acordo com os dados em tempo real da Dune, a Uniswap ainda é a DEX com a maior participação de mercado.

Como uma DEX líder, ela não existe há muito tempo, mas já passou por muitas iterações. Vamos dar uma olhada no processo de desenvolvimento:

Em junho de 2017, Vitalik publicou o artigo Sobre a Independência do Caminho;

Em novembro de 2018, o Uniswap V1 foi lançado: suportando transações entre ETH e ERC-20Token;

Em março de 2020, o Uniswap V2 foi lançado: suportando transações entre quaisquer dois pares de tokens ERC-20;

Em maio de 2021, o Uniswap V3 foi lançado: melhorando a taxa de utilização dos fundos LP e propondo o conceito de liquidez agregada;

Em junho de 2023, o Uniswap V4 foi lançado: a customização do contrato Hooks foi introduzida para evitar vazamento de valor;

Em julho de 2023, Uniswap X foi lançado: agregando liquidez on-chain e off-chain, proteção MEV.

Uniswap V1: Uma tentativa de criação de mercado automatizada

Em 2017, Vitalik publicou um artigo 'Sobre Independência de Caminho' em sua página pessoal, no qual o criador de mercado automatizado (AMM) foi introduzido pela primeira vez no campo da criptografia, que é um método de negociação diferente de CEX. Claro, essa abordagem já foi discutida há muito tempo em círculos não criptografados (como círculos financeiros tradicionais).

Sabemos que no mercado de ações, mercado de futuros ou CEX existente, a maioria das transações são realizadas no Livro de Ordens (modo de livro de ordens). Os market makers (como corretores e exchanges centralizadas) correspondem às ordens de compra dos compradores e às ordens de venda dos vendedores quando os preços correspondem, completando assim as transações entre compradores e vendedores.

No entanto, problemas têm sido encontrados no caso da descentralização. A razão é que no ambiente descentralizado da DEX (qualquer um pode participar na criação do mercado), é difícil combinar transações no modo de livro de ordens para fornecer liquidez correspondente, taxa de transação e A experiência é relativamente pobre e, sem liquidez suficiente, é difícil combinar a eficácia operacional do CEX.

Neste artigo de Vitalik, um conceito inovador é introduzido no mercado de criptografia: Automatic Market Maker. Neste conceito, a precificação de ativos é feita por meio de algoritmos de precificação, em vez do modelo tradicional de livro de ordens.

No modelo AMM, não é necessário cotações de formador de mercado ou correspondência de sistema, e os traders podem usar diretamente a liquidez na pool para realizar a troca de ativos.

TokenA e TokenB formam uma relação de produto constante: tokenA_balance(p) * tokenB_balance(p) = K (K permanece inalterado)

Este é um sistema de negociação impulsionado pela liquidez, este modelo é chamado de Fabricante de Mercado de Produto Constante (CPMM). Sob esta abordagem, um fabricante de mercado independente de caminho pode ser formado definindo qualquer relação (monótona) entre tokenA e tokenB e calculando suas derivadas a qualquer momento para dar um preço.

Três participantes: LP, traders, arbitrageBy

No mecanismo de criação de mercado da AMM, não há uma contraparte específica semelhante ao modelo de livro de ordens. O valor real do ativo é determinado pela fórmula matemática de um produto constante. Em certa medida, pode ser comparado à contraparte sendo um contrato inteligente, que pode realizar a negociação automatizada do ativo.

Alguém precisa fornecer liquidez em um contrato inteligente, e o provedor de liquidez é LP (Provedor de Liquidez). LP fornece liquidez para transações injetando ativos nos contratos inteligentes no pool, obtendo assim renda de taxas de transação.

Depois que o LP constrói a piscina de liquidez inicial, os traders podem trocar Tokens através da piscina, e os arbitrageurs tomarão a iniciativa de manter os preços dos ativos consistentes com os preços de mercado através de arbitragem de preços entre diferentes mercados.

No Uniswap V1 lançado em novembro de 2018, todos os ativos podem ser resgatados através de ETH. Para transações entre ETH e ERC-20Token, qualquer pessoa pode adicionar tokens para negociar com ETH nativo. ETH é essencialmente um intermediário de negociação de ativos.

O que acontece em uma única pool se quisermos negociar??

Suponha que um ETH vale atualmente 100TokenA e que um pool de ETH/TokenA consiste em 10 ETH e 1000 TokenA.

Neste momento, o valor de 10 ETH e 1.000 TokenA é o mesmo que 1.000 dólares americanos, e a relação de valor do ativo é de 1:1.

k=10 *1000=10000, este produto permanece inalterado sem adicionar mais liquidez.

Agora, suponha que eu queira vender 5 ETH para o pool, então deveria ser:

y=10000/(10+5)=666.67, o número de ETH no pool aumentou para 15 e o número de USDC neste momento tornou-se 666.67, então eu troquei 5 ETH por 333.33 TokenA e neste momento o preço de um único ETH no pool é 666.67/15=44.44, ou seja, um ETH equivale a 44.44 TokenA.

Claro, se o preço em um único pool mudar significativamente em relação aos de outros mercados de negociação, os arbitragistas imediatamente entrarão em ação até que consumam a diferença de preço. Afinal, o mecanismo AMM só pode gerar preços de transação, mas não pode descobrir os preços de mercado, então o papel dos arbitragistas é muito importante.

Perdas impermanentes, Token LP, deslizamento de transação

As perdas impermanentes ocorrem quando a proporção de preço dos tokens depositados muda em comparação com quando foram depositados na pool. Quanto maior a mudança, maior a perda de impermanência.

Agora, como LP, continuaremos a dar um exemplo:

Fórmula principal do UniswapV1: x∗y=k

Agora, como fornecedor de liquidez, continuamos a adicionar 10 ETH e 1000 TokenA ao pool como liquidez inicial. Neste momento, 1 ETH é igual a 100 TokenA, e o produto constante das duas quantidades de ativos é 101000=10000( xy=10000,x=100y).

Neste momento, se o preço de 1 ETH aumentar para 200 TokenA, podemos converter: x*y=10000, x=200y, calculando assim x=7.071, y=1414.21.

Neste momento, a piscina de liquidez mudou de 10 ETH e 1000 TokenA iniciais para: 7.071 ETH e 1414.21 TokenA.

Encontrou o problema?

Neste momento, se eu resgatar todos os ativos, receberei 7.071 ETH e 1414.21 TokenA. O valor real calculado usando TokenA é 7.071200+1414.21=2828.41. Se calculado com base nos 10 ETH iniciais e 1000 TokenA , o preço atual deve ser 10200+1000=3000TokenA.

A diferença nesta parte da renda (3000-2828.41=171.59TokenA) é uma perda impermanente.

As perdas impermanentes ocorrem porque, sob o mecanismo de criador de mercado automático das bolsas descentralizadas, os provedores de liquidez ajustam os fundos com base nas flutuações de preços, resultando em perdas de capital e retornos perdidos.

Como atuam tanto como compradores quanto como vendedores, são obrigados a aumentar a quantidade de ativos que possuem quando os preços caem e a diminuir a quantidade de ativos que possuem quando os preços sobem, resultando em perdas.

Claro, você também pode escolher a cobertura e gerenciar riscos abrindo contratos curtos/longos em ETH.

Para motivar os usuários a atuar como LPs para fornecer liquidez e incentivá-los a suportar a volatilidade de preços, o Token LP surgiu. Esta é uma recompensa para os provedores de liquidez, que podem obter uma certa porcentagem da taxa de transação para cada transação (UniswapV1, os traders pagam 0,3% na transação, que pertence ao provedor de liquidez). Ao mesmo tempo, também serve como um certificado para o LP retirar a liquidez adicionada por si próprio.

Outro conceito é o deslizamento de negociação, amigos que frequentemente fazem negociações na DEX certamente estarão familiarizados com isso. Como um sistema de negociação impulsionado pela liquidez, a bela equação de produto constante do AMM é uma curva suave, e o preço muda o tempo todo de acordo com a relação entre oferta e demanda.

Se você negociar um grande número de Tokens neste momento, ocorrerá deslizamento, e haverá uma certa diferença entre o preço esperado e o preço que realmente obterá do pool. Em outras palavras, haverá um intervalo entre o preço desejado e o preço da transação.

Uniswap V2: Adaptação, Oracle, Empréstimo relâmpago

Uniswap V1 suporta apenas transações entre pares de negociação ERC-20/ETH. Em essência, ele usa ETH como uma moeda intermediária de transição para trocar entre Tokens ERC-20. Embora o caminho da transação seja simples, ele cria exposição ao risco de ETH para os provedores de LP. Exportação, perda impermanente e riscos de deslizamento.

No Uniswap V2, ele ainda é baseado no mecanismo "constant product market maker", mas a atualização do V2 trouxe melhorias de eficiência, incluindo: suporte a quaisquer dois pares de Token ERC-20 para negociação, o que significa que qualquer ERC20 pode ser criado - pares ERC20 sem a necessidade de emparelhar pelo caminho de transição do ETH.

Não entrarei em detalhes sobre este ponto. A atualização do V2 inclui muitos aspectos. Há dois pontos mais importantes: melhorar o price.Oracle, accomplishflash loan.

Melhorias no Oráculo de Preços

No processo da Uniswap V1, o preço calculado dividindo os fundos de reserva dos dois ativos no pool não é seguro se usado como uma previsão de preço on-chain, pois pode ser facilmente manipulado.

Um dos propósitos desta atualização V2 é aumentar o custo e a dificuldade da manipulação de preços。

Na V1, supondo que outros contratos usem o preço atual do ETH-DAI para liquidar derivativos, um atacante que manipula o preço medido pode comprar ETH do par ETH-DAI, disparar a liquidação do contrato derivativo a um preço inflacionado e, em seguida, o ETH é vendido de volta ao par, trazendo sua negociação de volta ao seu verdadeiro preço. Neste caso, as transações podem até ocorrer como transações atômicas, ou com mineradores controlando a ordem das transações dentro de um bloco.

No V2, para determinar o equilíbrio de preços de mercado, o preço é atualizado uma vez por bloco, e o preço de troca de token é determinado antes do próximo bloco, ou seja, o preço de mercado do token é baseado na última transação no bloco anterior.

Nesta atualização, também é fornecido um novo dado de previsão de preço: Preço médio ponderado no tempo (TWAP). Acumular os preços relativos de dois ativos no início de cada bloco permite que outros contratos no Ethereum estimem o preço médio ponderado no tempo de dois ativos ao longo de qualquer intervalo de tempo.

Mais especificamente, no Uniswap V2, o preço é acumulado rastreando a soma cumulativa do preço quando alguém interage com o contrato no início de cada bloco. Com base no carimbo de data/hora do bloco, cada preço é ponderado pela quantidade de tempo desde que o bloco anterior foi atualizado. Isso significa que o valor do acumulador em qualquer momento dado (após ser atualizado) deve ser a soma dos preços spot para cada segundo na história do contrato.

Os usuários do oráculo podem escolher quando começar e terminar este período, o custo para os atacantes manipularem o TWAP será maior e o preço é relativamente difícil de manipular.

Realize empréstimo flash

O empréstimo Flash é uma inovação absoluta em comparação com as finanças tradicionais. Afinal, as transações reais não podem ser revertidas como na blockchain.

Flash Swaps empréstimos flash foram introduzidos na V2. Os usuários são livres para emprestar ativos para o pool e usá-los em outros lugares na cadeia, apenas devolvendo os ativos e pagando juros correspondentes no final da transação (pagamento na mesma transação atômica). Se o dinheiro não for devolvido normalmente, a transação será revertida.

Na verdade, permite que qualquer pessoa empreste rapidamente qualquer ativo armazenado na piscina Uniswap. Na V1, os usuários não estão autorizados a receber e usar o ativo antes de pagar por ele. Ao usar um ativo A para comprar um ativo B, o ativo A precisa ser enviado para o contrato antes que o ativo B possa ser obtido.

Existem alguns outros pontos atualizados:Incluindo Uniswap V2, que ajustou o novo framework de contrato, usando um formato binário de ponto fixo simples para codificar e processar preços (precisão), atualização de taxas de protocolo e suporte a meta transações para as cotas da pool emitidas, etc.

Uniswap V3: Melhoria da eficiência de capital

Antecedentes: Uniswap V2 tem problemas de liquidez. De acordo com a introdução ao mecanismo AMM acima, podemos ver que em V1 e V2, a liquidez da pool é realmente distribuída na área [0, +∞]. Em outras palavras, qualquer preço é permitido na pool V2. As transações ocorrem (consulte a curva suave da função inversa no produto constante AMM).

Isso parece ser algo bom à primeira vista. A faixa de negociação é muito grande, mas, na verdade, não há demanda suficiente para pares de negociação com diferentes volatilidades em suas faixas de preço, o que resulta em uma séria falta de liquidez, exceto para algumas faixas de negociação, baixa utilização de ativos.

Como você pode imaginar, é inútil e desperdiçado fornecer liquidez a um preço tão distante do intervalo de preços que o preço pode nunca atingir esse ponto.

liquidez concentrada

Neste caso, para melhorar a liquidez financeira, o Uniswap V3 introduziu o conceito de liquidez concentrada. Ou seja:

Os provedores de liquidez (LPs) são livres para escolher fornecer liquidez em uma determinada faixa de preço, isso pode fornecer uma melhor liquidez e operar dentro de uma faixa de eficiência de capital alta. Ao mesmo tempo, em termos de aplicação, também é possível fazer diferentes configurações para pools de ativos com volatilidade de preço diferente.

Cada pequena faixa de preço no V3 pode ser entendida como um V2 em operação. Durante a transação, o preço se moverá suavemente ao longo da curva. Quando o preço atinge uma determinada seção do V2, ele atinge o ponto de intervalo do intervalo de preço do V3. Neste momento, o ponto de preço deslizará para o próximo intervalo de preço.

Depois de entender o conceito acima, podemos conhecer os novos substantivos - O núcleo do V3 são os Ticks.

Ticks, ticks, são os menores montantes incrementais pelos quais um título pode ser negociado. No V3, dividindo o intervalo de preços de [0, +∞] em inúmeros Ticks refinados, restrições nos pontos finais superiores e inferiores de cada intervalo são implementadas.

A liquidez é agregada por meio do controle de granularidade. A faixa de preço inteira no V3 é calibrada por Ticks discretos e distribuídos de forma uniforme. Cada Tick tem um índice e preço correspondente, e cada Tick terá sua própria profundidade de liquidez.

Os princípios matemáticos do Uniswap V3 mudaram, embora seja semelhante à camada subjacente do V2:

L=xy sob o sinal de raiz

L é chamada de quantidade de liquidez, e a liquidez no pool é a combinação das quantidades dos dois ativos Token. Da mesma forma, o produto das quantidades dos dois tokens é K, mas como cada Tick tem profundidades de liquidez diferentes, as fórmulas equivalentes para diferentes profundidades já não são as mesmas.

Não entrarei em detalhes sobre os princípios matemáticos. Abaixo está um artigo de Atis Elsts sobre os princípios matemáticos do V3. Amigos interessados podem lê-lo por si mesmos.

No Uniswap V2, ainda existe uma taxa de transação padrão de 0,3%, enquanto no Uniswap V2V3 são fornecidos 3 níveis de taxa diferentes devido a diferentes granularidades, sendo 0,05%, 0,3% e 1% respectivamente. Neste momento, os LPs podem concentrar sua eficiência de capital nas faixas mais negociadas para obter retornos máximos.

Além disso, o V3 mais uma vez otimizou o oráculo com base no V2. Ele não armazena mais apenas uma variável de acumulação de preço, mas armazena um conjunto de variáveis, o que pode estender a vida útil dos dados, reduzir as taxas de gás e economizar custos.

Uniswap V4: DEX Personalizável

O Uniswap V4 é baseado no modelo de liquidez centralizada do Uniswap V3, permitindo que qualquer pessoa implante novas pools de liquidez centralizadas no Uniswap com funcionalidades personalizadas, tornando-se assim uma plataforma DEX eficiente e personalizável.

No V4, o ponto central é o contrato Hooks, a visão é permitir que qualquer pessoa tome essas decisões de compensação introduzindo "hooks".

Para cada pool, o criador pode definir um 'contrato Hooks' que executa lógica em pontos chave no ciclo de chamadas. Esses Hooks também gerenciam as taxas de câmbio da pool e as taxas de saque cobradas dos provedores de liquidez.

Ganchos & Piscinas Personalizadas

Hooks são um conjunto de contratos desenvolvidos por terceiros ou funcionários da Uniswap. Ao criar um pool, o pool pode escolher vincular um hook. Então, em uma etapa específica da transação, o pool chamará automaticamente o contrato de hook vinculado a ele. O contrato está em pontos-chave de chamada no ciclo de vida para implementar a lógica.

Em outras palavras, um hook é um contrato externamente implantado que executa alguma lógica definida pelo desenvolvedor em um ponto especificado na execução do pool. Esses hooks permitem que os integradores criem pools de liquidez centralizadas com execução flexível e personalizável. Os hooks podem modificar os parâmetros do pool ou adicionar novos recursos e funcionalidades.

Cada pool de liquidez Uniswap tem um ciclo de vida: Durante o ciclo de vida de uma pool de liquidez, várias coisas acontecem, incluindo: a pool é criada com uma camada de taxa padrão, a liquidez é adicionada, removida ou readaptada, e os usuários também podem trocar Tokens etc. No Uniswap v3, esses eventos do ciclo de vida estão intimamente ligados e executados em uma ordem muito estrita.

Mas para criar espaço para liquidez personalizável no Uniswap V4. O contrato Hooks cria um método de introdução de código para os implementadores de pools de mineração realizarem operações especificadas em pontos-chave no ciclo de vida da pool de mineração, como antes e depois das trocas, ou antes e depois das alterações na posição de LP.

Em resumo, Hooks são plugins para personalizar como pools, swaps, taxas e posições LP interagem, por meio de contratos de hooks. Os desenvolvedores podem inovar em cima da liquidez e segurança do protocolo Uniswap, criando pools AMM personalizados por meio de hooks integrados com contratos inteligentes v4.

Funcionalidades de exemplo que podem ser implementadas por meio de contratos de hook incluem:

  • Execução de grandes ordens via TWAMM ao longo do tempo;
  • Uma ordem de limite de preço on-chain executada a um preço especificado;
  • Taxas dinâmicas que mudam com a volatilidade;
  • Mecanismo de alocação de MEV internalizado para provedores de liquidez;
  • Implementar oráculos de mediana, truncamento ou outros personalizados.

A lógica central do Uniswap V4 é a mesma que a V3 e não é atualizável. Visto que cada pool de mineração é agora definida por mais do que apenas tokens e níveis de taxa, várias pools de mineração podem ser construídas a partir disso. E enquanto cada pool pode usar seu próprio contrato inteligente de gancho, os ganchos são restritos a permissões específicas determinadas quando a pool é criada.

Também houve algumas mudanças arquiteturais no V4, como a Contabilidade Flash (conta instantânea) que pode reduzir significativamente as taxas de gás. Essa funcionalidade está incluída no EIP-1153, que introduz armazenamento “transitório”, e será implementada após a atualização de Cancun (Ethereum Cancun).

Além disso, a versão V4 também usa o modo singleton (salva todos os estados do pool em um contrato), contabilidade relâmpago (garante a solvência do pool), restaura o suporte para ETH nativo, suporta tokens ERC-1155 e adiciona mecanismos de governança Aguarde melhoria.

UniswapX: Reforçando a concorrência

UniswapX é um novo protocolo sem permissão, de código aberto (GPL), baseado em leilões para negociação em AMMs e outras fontes de liquidez.

O protocolo irá melhorar a funcionalidade de troca em várias áreas, incluindo:

  • Aumentar os preços pela agregação de fontes de liquidez
  • Sem troca de gás
  • Prevenir MEV (Valor Máximo de Extração)
  • Sem taxas para transações falhadas
  • Nos próximos meses, UniswapX se expandirá para trocas sem gás entre cadeias.

Agregação de próxima geração de próxima geração

Antecedentes: As transações on-chain continuam a inovar, levando a uma proliferação de pools de liquidez e novas camadas de taxas, L2 e mais protocolos on-chain também dispersarão a liquidez.

Solução: UniswapX tem como objetivo resolver esse problema por meio de uma rede aberta que terceiriza a complexidade de roteamento para terceiros que precisam competir para preencher transações usando liquidez on-chain, como pools AMM ou seus próprios inventários privados.

Com o UniswapX, os traders poderão usar a interface Uniswap sem se preocupar se estão obtendo o melhor preço. As transações dos traders sempre serão registradas e liquidadas de forma transparente na cadeia. Todas as ordens são alimentadas pelo Roteador de Pedidos Inteligente Uniswap, que obriga terceiros a competir com o Uniswap V1, V2, V3 e, após o lançamento, V4.

essencialmente, UniswapX fortalece o mecanismo de competição e otimiza o deslizamento de preço de cada pool de ativos por meio da seleção de roteamento de terceiros.

Além disso, UniswapX também lançou novas tentativas:

Sem Transação de Gás, não há cobrança por falha. O trader assina uma ordem única fora da cadeia, que é então enviada para a cadeia por um terceiro que paga o Gás em nome do trader. O terceiro inclui a taxa de Gás no preço da transação, mas pode competir pelo melhor preço executando múltiplas ordens em lotes e reduzir os custos da transação.

Proteção MEV, devolvendo o MEV originalmente obtido através de negociação de arbitragem para os comerciantes a um preço melhor. O UniswapX ajuda os usuários a evitar formas mais explícitas de retirada de MEV: ordens executadas usando ativos privados de terceiros não podem ser "sanduíche" e terceiros são incentivados a usar retransmissores de transações privadas ao rotear ordens para pools de liquidez on-chain.

A próxima versão cross-chain do UniswapX combinará a troca e a ponte em uma operação contínua. Usando o UniswapX cross-chain, os trocadores poderão trocar entre cadeias em segundos e podem esperar pelo progresso.

O tema principal da Uniswap: iteração

A lógica interna da iteração do Uniswap da V1 para a V4, bem como o lançamento do protocolo UniswapX, é a inovação funcional da DEX (AMM).

V1 implementou inicialmente o AMM no campo da criptografia, V2 reduziu a exposição ao risco do ETH e lançou um oráculo de preços mais difícil de manipular, V3 resolveu o problema da baixa eficiência de capital por meio de liquidez centralizada, V4 implementou DEX personalizável, e o protocolo UniswapX foi fortalecido por meio do mecanismo de leilão. A competitividade dos agregadores de terceiros possibilita a otimização do deslizamento de preço.

Podemos ver que a Uniswap está inovando a cada passo do caminho - reduzindo os custos de empréstimos, otimizando a experiência do usuário, fortalecendo a conscientização da concorrência e adotando tecnologias emergentes. Essa atualização iterativa é a base para um bom protocolo durar para sempre.

Aviso legal:

  1. Este artigo é reproduzido a partir de[Ver a sutileza em detalhes - ensaios diversos]. Todos os direitos autorais pertencem ao autor original [Discussão sobre Arrow]. Se houver objeções a este reenvio, entre em contato com o Gate Learnequipe e eles lidarão com isso prontamente.
  2. Aviso de responsabilidade: As visões e opiniões expressas neste artigo são exclusivamente do autor e não constituem nenhum conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe Gate Learn. A menos que mencionado, copiar, distribuir ou plagiar os artigos traduzidos é proibido.

Método de Avaliação DeFi ①: Revisão Iterativa da Uniswap

intermediário1/7/2024, 5:37:16 PM
Este artigo toma o desenvolvimento do Uniswap como exemplo para analisar a inspiração dos princípios por trás de suas iterações no design DeFi.

Recentemente estou fazendo um resumo dos métodos de avaliação da trilha DeFi. Depois de estudar alguns casos, Uniswap é um representante típico em termos de influência e lógica iterativa. Este artigo realiza uma revisão abrangente do Uniswap.

A lógica interna da iteração do Uniswap da V1 para a V4, bem como o lançamento do protocolo UniswapX, é inovação funcional e otimização do mecanismo para transações DEX.

V1 implementou inicialmente o AMM no campo da criptografia, V2 reduziu a exposição ao risco do ETH e lançou um oráculo de preços mais difícil de manipular, V3 resolveu o problema da baixa eficiência de capital através da liquidez centralizada, V4 implementou um DEX personalizável e o protocolo UniswapX foi fortalecido através do mecanismo de leilão. A competitividade dos agregadores de terceiros permite a otimização do deslizamento de preço.

História do desenvolvimento da Uniswap

Não é necessário entrar em detalhes sobre o status e a influência da Uniswap. De acordo com os dados em tempo real da Dune, a Uniswap ainda é a DEX com a maior participação de mercado.

Como uma DEX líder, ela não existe há muito tempo, mas já passou por muitas iterações. Vamos dar uma olhada no processo de desenvolvimento:

Em junho de 2017, Vitalik publicou o artigo Sobre a Independência do Caminho;

Em novembro de 2018, o Uniswap V1 foi lançado: suportando transações entre ETH e ERC-20Token;

Em março de 2020, o Uniswap V2 foi lançado: suportando transações entre quaisquer dois pares de tokens ERC-20;

Em maio de 2021, o Uniswap V3 foi lançado: melhorando a taxa de utilização dos fundos LP e propondo o conceito de liquidez agregada;

Em junho de 2023, o Uniswap V4 foi lançado: a customização do contrato Hooks foi introduzida para evitar vazamento de valor;

Em julho de 2023, Uniswap X foi lançado: agregando liquidez on-chain e off-chain, proteção MEV.

Uniswap V1: Uma tentativa de criação de mercado automatizada

Em 2017, Vitalik publicou um artigo 'Sobre Independência de Caminho' em sua página pessoal, no qual o criador de mercado automatizado (AMM) foi introduzido pela primeira vez no campo da criptografia, que é um método de negociação diferente de CEX. Claro, essa abordagem já foi discutida há muito tempo em círculos não criptografados (como círculos financeiros tradicionais).

Sabemos que no mercado de ações, mercado de futuros ou CEX existente, a maioria das transações são realizadas no Livro de Ordens (modo de livro de ordens). Os market makers (como corretores e exchanges centralizadas) correspondem às ordens de compra dos compradores e às ordens de venda dos vendedores quando os preços correspondem, completando assim as transações entre compradores e vendedores.

No entanto, problemas têm sido encontrados no caso da descentralização. A razão é que no ambiente descentralizado da DEX (qualquer um pode participar na criação do mercado), é difícil combinar transações no modo de livro de ordens para fornecer liquidez correspondente, taxa de transação e A experiência é relativamente pobre e, sem liquidez suficiente, é difícil combinar a eficácia operacional do CEX.

Neste artigo de Vitalik, um conceito inovador é introduzido no mercado de criptografia: Automatic Market Maker. Neste conceito, a precificação de ativos é feita por meio de algoritmos de precificação, em vez do modelo tradicional de livro de ordens.

No modelo AMM, não é necessário cotações de formador de mercado ou correspondência de sistema, e os traders podem usar diretamente a liquidez na pool para realizar a troca de ativos.

TokenA e TokenB formam uma relação de produto constante: tokenA_balance(p) * tokenB_balance(p) = K (K permanece inalterado)

Este é um sistema de negociação impulsionado pela liquidez, este modelo é chamado de Fabricante de Mercado de Produto Constante (CPMM). Sob esta abordagem, um fabricante de mercado independente de caminho pode ser formado definindo qualquer relação (monótona) entre tokenA e tokenB e calculando suas derivadas a qualquer momento para dar um preço.

Três participantes: LP, traders, arbitrageBy

No mecanismo de criação de mercado da AMM, não há uma contraparte específica semelhante ao modelo de livro de ordens. O valor real do ativo é determinado pela fórmula matemática de um produto constante. Em certa medida, pode ser comparado à contraparte sendo um contrato inteligente, que pode realizar a negociação automatizada do ativo.

Alguém precisa fornecer liquidez em um contrato inteligente, e o provedor de liquidez é LP (Provedor de Liquidez). LP fornece liquidez para transações injetando ativos nos contratos inteligentes no pool, obtendo assim renda de taxas de transação.

Depois que o LP constrói a piscina de liquidez inicial, os traders podem trocar Tokens através da piscina, e os arbitrageurs tomarão a iniciativa de manter os preços dos ativos consistentes com os preços de mercado através de arbitragem de preços entre diferentes mercados.

No Uniswap V1 lançado em novembro de 2018, todos os ativos podem ser resgatados através de ETH. Para transações entre ETH e ERC-20Token, qualquer pessoa pode adicionar tokens para negociar com ETH nativo. ETH é essencialmente um intermediário de negociação de ativos.

O que acontece em uma única pool se quisermos negociar??

Suponha que um ETH vale atualmente 100TokenA e que um pool de ETH/TokenA consiste em 10 ETH e 1000 TokenA.

Neste momento, o valor de 10 ETH e 1.000 TokenA é o mesmo que 1.000 dólares americanos, e a relação de valor do ativo é de 1:1.

k=10 *1000=10000, este produto permanece inalterado sem adicionar mais liquidez.

Agora, suponha que eu queira vender 5 ETH para o pool, então deveria ser:

y=10000/(10+5)=666.67, o número de ETH no pool aumentou para 15 e o número de USDC neste momento tornou-se 666.67, então eu troquei 5 ETH por 333.33 TokenA e neste momento o preço de um único ETH no pool é 666.67/15=44.44, ou seja, um ETH equivale a 44.44 TokenA.

Claro, se o preço em um único pool mudar significativamente em relação aos de outros mercados de negociação, os arbitragistas imediatamente entrarão em ação até que consumam a diferença de preço. Afinal, o mecanismo AMM só pode gerar preços de transação, mas não pode descobrir os preços de mercado, então o papel dos arbitragistas é muito importante.

Perdas impermanentes, Token LP, deslizamento de transação

As perdas impermanentes ocorrem quando a proporção de preço dos tokens depositados muda em comparação com quando foram depositados na pool. Quanto maior a mudança, maior a perda de impermanência.

Agora, como LP, continuaremos a dar um exemplo:

Fórmula principal do UniswapV1: x∗y=k

Agora, como fornecedor de liquidez, continuamos a adicionar 10 ETH e 1000 TokenA ao pool como liquidez inicial. Neste momento, 1 ETH é igual a 100 TokenA, e o produto constante das duas quantidades de ativos é 101000=10000( xy=10000,x=100y).

Neste momento, se o preço de 1 ETH aumentar para 200 TokenA, podemos converter: x*y=10000, x=200y, calculando assim x=7.071, y=1414.21.

Neste momento, a piscina de liquidez mudou de 10 ETH e 1000 TokenA iniciais para: 7.071 ETH e 1414.21 TokenA.

Encontrou o problema?

Neste momento, se eu resgatar todos os ativos, receberei 7.071 ETH e 1414.21 TokenA. O valor real calculado usando TokenA é 7.071200+1414.21=2828.41. Se calculado com base nos 10 ETH iniciais e 1000 TokenA , o preço atual deve ser 10200+1000=3000TokenA.

A diferença nesta parte da renda (3000-2828.41=171.59TokenA) é uma perda impermanente.

As perdas impermanentes ocorrem porque, sob o mecanismo de criador de mercado automático das bolsas descentralizadas, os provedores de liquidez ajustam os fundos com base nas flutuações de preços, resultando em perdas de capital e retornos perdidos.

Como atuam tanto como compradores quanto como vendedores, são obrigados a aumentar a quantidade de ativos que possuem quando os preços caem e a diminuir a quantidade de ativos que possuem quando os preços sobem, resultando em perdas.

Claro, você também pode escolher a cobertura e gerenciar riscos abrindo contratos curtos/longos em ETH.

Para motivar os usuários a atuar como LPs para fornecer liquidez e incentivá-los a suportar a volatilidade de preços, o Token LP surgiu. Esta é uma recompensa para os provedores de liquidez, que podem obter uma certa porcentagem da taxa de transação para cada transação (UniswapV1, os traders pagam 0,3% na transação, que pertence ao provedor de liquidez). Ao mesmo tempo, também serve como um certificado para o LP retirar a liquidez adicionada por si próprio.

Outro conceito é o deslizamento de negociação, amigos que frequentemente fazem negociações na DEX certamente estarão familiarizados com isso. Como um sistema de negociação impulsionado pela liquidez, a bela equação de produto constante do AMM é uma curva suave, e o preço muda o tempo todo de acordo com a relação entre oferta e demanda.

Se você negociar um grande número de Tokens neste momento, ocorrerá deslizamento, e haverá uma certa diferença entre o preço esperado e o preço que realmente obterá do pool. Em outras palavras, haverá um intervalo entre o preço desejado e o preço da transação.

Uniswap V2: Adaptação, Oracle, Empréstimo relâmpago

Uniswap V1 suporta apenas transações entre pares de negociação ERC-20/ETH. Em essência, ele usa ETH como uma moeda intermediária de transição para trocar entre Tokens ERC-20. Embora o caminho da transação seja simples, ele cria exposição ao risco de ETH para os provedores de LP. Exportação, perda impermanente e riscos de deslizamento.

No Uniswap V2, ele ainda é baseado no mecanismo "constant product market maker", mas a atualização do V2 trouxe melhorias de eficiência, incluindo: suporte a quaisquer dois pares de Token ERC-20 para negociação, o que significa que qualquer ERC20 pode ser criado - pares ERC20 sem a necessidade de emparelhar pelo caminho de transição do ETH.

Não entrarei em detalhes sobre este ponto. A atualização do V2 inclui muitos aspectos. Há dois pontos mais importantes: melhorar o price.Oracle, accomplishflash loan.

Melhorias no Oráculo de Preços

No processo da Uniswap V1, o preço calculado dividindo os fundos de reserva dos dois ativos no pool não é seguro se usado como uma previsão de preço on-chain, pois pode ser facilmente manipulado.

Um dos propósitos desta atualização V2 é aumentar o custo e a dificuldade da manipulação de preços。

Na V1, supondo que outros contratos usem o preço atual do ETH-DAI para liquidar derivativos, um atacante que manipula o preço medido pode comprar ETH do par ETH-DAI, disparar a liquidação do contrato derivativo a um preço inflacionado e, em seguida, o ETH é vendido de volta ao par, trazendo sua negociação de volta ao seu verdadeiro preço. Neste caso, as transações podem até ocorrer como transações atômicas, ou com mineradores controlando a ordem das transações dentro de um bloco.

No V2, para determinar o equilíbrio de preços de mercado, o preço é atualizado uma vez por bloco, e o preço de troca de token é determinado antes do próximo bloco, ou seja, o preço de mercado do token é baseado na última transação no bloco anterior.

Nesta atualização, também é fornecido um novo dado de previsão de preço: Preço médio ponderado no tempo (TWAP). Acumular os preços relativos de dois ativos no início de cada bloco permite que outros contratos no Ethereum estimem o preço médio ponderado no tempo de dois ativos ao longo de qualquer intervalo de tempo.

Mais especificamente, no Uniswap V2, o preço é acumulado rastreando a soma cumulativa do preço quando alguém interage com o contrato no início de cada bloco. Com base no carimbo de data/hora do bloco, cada preço é ponderado pela quantidade de tempo desde que o bloco anterior foi atualizado. Isso significa que o valor do acumulador em qualquer momento dado (após ser atualizado) deve ser a soma dos preços spot para cada segundo na história do contrato.

Os usuários do oráculo podem escolher quando começar e terminar este período, o custo para os atacantes manipularem o TWAP será maior e o preço é relativamente difícil de manipular.

Realize empréstimo flash

O empréstimo Flash é uma inovação absoluta em comparação com as finanças tradicionais. Afinal, as transações reais não podem ser revertidas como na blockchain.

Flash Swaps empréstimos flash foram introduzidos na V2. Os usuários são livres para emprestar ativos para o pool e usá-los em outros lugares na cadeia, apenas devolvendo os ativos e pagando juros correspondentes no final da transação (pagamento na mesma transação atômica). Se o dinheiro não for devolvido normalmente, a transação será revertida.

Na verdade, permite que qualquer pessoa empreste rapidamente qualquer ativo armazenado na piscina Uniswap. Na V1, os usuários não estão autorizados a receber e usar o ativo antes de pagar por ele. Ao usar um ativo A para comprar um ativo B, o ativo A precisa ser enviado para o contrato antes que o ativo B possa ser obtido.

Existem alguns outros pontos atualizados:Incluindo Uniswap V2, que ajustou o novo framework de contrato, usando um formato binário de ponto fixo simples para codificar e processar preços (precisão), atualização de taxas de protocolo e suporte a meta transações para as cotas da pool emitidas, etc.

Uniswap V3: Melhoria da eficiência de capital

Antecedentes: Uniswap V2 tem problemas de liquidez. De acordo com a introdução ao mecanismo AMM acima, podemos ver que em V1 e V2, a liquidez da pool é realmente distribuída na área [0, +∞]. Em outras palavras, qualquer preço é permitido na pool V2. As transações ocorrem (consulte a curva suave da função inversa no produto constante AMM).

Isso parece ser algo bom à primeira vista. A faixa de negociação é muito grande, mas, na verdade, não há demanda suficiente para pares de negociação com diferentes volatilidades em suas faixas de preço, o que resulta em uma séria falta de liquidez, exceto para algumas faixas de negociação, baixa utilização de ativos.

Como você pode imaginar, é inútil e desperdiçado fornecer liquidez a um preço tão distante do intervalo de preços que o preço pode nunca atingir esse ponto.

liquidez concentrada

Neste caso, para melhorar a liquidez financeira, o Uniswap V3 introduziu o conceito de liquidez concentrada. Ou seja:

Os provedores de liquidez (LPs) são livres para escolher fornecer liquidez em uma determinada faixa de preço, isso pode fornecer uma melhor liquidez e operar dentro de uma faixa de eficiência de capital alta. Ao mesmo tempo, em termos de aplicação, também é possível fazer diferentes configurações para pools de ativos com volatilidade de preço diferente.

Cada pequena faixa de preço no V3 pode ser entendida como um V2 em operação. Durante a transação, o preço se moverá suavemente ao longo da curva. Quando o preço atinge uma determinada seção do V2, ele atinge o ponto de intervalo do intervalo de preço do V3. Neste momento, o ponto de preço deslizará para o próximo intervalo de preço.

Depois de entender o conceito acima, podemos conhecer os novos substantivos - O núcleo do V3 são os Ticks.

Ticks, ticks, são os menores montantes incrementais pelos quais um título pode ser negociado. No V3, dividindo o intervalo de preços de [0, +∞] em inúmeros Ticks refinados, restrições nos pontos finais superiores e inferiores de cada intervalo são implementadas.

A liquidez é agregada por meio do controle de granularidade. A faixa de preço inteira no V3 é calibrada por Ticks discretos e distribuídos de forma uniforme. Cada Tick tem um índice e preço correspondente, e cada Tick terá sua própria profundidade de liquidez.

Os princípios matemáticos do Uniswap V3 mudaram, embora seja semelhante à camada subjacente do V2:

L=xy sob o sinal de raiz

L é chamada de quantidade de liquidez, e a liquidez no pool é a combinação das quantidades dos dois ativos Token. Da mesma forma, o produto das quantidades dos dois tokens é K, mas como cada Tick tem profundidades de liquidez diferentes, as fórmulas equivalentes para diferentes profundidades já não são as mesmas.

Não entrarei em detalhes sobre os princípios matemáticos. Abaixo está um artigo de Atis Elsts sobre os princípios matemáticos do V3. Amigos interessados podem lê-lo por si mesmos.

No Uniswap V2, ainda existe uma taxa de transação padrão de 0,3%, enquanto no Uniswap V2V3 são fornecidos 3 níveis de taxa diferentes devido a diferentes granularidades, sendo 0,05%, 0,3% e 1% respectivamente. Neste momento, os LPs podem concentrar sua eficiência de capital nas faixas mais negociadas para obter retornos máximos.

Além disso, o V3 mais uma vez otimizou o oráculo com base no V2. Ele não armazena mais apenas uma variável de acumulação de preço, mas armazena um conjunto de variáveis, o que pode estender a vida útil dos dados, reduzir as taxas de gás e economizar custos.

Uniswap V4: DEX Personalizável

O Uniswap V4 é baseado no modelo de liquidez centralizada do Uniswap V3, permitindo que qualquer pessoa implante novas pools de liquidez centralizadas no Uniswap com funcionalidades personalizadas, tornando-se assim uma plataforma DEX eficiente e personalizável.

No V4, o ponto central é o contrato Hooks, a visão é permitir que qualquer pessoa tome essas decisões de compensação introduzindo "hooks".

Para cada pool, o criador pode definir um 'contrato Hooks' que executa lógica em pontos chave no ciclo de chamadas. Esses Hooks também gerenciam as taxas de câmbio da pool e as taxas de saque cobradas dos provedores de liquidez.

Ganchos & Piscinas Personalizadas

Hooks são um conjunto de contratos desenvolvidos por terceiros ou funcionários da Uniswap. Ao criar um pool, o pool pode escolher vincular um hook. Então, em uma etapa específica da transação, o pool chamará automaticamente o contrato de hook vinculado a ele. O contrato está em pontos-chave de chamada no ciclo de vida para implementar a lógica.

Em outras palavras, um hook é um contrato externamente implantado que executa alguma lógica definida pelo desenvolvedor em um ponto especificado na execução do pool. Esses hooks permitem que os integradores criem pools de liquidez centralizadas com execução flexível e personalizável. Os hooks podem modificar os parâmetros do pool ou adicionar novos recursos e funcionalidades.

Cada pool de liquidez Uniswap tem um ciclo de vida: Durante o ciclo de vida de uma pool de liquidez, várias coisas acontecem, incluindo: a pool é criada com uma camada de taxa padrão, a liquidez é adicionada, removida ou readaptada, e os usuários também podem trocar Tokens etc. No Uniswap v3, esses eventos do ciclo de vida estão intimamente ligados e executados em uma ordem muito estrita.

Mas para criar espaço para liquidez personalizável no Uniswap V4. O contrato Hooks cria um método de introdução de código para os implementadores de pools de mineração realizarem operações especificadas em pontos-chave no ciclo de vida da pool de mineração, como antes e depois das trocas, ou antes e depois das alterações na posição de LP.

Em resumo, Hooks são plugins para personalizar como pools, swaps, taxas e posições LP interagem, por meio de contratos de hooks. Os desenvolvedores podem inovar em cima da liquidez e segurança do protocolo Uniswap, criando pools AMM personalizados por meio de hooks integrados com contratos inteligentes v4.

Funcionalidades de exemplo que podem ser implementadas por meio de contratos de hook incluem:

  • Execução de grandes ordens via TWAMM ao longo do tempo;
  • Uma ordem de limite de preço on-chain executada a um preço especificado;
  • Taxas dinâmicas que mudam com a volatilidade;
  • Mecanismo de alocação de MEV internalizado para provedores de liquidez;
  • Implementar oráculos de mediana, truncamento ou outros personalizados.

A lógica central do Uniswap V4 é a mesma que a V3 e não é atualizável. Visto que cada pool de mineração é agora definida por mais do que apenas tokens e níveis de taxa, várias pools de mineração podem ser construídas a partir disso. E enquanto cada pool pode usar seu próprio contrato inteligente de gancho, os ganchos são restritos a permissões específicas determinadas quando a pool é criada.

Também houve algumas mudanças arquiteturais no V4, como a Contabilidade Flash (conta instantânea) que pode reduzir significativamente as taxas de gás. Essa funcionalidade está incluída no EIP-1153, que introduz armazenamento “transitório”, e será implementada após a atualização de Cancun (Ethereum Cancun).

Além disso, a versão V4 também usa o modo singleton (salva todos os estados do pool em um contrato), contabilidade relâmpago (garante a solvência do pool), restaura o suporte para ETH nativo, suporta tokens ERC-1155 e adiciona mecanismos de governança Aguarde melhoria.

UniswapX: Reforçando a concorrência

UniswapX é um novo protocolo sem permissão, de código aberto (GPL), baseado em leilões para negociação em AMMs e outras fontes de liquidez.

O protocolo irá melhorar a funcionalidade de troca em várias áreas, incluindo:

  • Aumentar os preços pela agregação de fontes de liquidez
  • Sem troca de gás
  • Prevenir MEV (Valor Máximo de Extração)
  • Sem taxas para transações falhadas
  • Nos próximos meses, UniswapX se expandirá para trocas sem gás entre cadeias.

Agregação de próxima geração de próxima geração

Antecedentes: As transações on-chain continuam a inovar, levando a uma proliferação de pools de liquidez e novas camadas de taxas, L2 e mais protocolos on-chain também dispersarão a liquidez.

Solução: UniswapX tem como objetivo resolver esse problema por meio de uma rede aberta que terceiriza a complexidade de roteamento para terceiros que precisam competir para preencher transações usando liquidez on-chain, como pools AMM ou seus próprios inventários privados.

Com o UniswapX, os traders poderão usar a interface Uniswap sem se preocupar se estão obtendo o melhor preço. As transações dos traders sempre serão registradas e liquidadas de forma transparente na cadeia. Todas as ordens são alimentadas pelo Roteador de Pedidos Inteligente Uniswap, que obriga terceiros a competir com o Uniswap V1, V2, V3 e, após o lançamento, V4.

essencialmente, UniswapX fortalece o mecanismo de competição e otimiza o deslizamento de preço de cada pool de ativos por meio da seleção de roteamento de terceiros.

Além disso, UniswapX também lançou novas tentativas:

Sem Transação de Gás, não há cobrança por falha. O trader assina uma ordem única fora da cadeia, que é então enviada para a cadeia por um terceiro que paga o Gás em nome do trader. O terceiro inclui a taxa de Gás no preço da transação, mas pode competir pelo melhor preço executando múltiplas ordens em lotes e reduzir os custos da transação.

Proteção MEV, devolvendo o MEV originalmente obtido através de negociação de arbitragem para os comerciantes a um preço melhor. O UniswapX ajuda os usuários a evitar formas mais explícitas de retirada de MEV: ordens executadas usando ativos privados de terceiros não podem ser "sanduíche" e terceiros são incentivados a usar retransmissores de transações privadas ao rotear ordens para pools de liquidez on-chain.

A próxima versão cross-chain do UniswapX combinará a troca e a ponte em uma operação contínua. Usando o UniswapX cross-chain, os trocadores poderão trocar entre cadeias em segundos e podem esperar pelo progresso.

O tema principal da Uniswap: iteração

A lógica interna da iteração do Uniswap da V1 para a V4, bem como o lançamento do protocolo UniswapX, é a inovação funcional da DEX (AMM).

V1 implementou inicialmente o AMM no campo da criptografia, V2 reduziu a exposição ao risco do ETH e lançou um oráculo de preços mais difícil de manipular, V3 resolveu o problema da baixa eficiência de capital por meio de liquidez centralizada, V4 implementou DEX personalizável, e o protocolo UniswapX foi fortalecido por meio do mecanismo de leilão. A competitividade dos agregadores de terceiros possibilita a otimização do deslizamento de preço.

Podemos ver que a Uniswap está inovando a cada passo do caminho - reduzindo os custos de empréstimos, otimizando a experiência do usuário, fortalecendo a conscientização da concorrência e adotando tecnologias emergentes. Essa atualização iterativa é a base para um bom protocolo durar para sempre.

Aviso legal:

  1. Este artigo é reproduzido a partir de[Ver a sutileza em detalhes - ensaios diversos]. Todos os direitos autorais pertencem ao autor original [Discussão sobre Arrow]. Se houver objeções a este reenvio, entre em contato com o Gate Learnequipe e eles lidarão com isso prontamente.
  2. Aviso de responsabilidade: As visões e opiniões expressas neste artigo são exclusivamente do autor e não constituem nenhum conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe Gate Learn. A menos que mencionado, copiar, distribuir ou plagiar os artigos traduzidos é proibido.
Comece agora
Registe-se e ganhe um cupão de
100 USD
!