Recentemente estou fazendo um resumo dos métodos de avaliação da faixa DeFi. Depois de estudar alguns casos, o Uniswap é um representante típico em termos de influência e lógica iterativa.
A lógica interna da iteração do Uniswap de V1 a V4, bem como o lançamento do protocolo UniswapX, é inovação funcional e otimização de mecanismo para transações DEX.
V1 inicialmente implementou AMM no campo de criptografia, V2 reduziu a exposição ao risco de ETH e lançou um oráculo de preços mais difícil de manipular, V3 resolveu o problema de baixa eficiência de capital por meio de liquidez centralizada, V4 implementou DEX personalizável e o protocolo UniswapX foi fortalecido por meio de o mecanismo de leilão A competitividade dos agregadores terceiros permite a otimização da derrapagem de preços.
História de desenvolvimento do Uniswap
Não há necessidade de entrar em detalhes sobre o status e a influência do Uniswap. De acordo com os dados em tempo real do Dune, o Uniswap ainda é o DEX com maior participação de mercado.
Como DEX líder, não existe há muito tempo, mas foi repetido várias vezes. Vamos dar uma olhada no processo de desenvolvimento:
Em junho de 2017, Vitalik publicou o artigo On Path Independence;
Em novembro de 2018, foi lançado o Uniswap V1: 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, foi lançado o Uniswap V3: 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 personalização do contrato Hooks foi introduzida para evitar perda de valor;
Em julho de 2023, foi lançado o Uniswap X: 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 “On Path Independence” em sua página pessoal, no qual o formador de mercado automatizado (AMM) foi introduzido pela primeira vez no campo da criptografia, que é um método de negociação diferente do CEX. É claro que esta abordagem tem sido discutida há muito tempo em círculos não criptográficos (como os círculos financeiros tradicionais).
Sabemos que no mercado de ações, no mercado futuro ou no CEX existente, a maioria das transações são realizadas no Order Book (modo livro de pedidos). Os formadores de mercado (como corretores e bolsas centralizadas) combinam as ordens de compra dos compradores e as ordens de venda dos vendedores quando os preços coincidem, concluindo assim as transações entre compradores e vendedores.
No entanto, foram encontrados problemas no caso da descentralização. A razão é que no ambiente descentralizado do DEX (qualquer pessoa pode participar na criação do mercado), é difícil combinar as transações no modo de livro de ordens para fornecer liquidez e taxa de transação correspondentes. e A experiência é relativamente fraca e, sem liquidez suficiente, é difícil igualar a eficácia operacional da CEX.
Neste artigo de Vitalik, um novo conceito é apresentado ao mercado de criptografia: Automatic Market Maker.
Neste conceito, a precificação de ativos é feita por meio de algoritmos de precificação, e não por meio do modelo tradicional de carteira de pedidos. No modelo AMM, não há necessidade de cotações do formador de mercado ou de correspondência de sistemas, e os traders podem utilizar diretamente a liquidez do pool para realizar a troca de ativos.
TokenA e TokenB formam um relacionamento constante de produto:
tokenA_balance(p) *tokenB_balance(p)=K (K permanece inalterado)
Este é um sistema de negociação orientado à liquidez denominado Constant Product Market Maker (CPMM).
Sob esta abordagem, um preço pode ser dado definindo qualquer relação (monotônica) entre o tokenA e o tokenB e calculando seus derivados a qualquer momento, formando assim um criador de mercado independente do caminho.
Três partes: LP, comerciantes, arbitradores
No mecanismo de criação de mercado da AMM, não existe uma contraparte específica semelhante ao modelo da carteira de encomendas.O valor real do activo é determinado pela fórmula matemática de um produto constante.Em certa medida, pode ser comparado com a contraparte. sendo um contrato inteligente, que pode realizar a transação do ativo.
Alguém precisa fornecer liquidez em um contrato inteligente, e o provedor de liquidez é o LP (Provedor de Liquidez). O LP fornece liquidez para transações injetando ativos nos contratos inteligentes do pool, obtendo assim receitas de taxas de transação. Depois que o LP construir o pool de liquidez inicial, os traders poderão trocar Tokens por meio do pool, e os arbitradores tomarão a iniciativa de manter os preços dos ativos consistentes com os preços de mercado por meio 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 da ETH. Para transações entre ETH e ERC-20Token, qualquer pessoa pode adicionar tokens para negociar com ETH nativo, que é essencialmente um intermediário de negociação de ativos.
O que acontece em um único pool se quisermos negociar?
Suponha que um ETH valha atualmente 100TokenA, e um pool ETH/TokenA consiste em 10 ETH e 1000 TokenA.
Neste momento, o valor de 10 ETH e 1.000 TokenA é igual a 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 passou a ser 666,67, então troquei 5 ETH por 333,33 TokenA.
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 que, se o preço em um único pool mudar significativamente em relação ao de outros mercados de negociação, os arbitradores entrarão imediatamente em enxame até que comam a diferença de preço. Afinal, o mecanismo AMM só pode gerar preços de transacção, mas não pode descobrir preços de mercado, pelo que o papel dos arbitradores é muito importante.
Perdas impermanentes, LP Token, derrapagem de transação
Perdas impermanentes ocorrem quando a relação de preços dos tokens depositados muda em comparação com quando eles foram depositados no pool. Quanto maior a mudança, maior a perda da impermanência.
Agora, como LP, continuaremos a dar um exemplo:
Fórmula central UniswapV1: x∗y=k
Agora, como provedor de liquidez, continuamos a adicionar 10 ETH e 1000 TokenA ao pool como liquidez inicial. Neste momento, 1 ETH é igual a 100 TokenA.
O produto constante das duas quantidades de ativos é 10*1000=10000(x*y=10000,x=100y).
Neste momento, se o preço de 1 ETH aumentar para 200 TokenA,
Podemos converter:
x*y=10000,x=200y,
Assim, são calculados x=7,071 e y=1414,21.
Neste momento, o pool de liquidez mudou dos 10 ETH iniciais e 1000 TokenA para: 7.071 ETH e 1414.21 TokenA.
Encontrou o problema?
Neste momento, se eu resgatar todos os ativos, receberei 7.071 ETH e 1.414,21 TokenA. O valor real calculado em TokenA é.
7,071*200+1414,21=2828,41,
E se calculado com base nos 10 ETH e 1000 TokenA iniciais, o preço atual deverá ser
10*200+1000=3000TokenA。
A diferença nesta parte da receita (3.000-2.828,41 = 171,59TokenA) é a perda impermanente.
As perdas impermanentes ocorrem porque, no âmbito do mecanismo automático de criação de mercado das bolsas descentralizadas, os fornecedores de liquidez ajustam os fundos com base nas flutuações de preços, resultando em perdas de capital e retornos perdidos.
Dado que actuam tanto como compradores como vendedores, são forçados a aumentar a quantidade de activos que detêm quando os preços caem e a diminuir a quantidade de activos que detêm quando os preços sobem, resultando em perdas. Claro, você também pode escolher hedge e gerenciar riscos abrindo contratos curtos/comprados em ETH.
A fim de motivar os usuários a agirem como LPs para fornecer liquidez e incentivá-los a suportar a volatilidade dos preços, surgiu o LP Token. Trata-se de uma recompensa para os provedores de liquidez, que podem obter uma determinada porcentagem da taxa de movimentação de cada transação (UniswapV1, os traders pagam 0,3% na transação, que pertence ao provedor de liquidez). Ao mesmo tempo, serve também como certificado para que o LP retire a liquidez por si acrescentada.
Outro conceito é o deslizamento de negociação, com o qual amigos que costumam negociar DEX certamente estarão familiarizados. Como um sistema de negociação orientado para a liquidez, a bela equação de produto constante da AMM é uma curva suave, e o preço muda em todos os momentos de acordo com a relação entre oferta e procura.
Se você negociar um grande número de Tokens neste momento, ocorrerá uma derrapagem e haverá uma certa diferença entre o preço esperado e o preço que você realmente obtém do pool. Em outras palavras, haverá uma lacuna entre o preço desejado e o preço da transação.
Uniswap V2: Adaptação, Oracle, Empréstimo Flash
O Uniswap V1 suporta apenas transações entre pares de negociação ERC-20/ETH. Em essência, ele usa ETH como intermediário de moeda de transição para troca entre tokens ERC-20. Embora o caminho da transação seja simples, ele cria exposição ao risco de ETH para fornecedores de LP. , perdas impermanentes e riscos de derrapagem.
No Uniswap V2, ele ainda é baseado no mecanismo de "criador de mercado de produto constante", mas a atualização do V2 trouxe melhorias de eficiência, incluindo: suporte para quaisquer dois pares de tokens ERC-20 para negociação, o que significa que qualquer ERC20 pode ser criado - O ERC20 emparelha sem a necessidade de emparelhar através do caminho de transição da ETH.
Não entrarei em detalhes sobre este ponto. A atualização do V2 inclui muitos aspectos, e mais dois pontos importantes são: melhorar o oráculo de preços e realizar empréstimos instantâneos.
Melhorias no Price Oracle
No processo do Uniswap V1, o preço calculado pela divisão dos fundos de reserva dos dois ativos do pool não é seguro se usado como uma previsão de preço na rede porque pode ser facilmente manipulado.
Um dos objetivos desta atualização V2 é aumentar o custo e a dificuldade de manipulação de preços. Em V1, supondo que outros contratos usem o preço atual de ETH-DAI para liquidar derivativos, um invasor que manipula o preço medido pode comprar ETH do par ETH-DAI, acionar a liquidação do contrato de derivativo a um preço inflacionado e, em seguida, ETH é vendido de volta ao par, trazendo sua negociação de volta ao preço real. 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.
Na V2, para determinar o equilíbrio do preço de mercado, o preço é atualizado uma vez por bloco, e o preço de troca do token é determinado antes do próximo bloco, ou seja, o preço de mercado do token é baseado na última transação do bloco anterior.
Nesta atualização, também são fornecidos novos dados de previsão de preços: 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 em qualquer intervalo de tempo.
Mais especificamente, no Uniswap V2, o preço é acumulado rastreando a soma acumulada 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 um determinado momento (após atualização) deve ser a soma dos preços à vista de cada segundo do histórico do contrato.
Os usuários do oráculo podem escolher quando iniciar e terminar esse período, o custo para os invasores manipularem o TWAP será maior e o preço será relativamente difícil de manipular.
Realize um empréstimo rápido
O empréstimo instantâneo é uma inovação absoluta em comparação com as finanças tradicionais. Afinal, as transações reais não podem ser revertidas como no blockchain. Os empréstimos flash Flash Swaps foram introduzidos na V2.
Os usuários são livres para emprestar ativos ao pool e utilizá-los em outro lugar da cadeia, apenas para devolver os ativos e pagar os juros correspondentes ao final da transação (pagamento na mesma transação atômica), caso o pagamento não seja devolvido normalmente. a transação será revertida.
Na verdade, permite que qualquer pessoa empreste rapidamente qualquer ativo armazenado no pool Uniswap. Em V1, os usuários não têm permissão para receber e usar o ativo antes de pagar por ele. Ao usar o ativo A para comprar o ativo B, o ativo A precisa ser enviado ao contrato antes que o ativo B possa ser obtido.
Existem também alguns outros pontos de atualização: incluindo Uniswap V2 ajustando a nova estrutura de contrato, usando um formato binário simples de ponto fixo para codificar e processar preços (precisão), atualizando taxas de protocolo, suportando meta transações para ações de pool cunhadas, 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 do pool está realmente distribuída na área [0, +∞], ou seja, qualquer preço é permitido no pool V2. ocorrem transações (consulte a curva suave da função inversa no produto constante AMM).
À primeira vista, isso é bom. A faixa de negociação é muito grande, mas na verdade não há demanda suficiente para pares de negociação com volatilidades diferentes em suas faixas de preço, o que resulta em grave falta de liquidez, exceto para algumas faixas de negociação. ., baixa utilização de ativos.
Como você pode imaginar, é inútil e um desperdício fornecer liquidez a um preço tão distante da faixa de preço que o preço talvez nunca chegue a 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) podem escolher livremente fornecer liquidez em uma determinada faixa de preço. Isso pode fornecer melhor liquidez e operar em uma faixa de alta eficiência de capital, podendo também ser utilizado em pools de ativos com preços diferentes. volatilidade têm configurações diferentes.
Cada pequena faixa de preço no V3 pode ser entendida como um V2 em ação. Durante a transação, o preço se moverá suavemente ao longo da curva. Quando o preço atingir uma determinada seção de V2, atingirá o ponto de intervalo do intervalo de preço de 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 o novo termo – o núcleo do V3 é Ticks.
Ticks, ticks, são os menores valores incrementais pelos quais um título pode ser negociado. Na V3, ao dividir a faixa de preço de [0, +∞] em incontáveis ticks refinados, são implementadas restrições nos limites superior e inferior de cada faixa. A liquidez é agregada através do controle de granularidade. Toda a faixa de preço no V3 é calibrada por Ticks discretos e distribuídos uniformemente. Cada Tick possui 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 da raiz
L é chamada de quantidade de liquidez, e a liquidez no pool é a combinação das duas quantidades de ativos Token. Da mesma forma, o produto das quantidades dos dois tokens é K, mas como cada Tick tem diferentes profundidades de liquidez, as fórmulas equivalentes para diferentes profundidades não são mais 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 da V3.
O Uniswap V2 ainda tem uma taxa de transação padrão de 0,3%, mas no V3, devido à granularidade diferente, são fornecidos três níveis de taxas diferentes, nomeadamente 0,05%, 0,3% e 1%. Neste momento, os LPs podem concentrar a sua eficiência de capital na faixa mais negociada para obter retornos máximos.
Além disso, o V3 otimizou mais uma vez o oráculo baseado no V2. Ele não armazena mais apenas uma variável de acumulação de preços, mas armazena um conjunto de variáveis, que podem 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 um novo pool de liquidez centralizado usando funções personalizadas no Uniswap, tornando-se assim uma plataforma DEX eficiente e personalizável.
Na V4, o ponto central é o contrato de ganchos, e a visão é permitir que qualquer pessoa tome essas decisões de compensação introduzindo “ganchos”. Para cada pool, o criador pode definir um “contrato de Hooks” que executa a lógica em pontos-chave do ciclo de vida da chamada.
Esses Ganchos também gerenciam as taxas de câmbio e de retirada do pool cobradas dos provedores de liquidez.
Ganchos e piscinas personalizadas
Ganchos são um conjunto de contratos desenvolvidos por terceiros ou funcionários do Uniswap. Ao criar um pool, o pool pode optar por vincular um gancho. Posteriormente, em um estágio específico da transação, o pool chamará automaticamente o contrato de gancho vinculado a ele. O contrato está em chamar pontos-chave do ciclo de vida para implementar a lógica.
Em outras palavras, um gancho é um contrato implantado externamente que executa alguma lógica definida pelo desenvolvedor em um ponto designado na execução do pool. Esses ganchos permitem que os integradores criem pools de liquidez centralizados com execução flexível e personalizável. Os ganchos podem modificar 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 um pool de liquidez, várias coisas acontecem, incluindo: o pool é criado com um nível de taxa padrão, a liquidez é adicionada, removida ou reajustada, e os usuários também podem trocar Tokens, etc. .
No Uniswap v3, esses eventos do ciclo de vida são fortemente acoplados 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 que os implantadores de pools de mineração executem operações específicas em pontos-chave do ciclo de vida do pool de mineração, como antes e depois das trocas, ou antes e depois das mudanças de posição do LP.
Resumindo, os ganchos são plug-ins para personalizar a forma como pools, swaps, taxas e posições LP interagem. Por meio de contratos de ganchos, os desenvolvedores podem inovar além da liquidez e da segurança do protocolo Uniswap, integrando-se aos contratos inteligentes v4 para criar. pools AMM personalizados.
Exemplos de funcionalidades que podem ser implementadas por meio de contratos de gancho incluem:
Execução de grandes ordens através do TWAMM durante um período de tempo; Ordens com limite de preço na cadeia executadas a preços específicos que mudam com a volatilidade;
A lógica central do Uniswap V4 é a mesma da V3 e não pode ser atualizada. Como cada pool agora é definido por mais do que apenas uma camada de token e taxas, uma ampla variedade de pools pode ser construída a partir disso. E embora cada pool possa usar seu próprio contrato inteligente de gancho, os ganchos são restritos a permissões específicas determinadas quando o pool é criado.
Existem também algumas mudanças arquitetônicas na V4, como Flash Accounting (conta instantânea) que podem reduzir significativamente as taxas de gás. Este recurso está incluído no EIP-1153, que introduz armazenamento “transitório”, e será implementado após a atualização do 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 melhorias.
UniswapX: Fortalecendo a Competição
UniswapX é um novo protocolo baseado em leilão, de código aberto (GPL) e sem permissão para negociação em AMMs e outras fontes de liquidez. O protocolo melhorará a funcionalidade das exchanges em vários aspectos, incluindo: Aumento de preços ao reunir fontes de liquidez Exchanges sem gás para evitar MEV (Valor Máximo de Extração) Falhas nas transações Sem taxas Nos próximos meses, o UniswapX se expandirá para exchanges cross-chain sem gás .
Agregação de próximo nível Agregação de próxima geração
Antecedentes: As transações em cadeia continuam a inovar, levando a uma proliferação de pools de liquidez. Novos níveis de taxas, L2 e mais protocolos em cadeia também dispersarão a liquidez. Solução: O UniswapX visa resolver esse problema por meio de uma rede aberta que terceiriza a complexidade do roteamento para terceiros que precisam competir para preencher transações usando liquidez na cadeia, como pools AMM ou seus próprios estoques privados.
Com o UniswapX, os traders poderão usar a interface do Uniswap sem se preocupar se estão obtendo o melhor preço. As transações dos traders serão sempre registradas de forma transparente e liquidadas na rede. Todos os pedidos são alimentados pelo Uniswap Smart Order Router, que força terceiros a competir com o Uniswap V1, V2, V3 e, no lançamento, V4.
Em essência, o UniswapX fortalece o mecanismo de concorrência e otimiza o deslizamento de preços de cada pool de ativos por meio da seleção de roteamento de terceiros.
Além disso, o UniswapX também lançou uma nova tentativa: transações sem gás, sem cobrança de taxas em caso de falha. O comerciante assina um pedido exclusivo fora da cadeia, que é então enviado na cadeia por um terceiro que paga o Gás em nome do comerciante. O terceiro inclui a taxa do Gás no preço da transação, mas pode competir pelo melhor preço. executar vários pedidos em lotes e reduzir os custos de transação. A proteção MEV devolve o MEV originalmente obtido por meio de transações de arbitragem aos traders 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 “ensanduichadas” e terceiros são incentivados a usar retransmissões de transações privadas ao encaminhar ordens para pools de liquidez na rede. A próxima versão cross-chain do UniswapX combinará troca e ponte em uma operação contínua. Usando o UniswapX de cadeia cruzada, os swappers poderão trocar entre cadeias em segundos e aguardar seu progresso.
O tema principal do Uniswap: iteração
A lógica interna da iteração do Uniswap de V1 a V4, bem como o lançamento do protocolo UniswapX, é a inovação funcional do DEX (AMM).
V1 inicialmente implementou AMM no campo de criptografia, V2 reduziu a exposição ao risco de ETH e lançou um oráculo de preços mais difícil de manipular, V3 resolveu o problema de baixa eficiência de capital por meio de liquidez centralizada, V4 implementou DEX personalizável e o protocolo UniswapX foi fortalecido por meio de o mecanismo de leilão A competitividade dos agregadores terceiros permite a otimização da derrapagem de preços.
Podemos ver que o Uniswap está inovando a cada passo do caminho – reduzindo os custos de empréstimos, otimizando a experiência do usuário, fortalecendo a consciência da concorrência e adotando tecnologias emergentes. Esta atualização iterativa é a base para um bom protocolo que dure para sempre.