Liquidez no Uniswap
A arquitetura de design do protocolo Uniswap é diferente do modelo nas tradicionais trocas de ativos digitais. A maioria das bolsas tradicionais mantém uma carteira de pedidos e a utiliza para combinar compradores e vendedores de um determinado ativo. E o Uniswap utiliza **reservas de liquidez** para realizar a transação de ativos digitais no acordo.
As reservas de liquidez para contratos comerciais são fornecidas por fornecedores de liquidez na rede. Esses provedores de liquidez depositam tokens ETH e ERC20 equivalentes em contratos específicos de negociação de tokens ERC20. O primeiro provedor de liquidez a fornecer liquidez a um contrato de câmbio definirá primeiro a taxa de câmbio entre a ETH e o token ERC20 correspondente nesse contrato de câmbio. Os provedores de liquidez definem essa taxa de câmbio depositando o que acreditam ser o equivalente ao ETH e ao token ERC20 garantido pelo contrato. Se a taxa de câmbio definida pelo provedor de liquidez for inconsistente com o mercado mais amplo de câmbio de criptomoedas, os negociadores de arbitragem conduzirão a taxa de câmbio entre os tokens ETH e ERC20 para o que o mercado acredita ser a taxa de câmbio correta. Portanto, todos os fornecedores de liquidez subsequentes utilizarão a taxa de câmbio quando depositarem activos para depositar liquidez.
O Uniswap também usa os chamados **"tokens de liquidez" (tokens de liquidez), que são compatíveis com ERC20. Esses tokens podem ser vistos como uma representação da contribuição do provedor de liquidez para o contrato comercial. A razão por trás da limitação do Uniswap de suportar apenas um token ERC20 por contrato comercial é encorajar os provedores de liquidez a reunirem seus ativos de liquidez em uma única reserva**. O Uniswap rastreia a proporção relativa de cada provedor de liquidez que contribui para a reserva total por meio da cunhagem de tokens de liquidez. Os provedores de liquidez podem queimar seus tokens de liquidez no momento de sua escolha para que possam retirar uma parte proporcional de seus tokens ETH e ERC20 do contrato de câmbio.
Os provedores de liquidez podem optar por vender ou transferir seus tokens de liquidez sem remover a liquidez do contrato de câmbio. No entanto, os tokens de liquidez do Uniswap são estritamente atribuídos a um contrato de câmbio. Não existe um único ativo digital nativo associado ao protocolo Uniswap. Os provedores de liquidez também podem depositar liquidez em contratos comerciais chamando a função addLiquidity(). Como recompensa pelo fornecimento de liquidez, os provedores de liquidez receberão uma certa porcentagem das taxas de transação quando a transação for executada.
Negociação no Uniswap: negociação ETH ⇄ ERC20 Um tipo de transação que pode ser realizada no protocolo Uniswap é a troca de ETH por qualquer token ERC20 específico. Conforme mencionado acima, a taxa de câmbio entre ETH e um determinado token ERC20 é baseada no relativo tamanho de cada pool de liquidez de ativos no contrato de negociação. A taxa de câmbio é baseada no invariante do Uniswap: pool de tokens do pool ETH = invariante (invariante). Durante a execução de qualquer transação no protocolo Uniswap, um invariante (invariante) permanece inalterado. Além disso, os invariantes só mudam quando a liquidez dos contratos negociados aumenta ou diminui.
Exemplo ETH ⇄ BAT: Bob deseja iniciar uma transação para trocar 1 ETH pelo token ERC20 BAT. Bob usará um contrato de troca existente no protocolo Uniswap para executar esta transação. O provedor de liquidez depositou uma certa quantia de ETH e BAT no contrato de câmbio, neste exemplo, digamos 10 ETH e 500 BAT. O invariante subjacente é definido como: pool ETH *pool BAT = invariante (invariante), ou seja:
Conjunto de ETH = 10 BAT
piscina = 500
Invariantes = 10 * 500 = 5.000
Bob inicia sua transação enviando 1 ETH para o pool de ETH do contrato de transação e deduz 0,3% como taxa para provedores de liquidez com base nisso. Os 0,997 ETH restantes foram adicionados ao pool de ETH. Em seguida, divida o invariante pelo novo total de ETH para determinar o tamanho mais recente do pool BAT. Os tokens BAT restantes são então enviados ao comprador, neste caso Bob. Aquilo é:
Conjunto de ETH = 10 BAT
piscina = 500
Invariantes = 10 * 500 = 5.000 Bob
inicia sua transação enviando 1 ETH para o pool de ETH do contrato de transação e deduz 0,3% como taxa para provedores de liquidez com base nisso. Os 0,997 ETH restantes foram adicionados ao pool de ETH. Em seguida, divida o invariante pelo novo total de ETH para determinar o tamanho mais recente do pool BAT. Os tokens BAT restantes são então enviados ao comprador, neste caso Bob. Aquilo é:
Bob envia: 1 ETH
Taxa de manuseio: 0,003 ETH
Conjunto ETH = 10 + (1 – 0,003) = 10,997
Conjunto BAT = 5000/10,997 = 454,67
Bob recebe: 500 – 454,67 = 45,33 BAT
A taxa de manuseio paga ao provedor de liquidez foi deduzida quando Bob iniciou a transação e agora essa taxa de manuseio é adicionada ao pool de liquidez (o que significa que a invariante aumentará). Isto funciona como um pagamento aos fornecedores de liquidez, que estes podem cobrar quando retiram as suas contribuições de liquidez do mercado. Como esta taxa é adicionada novamente após o cálculo do preço, à medida que cada transação no contrato de câmbio é executada, o invariante aumenta gradualmente, tornando o ato de depositar liquidez num contrato de câmbio importante para a liquidez. É uma atividade lucrativa para os fornecedores de sexo. Neste momento:
Conjunto ETH = 10,997 + 0,003 = 11
Conjunto BAT = 454,67 novos
invariante = 5.001,37
Nesta transação, Bob obtém BAT a uma taxa de câmbio de 45,33 BAT/ETH.
Entrada: 1 ETH
Saída: 45,33 BAT
Taxa de câmbio = 45,33 BAT/ETH
Negociação no Uniswap: ERC20 ⇄ Negociação ERC20
Outro tipo de transação que pode ser realizada no protocolo Uniswap é a troca de um token ERC20 por outro token ERC20. Como o ETH é usado como um par de negociação público para todos os tokens ERC20, o Uniswap usa o ETH como um ativo intermediário para transações diretas entre ERC20 e ERC20. Por exemplo, Uniswap pode converter tokens BAT em ETH em um determinado contrato de transação e, em seguida, converter esta parte de ETH em OMG em outro contrato de transação, todos concluídos em uma transação, de modo que quaisquer duas trocas entre tokens ERC20 sejam possíveis.
Esta fórmula funciona de forma muito semelhante a um mercado normal, pois quanto mais tokens você compra, maior será a taxa de câmbio marginal que você terá que pagar para comprar mais uma unidade de tokens.


