Protocolos DeFi e seus riscos · Aula 2 de 5
Formadores de mercado automatizados e negociação em DEX
8 min de leitura
A maior parte das negociações on-chain não usa livro de ordens. Ela usa formadores de mercado automatizados (AMMs): pools de dois tokens que cotam preços com base em uma fórmula. Qualquer pessoa que negocie em uma exchange descentralizada (DEX), forneça liquidez ou avalie um token pelo preço em sua DEX precisa entender essa fórmula, os custos que ela cria para traders e provedores de liquidez e as formas pelas quais outros participantes extraem valor dela.
A fórmula do produto constante
O design mais simples e amplamente replicado, introduzido pela Uniswap, mantém constante o produto das duas reservas:
x · y = k
em que x e y são os saldos dos dois tokens no pool. O preço à vista do pool é a proporção entre as reservas (y ÷ x). Um trader que retira tokens de um dos lados precisa inserir tokens suficientes do outro lado para manter k inalterado (antes das taxas).
Exemplo resolvido. Um pool contém 100 ETH e 300.000 USDC, então k = 30.000.000 e o preço à vista é 300.000 ÷ 100 = 3.000 USDC por ETH. Um trader quer comprar 10 ETH.
| Etapa | ETH no pool | USDC no pool | Cálculo |
|---|---|---|---|
| Antes da negociação | 100 | 300.000 | k = 100 × 300.000 = 30.000.000 |
| Após retirar 10 ETH | 90 | 333.333,33 | 30.000.000 ÷ 90 |
| O trader paga | 33.333,33 | 333.333,33 − 300.000 | |
| Preço médio pago | 33.333,33 ÷ 10 = 3.333,33 por ETH | ||
| Novo preço à vista | 333.333,33 ÷ 90 = 3.703,70 por ETH |
O trader pagou cerca de 11,1% acima do preço à vista inicial. Isso é impacto no preço: quanto maior a negociação em relação ao pool, pior o preço médio. Comprar apenas 1 ETH do mesmo pool custa 3.030,30 USDC, cerca de 1% acima do preço à vista. Com uma taxa de 0,30%, o trader também paga um pouco mais na entrada (33.333,33 ÷ 0,997 ≈ 33.433,63 USDC pelos 10 ETH), e a taxa permanece no pool.
O novo preço à vista (3.703,70) agora está muito acima dos preços em outros lugares. Arbitradores vendem ETH para o pool até que seu preço corresponda ao de outros mercados; é assim que os preços dos AMMs permanecem alinhados com o mercado mais amplo. O pool nunca “sabe” o preço de mercado; ele o aprende por meio da arbitragem e paga por essa aprendizagem, como mostram as próximas seções.
Há outros formatos de curva. Os designs StableSwap (popularizados pela Curve) achatam a curva perto do preço de 1:1 para que ativos que se espera que sejam negociados ao par, como duas stablecoins, possam ser trocados em grande volume com pouco impacto. Sua fraqueza é que a curva fica muito mais íngreme se um ativo perder sua paridade.
Provedores de liquidez e taxas
As reservas vêm dos provedores de liquidez (LPs), que depositam os dois tokens na proporção atual e recebem tokens de LP (ou, em designs mais recentes, um NFT de posição) que representam sua participação. Os LPs recebem as taxas de negociação: 0,30% por negociação na Uniswap v2 e uma escolha entre níveis de taxas na Uniswap v3 (0,01%, 0,05%, 0,30% e 1%), em que pares de stablecoins normalmente usam os níveis mais baixos e pares voláteis, os mais altos.
Os LPs também assumem o risco de cada token do pool. Se um ativo entrar em colapso, os arbitradores o vendem para o pool e retiram o ativo saudável, de modo que os LPs acabam mantendo principalmente o token que falhou. Muitos pools de stablecoins acabaram cheios de UST dessa forma quando ele perdeu sua paridade em maio de 2022.
As taxas representam apenas metade do resultado do LP. A outra metade depende do que acontece com os ativos depositados quando os preços se movem.
Perda impermanente
Como os arbitradores rebalanceiam o pool, um LP vende automaticamente o token que está subindo e compra aquele que está caindo. Em comparação com simplesmente manter os dois tokens, isso resulta em uma diferença negativa chamada perda impermanente (IL).
Exemplo: um LP deposita 1 ETH e 3.000 USDC quando ETH vale 3.000 USDC (valor total de 6.000). Para essa participação, k = 1 × 3.000 = 3.000. Em seguida, ETH sobe para 12.000 USDC (quatro vezes o valor). A participação é rebalanceada para as reservas que satisfazem x · y = 3.000 ao novo preço: x = √(3.000 ÷ 12.000) = 0,5 ETH e y = √(3.000 × 12.000) = 6.000 USDC.
- Valor no pool: 0,5 × 12.000 + 6.000 = 12.000 USDC
- Valor se os ativos fossem simplesmente mantidos: 1 × 12.000 + 3.000 = 15.000 USDC
- Perda impermanente: 12.000 ÷ 15.000 − 1 = −20%
A fórmula geral, para uma proporção de preços r entre o novo preço e o preço inicial, é IL = 2√r ÷ (1 + r) − 1. Ela depende apenas da magnitude da variação, não de sua direção:
| Variação de preço | r | Perda impermanente em relação a manter os ativos |
|---|---|---|
| +25% | 1,25 | −0,6% |
| +50% | 1,5 | −2,0% |
| +100% (dobra) | 2 | −5,7% |
| +300% | 4 | −20,0% |
| −50% (cai pela metade) | 0,5 | −5,7% |
| −75% | 0,25 | −20,0% |
A perda é chamada de “impermanente” porque desaparece se o preço retornar ao ponto inicial. Na prática, os preços raramente retornam exatamente, e a perda se torna permanente quando o LP retira seus ativos. Uma posição de LP só é lucrativa se as taxas superarem a IL. Pesquisadores também medem a perda em relação ao rebalanceamento (LVR), o valor que os LPs cedem aos arbitradores que negociam contra preços desatualizados do pool; é uma forma mais precisa de dizer a mesma coisa: a liquidez passiva vende barato e compra caro.
Liquidez concentrada
A Uniswap v3 (maio de 2021) introduziu a liquidez concentrada: um LP escolhe uma faixa de preço, por exemplo, 2.700–3.300 USDC por ETH, e o capital funciona apenas dentro dela. Dentro da faixa, a posição se comporta como um pool de produto constante muito maior, de modo que gera mais taxas por dólar. As contrapartidas:
- Se o preço sair da faixa, a posição passa a deter 100% do token de menor valor e não gera nada até que o preço retorne ou o LP redefina a faixa.
- A perda impermanente dentro de uma faixa estreita é ampliada proporcionalmente à maior eficiência de capital.
- As posições exigem gerenciamento ativo, o que transformou o fornecimento de liquidez em uma atividade profissional.
A Uniswap v4 (lançada em janeiro de 2025) adicionou hooks, contratos personalizados executados em determinados momentos do ciclo de vida de um pool (antes ou depois de uma troca, por exemplo). Os hooks permitem recursos como taxas dinâmicas, mas cada hook é um novo código cujo risco é assumido pelo LP e pelo trader.
Slippage e MEV
Slippage é a diferença entre o preço que um trader espera ao enviar uma transação e o preço pelo qual ela é executada. Ele decorre do impacto no preço e de outras transações que são executadas primeiro. As carteiras permitem que os usuários definam uma tolerância de slippage (por exemplo, 0,5%), que se converte em uma saída mínima: se a negociação retornar menos, ela é revertida. Um prazo limite faz o mesmo com o tempo, para que uma transação que fique sem confirmação por uma hora não possa ser executada mais tarde a um preço desatualizado.
Essa tolerância também é um convite. Em blockchains públicas, as transações pendentes ficam em um mempool visível, e o construtor do bloco decide sua ordem. Valor máximo extraível (MEV) é o lucro disponível por incluir, excluir ou reordenar transações. Parte do MEV é neutra ou útil: arbitragem que realinha preços ou liquidações que mantêm protocolos de empréstimo solventes. A forma prejudicial é o ataque sanduíche:
Um trader que compra US$ 100.000 de um token com tolerância de 1% pode perder até cerca de US$ 1.000 em um ataque sanduíche em um pool com pouca liquidez. As defesas incluem tolerâncias baixas, dividir grandes ordens, enviar por fluxo privado de ordens (endpoints RPC que enviam transações diretamente aos construtores em vez de ao mempool público) e os designs abaixo.
Agregadores e intenções
Agregadores de DEX pesquisam muitos pools e plataformas e dividem uma ordem entre eles para minimizar o impacto no preço e as taxas. Eles adicionam um contrato de roteamento à cadeia de confiança, mas, para a maioria das negociações, melhoram a execução.
Os sistemas baseados em intenções vão além. Em vez de especificar uma rota, o usuário assina uma mensagem que declara o resultado (“vender 10 ETH por pelo menos 33.000 USDC em até cinco minutos”). Solvers concorrentes (formadores de mercado profissionais ou mecanismos de roteamento) atendem à ordem usando pools de DEX, seu próprio inventário ou outras ordens. A CoW Swap agrupa ordens e as liquida a um preço de compensação uniforme, o que elimina a ordenação da qual dependem os ataques sanduíche; a UniswapX usa leilões holandeses entre os executores. A contrapartida é depender de solvers off-chain e da concorrência entre eles.
| Rota de execução | Vantagem | Principal risco |
|---|---|---|
| Troca direta em AMM | Simples, totalmente on-chain | Impacto no preço, ataques sanduíche |
| Agregador | Melhor preço entre os pools | Contrato adicional no caminho |
| Fluxo privado de ordens | Oculto do mempool público | Confiança no construtor ou retransmissor |
| Intenções e leilões em lote | Proteção contra MEV, possível melhoria de preço | Dependência da concorrência entre solvers |
Foco no exame: a fórmula do produto constante x · y = k e como calcular a saída, o preço médio e o novo preço à vista de uma troca; por que o impacto no preço aumenta com o tamanho da negociação; como a arbitragem alinha os preços dos AMMs; o que os LPs recebem e como surge a perda impermanente, incluindo a fórmula e os valores de −5,7% a 2x e −20% a 4x; a liquidez concentrada e o risco de sair da faixa; a tolerância de slippage, o MEV e o ataque sanduíche; e como agregadores, fluxo privado de ordens e intenções reduzem os custos de execução.