O que é Uniswap e Como Funciona?
Página Inicial
Artigos
O que é Uniswap e Como Funciona?

O que é Uniswap e Como Funciona?

Intermediário
Publicado em Aug 24, 2020Atualizado em Dec 11, 2023
12m

TL;DR

Uniswap é um conjunto de programas de computador que são executados na blockchain Ethereum e permitem swaps (trocas) descentralizadas de tokens. Funciona com a ajuda de unicórnios (como ilustrado pelo logotipo).

Os traders podem trocar tokens Ethereum no Uniswap sem a necessidade de confiar seus fundos a outrem. Além disso, qualquer um pode emprestar suas criptomoedas a reservas especiais chamadas pools de liquidez. Os usuários que fornecem liquidez a essas pools recebem pagamentos de taxas como recompensa.

E como esses unicórnios mágicos fazem as conversões de tokens? O que você precisa para usar o Uniswap? É o que veremos neste artigo.


Introdução

As corretoras centralizadas têm sido o núcleo dos mercados de criptomoedas por muitos anos. Elas oferecem rápidas liquidações, alto volume de trading e liquidez em constante crescimento. No entanto, existe um mundo paralelo sendo construído na forma de protocolos trustless. Corretoras descentralizadas (DEX) não exigem intermediários ou custodiantes para facilitar o processo de trading. 

Devido às inerentes limitações da tecnologia blockchain, o desenvolvimento de DEXes capazes de competir com plataformas centralizadas tem sido um desafio. A maioria das DEX tem espaço para melhoras, tanto em termos de performance, quanto em experiência do usuário.

Muitos desenvolvedores têm trabalhado para desenvolver novas maneiras de construir uma corretora descentralizada. O Uniswap é um dos projetos pioneiros dessa proposta. A maneira como o Uniswap funciona pode ser um pouco mais difícil de entender quando comparada às DEXes mais tradicionais. No entanto, logo veremos que esse modelo proporciona alguns benefícios atraentes. 

Como resultado dessa inovação, o Uniswap se tornou um dos projetos de maior sucesso que faz parte do movimento de Finanças Descentralizadas (DeFi).

Vamos ver como funciona o Uniswap e como você pode trocar tokens (swap) com o simples uso de uma carteira Ethereum.


O que é Uniswap?

O Uniswap é um protocolo de corretora descentralizada construído na Ethereum. Mais especificamente, se trata de um automated liquidity protocol (protocolo de liquidez automatizado). Para efetuar trades, não há um livro de ordens e um participante centralizado também não é necessário. O Uniswap permite que os usuários façam trades sem intermediários, com um alto nível de descentralização e censorship-resistance.

O Uniswap é um software open-source. Você mesmo pode conferir os detalhes do software no GitHub do Uniswap.

Ok, mas como ocorrem trades sem um livro de ordens? Bem, o Uniswap funciona com um modelo que envolve a criação de pools de liquidez por usuários conhecidos como "liquidity providers" (provedores de liquidez). O sistema fornece um mecanismo de precificação descentralizado que, essencialmente, suaviza a profundidade do livro de ordens. Logo discutiremos o funcionamento desse sistema com mais detalhes. Por enquanto, tenha em mente que os usuários podem fazer swap (troca) de tokens ERC-20 sem dificuldades e sem a necessidade de um livro de ordens.

Como o protocolo do Uniswap é descentralizado, não existe um processo de listagem. Essencialmente, qualquer token ERC-20 pode ser lançado na plataforma, contanto que exista uma pool de liquidez disponível para os traders. Sendo assim, o Uniswap também não cobra nenhuma taxa de listagem. De certa forma, o Uniswap atua como um tipo de bem público.

O protocolo do Uniswap foi criado por Hayden Adams em 2018. Mas a tecnologia que inspirou sua implementação, foi criada pelo cofundador da Ethereum, Vitalik Buterin.


Como funciona o Uniswap?

O Uniswap deixa para trás a arquitetura tradicional do câmbio digital, pois não possui um livro de ordens. Ele funciona com um design denominado Constant Product Market Maker, que é uma variante do modelo Automated Market Maker (AMM).

Automated Market Makers (AMM) são contratos inteligentes que mantêm reservas de liquidez (liquidity pools) onde os traders podem efetuar seus trades. Essas reservas de liquidez são financiadas pelos provedores de liquidez (LP - Liquidity Providers). Qualquer pessoa pode ser um provedor de liquidez que deposita na pool, um valor equivalente a dois tokens diferentes. Em troca, os traders pagam uma taxa à pool. O valor de taxas é então distribuído aos provedores de liquidez, de acordo com suas participações na pool. Vamos conferir como funciona esse sistema com mais detalhes. 

Os provedores de liquidez "formam" o mercado (market makers) ao depositar um valor correspondente a dois tokens. Esse valor pode ser uma combinação de tokens ETH e ERC-20 ou dois tokens ERC-20. Esses pools são normalmente compostos de stablecoins como DAI, USDC ou USDT mas isso não é um requisito. Em troca, os provedores de liquidez recebem “liquidity tokens”, que representam seu valor de participação em toda a pool de liquidez. O usuário pode resgatar o valor correspondente desses tokens, de acordo a participação que eles representam na pool.

Então, vamos considerar a pool de liquidez ETH/USDT. Podemos chamar a parcela de ETH da pool de x e a parcela de USDT de y. O Uniswap considera essas duas quantidades e as multiplica para calcular a liquidez total na pool. Vamos chamar esse valor de k. A ideia central do Uniswap é que o valor de k deve permanecer constante. Ou seja, o valor total de liquidez na pool é constante. Sendo assim, a fórmula da liquidez total na pool será: 

x * y = k

E o que acontece quando alguém efetua um trade?

Digamos que Alice compre 1 ETH por 300 USDT usando a pool de liquidez ETH/USDT. Ao fazer isso, ela aumenta a parcela de USDT e diminui a parcela de ETH da pool. Efetivamente, isso significa que o preço do ETH irá subir. Por que? Após a transação, haverá menos ETH na pool, mas sabemos que o valor total de liquidez (k) permanece constante. Esse é o mecanismo responsável pela determinação do preço. Por fim, o preço pago por este ETH é baseado em quanto uma determinada operação de trade muda a relação entre x e y.

É importante ressaltar que este modelo não escala linearmente. Efetivamente, quanto maior a ordem, maior será a variação da proporção entre x e y. Isso significa que ordens de maior valor tornam-se exponencialmente mais caras em comparação a ordens menores, o que gera valores cada vez maiores de slippage. Isso também significa que quanto maior for uma pool de liquidez, mais fácil será para processar ordens de grande valor. Por que? Neste caso, a variação da relação entre x e y será menor.


Uniswap v3

A tecnologia por trás do Uniswap teve várias iterações até o momento. Se você já usou o Uniswap, provavelmente foi o Uniswap v2. No entanto, sempre surgem novas melhorias no sistema. Vamos avaliar as atualizações mais impactantes proporcionadas pelo Uniswap v3.


Eficiência de Capital

Uma das mudanças mais significativas oferecidas pelo Uniswap v3 está relacionada à eficiência de capital. Note que a maioria dos AMMs é muito ineficiente em termos de capital – ou seja, em determinados momentos, a maior parte dos fundos depositados neles não está sendo usada. Isso se deve a uma característica inerente a este modelo x * y = k discutido anteriormente. Simplificando, quanto mais liquidez houver na pool, maiores serão as ordens que o sistema poderá suportar, com uma faixa maior de preço.

No entanto, os provedores de liquidez (LPs) nessas pools fornecem essencialmente liquidez para uma curva de preço (faixa) entre 0 e infinito. Todo esse capital fica reservado para quando um dos ativos na pool for 5x-s, 10x-s, 100x-s.

Se isso acontecer, esses ativos ociosos garantem que ainda haja liquidez restante nessa parte da curva de preço. Ou seja, apenas uma pequena parte da liquidez da pool é responsável pela maior parte dos trades.

Como exemplo, o Uniswap tem atualmente cerca de 5 bi de dólares de liquidez bloqueados, enquanto apresenta apenas 1 bi de volume por dia. Você pode estar pensando que esta não é uma maneira muito interessante para o funcionamento do sistema. Aparentemente, a equipe do Uniswap concorda. O Uniswap v3 resolve este problema.

Os provedores de liquidez agora podem definir faixas de preços personalizadas para as quais desejam fornecer liquidez. Isso deve gerar uma liquidez mais concentrada na faixa de preço em que ocorre a maior parte das atividades de trading.

De certa forma, o Uniswap v3 é uma maneira rudimentar de criar um livro de ordens on-chain na Ethereum, onde os Market Makers podem optar por fornecer liquidez nas faixas de preço que estabeleceram. É importante notar que essa mudança favorece os Market Makers profissionais, em detrimento dos usuários de varejo. O diferencial dos AMMs é que qualquer pessoa pode fornecer liquidez e garantir que seus fundos sejam utilizados para um propósito.

No entanto, com essa camada adicional de complexidade, os LPs mais “preguiçosos” vão ganhar muito menos em taxas de trading do que os profissionais que podem otimizar sua estratégia constantemente. Ao mesmo tempo, não é difícil imaginar agregadores como o yearn.finance oferecendo aos LPs de varejo uma maneira de manter a competitividade neste ambiente.


Tokens LP do Uniswap como NFTs

Agora entendemos que cada posição de LP do Uniswap é única, pois cada depositante pode definir sua própria faixa de preço. Isso significa que as posições de LP do Uniswap não são mais fungíveis. Sendo assim, cada posição de LP agora é representada por um token não fungível (NFT).

Uma das vantagens de representar uma posição de LP do Uniswap com um token fungível era que ele poderia ser usado para outras funções do setor DeFi. Os tokens de LP do Uniswap v2 poderiam ser depositados em Aave ou MakerDAO como valor colateral (garantia). Este não é mais o caso com a versão v3, pois cada posição é única. No entanto, esse problema de composibilidade pode ser resolvido com novos tipos de produtos de derivativos.


Uniswap para layer 2

As taxas de transação na Ethereum dispararam no ano passado. Isso faz com que o uso do Uniswap seja economicamente inviável para muitos dos usuários.

O Uniswap v3 também será implementado em uma solução de escalabilidade layer 2 chamada "Optimistic Rollup". É uma boa maneira de proporcionar escalabilidade de contratos inteligentes e ao mesmo tempo obter segurança da rede Ethereum. Essa implantação deve provocar um grande aumento na taxa de transferência de transações, além de proporcionar taxas muito mais baixas aos usuários.


O que é a perda impermanente?

Como mencionamos, os provedores de liquidez recebem taxas por fornecer liquidez aos traders que fazem swap (troca) entre diferentes tokens. Há mais alguma coisa sobre a qual os provedores de liquidez devem estar cientes? Sim. Existe um efeito chamado de perda impermanente.

Vamos supor que Alice depositou 1 ETH e 100 USDT em uma pool do Uniswap. Como o par de tokens precisa ter um valor equivalente, isso significa que o preço do ETH é 100 USDT.  Ao mesmo tempo, existe um total de 10 ETH e 1.000 USDT na pool – financiado por outros provedores de liquidez, como Alice. Isso significa que Alice tem uma participação de 10% na pool. Neste caso, nossa liquidez total (k)é de 10.000.

O que acontece se o preço do ETH subir para 400 USDT? Lembre-se, o valor total de liquidez da pool permanece constante. Se o ETH atingiu 400 USDT, significa que a relação entre as quantias de ETH e USDT na pool mudou. Na realidade, agora são 5 ETH e 2.000 USDT na pool. Por que? Os traders de arbitragem adicionarão USDT e removerão ETH da pool, até que a proporção reflita o preço de maneira precisa. É por isso que é fundamental entender que k é constante.

Então, Alice decide sacar seus fundos e recebe 10% da pool de acordo com suas participações. Ou seja, ela recebe 0,5 ETH e 200 USDT, totalizando 400 USDT. Parece que ela obteve um bom lucro. Mas espere aí, o que teria acontecido se ela não adicionasse seus fundos à pool? Ela teria 1 ETH e 100 USDT, totalizando 500 USDT.

Ou seja, Alice teria melhores resultados ao fazer HODLing ao invés de depositar seu ETH e USDT na pool do Uniswap. Nesse caso, a perda impermanente é, essencialmente, o custo da oportunidade de adicionar um token ao pool que pode se valorizar. Isso significa apenas que, ao depositar fundos no Uniswap na esperança de ganhar com as taxas, Alice pode perder outras oportunidades.

Note que esse efeito funciona independentemente da direção em que o preço varia, a partir do momento do depósito. O que isso significa? Se o preço do ETH diminuir em relação ao momento do depósito, as perdas também podem ser ampliadas. Caso queira uma explicação mais técnica, confira o artigo do Pintail sobre esse assunto.

Mas por que a perda é impermanente? Se o preço dos tokens voltar ao preço de quando foram adicionados à pool, o efeito será mitigado. Além disso, como os provedores de liquidez ganham taxas, a perda pode se equilibrar com o tempo. Ainda assim, os provedores de liquidez devem estar cientes disso antes de adicionar fundos em uma pool.


Como o Uniswap ganha dinheiro?

Não ganha. O Uniswap é um protocolo descentralizado com suporte da Paradigm (fundo de hedging de criptomoedas). Todas as taxas vão para os provedores de liquidez. Os fundadores não recebem nada por trades efetuados através do protocolo.

Atualmente, a taxa paga para os provedores de liquidez é de 0,3% por trade. Por padrão, os valores de taxas são adicionados à pool de liquidez, mas os provedores de liquidez podem resgatá-los a qualquer momento. As taxas são distribuídas de acordo com a participação de cada provedor de liquidez na pool.

Existe a possibilidade de que uma parcela das taxas seja dedicada ao desenvolvimento do Uniswap no futuro. A equipe do Uniswap já desenvolveu e implementou uma versão melhorada do protocolo chamada Uniswap v2.


➟ Pensando em investir em criptomoedas? Compre Bitcoin na Binance!


Como utilizar o Uniswap

O Uniswap é um protocolo de código aberto, ou seja, qualquer pessoa pode criar seu próprio aplicativo de frontend para ele. No entanto, os mais utilizados são o https://app.uniswap.org e o https://uniswap.exchange.

  1. Acesse a interface do Uniswap.

  2. Conecte a sua carteira. Você pode usar a MetaMask, a Trust Wallet ou qualquer outra carteira compatível com a Ethereum.

  3. Selecione o token que deseja trocar.

  4. Selecione o token que deseja receber.

  5. Clique em Swap.

  6. Visualize a transação na janela (pop-up).

  7. Confirme a solicitação da transação em sua carteira.

  8. Aguarde a confirmação da transação na blockchain Ethereum. Você pode monitorar o status no https://etherscan.io/.


O token Uniswap (UNI)

UNI é o token nativo do protocolo Uniswap e concede a seus holders (detentores) direitos de governança. Isso significa apenas que os holders de UNI podem votar em alterações do protocolo. Discutimos como o protocolo já atua como uma espécie de bem público. O token UNI consolida essa ideia.

1 bilhão de tokens UNI foram emitidos no nascimento do projeto. 60% deles são distribuídos para membros da comunidade Uniswap, enquanto 40% serão disponibilizados para membros da equipe, investidores e consultores ao longo de quatro anos.

Parte da distribuição da comunidade acontece por meio da mineração de liquidez. Isso significa que o UNI será distribuído para usuários que fornecerem liquidez para as seguintes pools do Uniswap:

  • ETH/USDT

  • ETH/USDC

  • ETH/DAI

  • ETH/WBTC

E quem são os membros da comunidade do Uniswap? Bem, qualquer endereço Ethereum que tenha interagido com os contratos do Uniswap. Vamos ver como efetuar o resgate de tokens UNI.


Como resgatar tokens Uniswap (UNI)

Se você já usou o Uniswap, provavelmente tem direito a um resgate de 400 tokens UNI para cada endereço utilizado no Uniswap. Para resgatar seus tokens:

  1. Acesse https://app.uniswap.org/.

  2. Conecte a carteira usada anteriormente no Uniswap. 

  3. Clique em “Resgatar tokens UNI”.

como-resgatar-uni-tokens-uniswap

  1. Confirme a transação em sua carteira (você pode consultar os preços de Gas no Ethscan Gas Tracker).

  2. Parabéns! Agora você é um UNI holder!

Quer fazer trade com seus tokens UNI? A Binance tem tudo o que você precisa.


➟ Clique aqui para fazer trade de tokens UNI na Binance!


Como comprar UNI na Binance

Para comprar UNI, você deve fazer a troca (swap) de moedas fiduciárias ou criptomoedas usando a plataforma da Binance Exchange. Não é possível comprar UNI diretamente com cartão de crédito/débito. Abaixo estão os pares disponíveis. Você pode escolher entre BNB, BTC, BUSD, USDT ou EUR.


Se quiser comprar UNI usando criptomoedas, você pode transferir moedas para sua carteira Spot ou comprar algumas. Recomenda-se o BUSD devido à estabilidade do seu preço. Você pode comprar BUSD com seu cartão, acessando a página [Compre Cripto]. Insira o valor que deseja comprar e clique em [Continuar] para inserir os dados do seu cartão.


Depois de comprar suas criptomoedas, acesse a exchange e selecione o par UNI que deseja negociar. Você pode alterar o par clicando no par de mercado atual, no canto superior esquerdo.


Na barra de pesquisa, digite seu par selecionado. Por exemplo, queremos usar o UNI/BUSD.


Você pode criar uma ordem para a compra de UNI. A maneira mais rápida é através de uma ordem a mercado com o preço spot atual. Você também pode definir uma ordem limite ou ordem stop-limit caso queira comprar a um preço específico.

Para criar a sua ordem a mercado, clique em [Carteira Spot] na parte direita da página de trading da exchange. Certifique-se de selecionar [Market Order] como seu tipo de ordem na aba [Comprar] e digite a quantidade de BUSD que deseja negociar. Por fim, clique em [Comprar UNI] para criar a sua ordem.


Como vender UNI na Binance

O processo de venda de UNI é similar ao de compra. Primeiro, certifique-se de que seu saldo UNI esteja em sua carteira da Binance Spot. Se você ainda não depositou seus tokens, acesse a página [Fiat e Spot] e procure o token UNI. Clique em [Depositar] e veja as instruções para a transferência de UNI. Você também pode consultar nosso guia Como Depositar na Binance para obter mais informações.


Depois de depositar seus UNI, abra a página da exchange e selecione o par de trading UNI desejado. No exemplo, usaremos o UNI/BTC.


Use a barra de pesquisa para encontrar o par desejado. Neste caso, selecionamos o par [UNI/BTC].


No lado direito da tela, você pode vender seu UNI pelo preço de mercado atual. Na aba [Vender], clique em [Carteira Spot] e selecione [Market Order] como o tipo de ordem. Insira a quantia de UNI que deseja vender e clique em [Vender UNI].


Considerações finais

O Uniswap é um inovador protocolo de corretora descentralizada construído na Ethereum. Ele permite que qualquer usuário com uma carteira Ethereum negocie tokens, sem a necessidade de um intermediário ou terceiro. 

Embora tenha suas limitações, essa tecnologia pode ter implicações interessantes no futuro das operações de token swap trustless. É muito provável que o lançamento das soluções de escalabilidade da Ethereum 2.0 na rede também beneficiem o Uniswap.