Portada cowswap
LearnResearchDefiSeguridad

CowSwap - Evitando sandwich attacks

de MetaDip

Divulgación web3, inversión y trading con crypto desde 2016

Los últimos días han ganado tracción las meme coins, tokens ERC20 sin roadmap ni proyecto real detrás. $PEPE fué la primera memecoin que empezó esta nueva narrativa, a la que pronto le siguieron otras cómo $WOJAK, AiDOGE, ChadGPT, etc. 

La premisa era simple, $PEPE subió un 10.000% en cuestión de días. Hay personas que con inversiones de 50$ consiguieron 500.000$. Esto tuvo un efecto llamada y gran cantidad de nuevas shitcoins fueron creadas en cuestión de horas, hasta el punto de que el gas de Ethereum rondaba los 70-90 gwei, más del doble de lo normal las semanas previas.

Bien, resulta que algunos de estos tokens tenían lo que se conoce como tax. Tax es el % que el proyecto decide recaudar en cada swap. En algunas ocasiones el tax es el 15%, y para que el swap se complete es necesario configurar nuestro slippage al 15% mínimo.

En muchas ocasiones los usuarios no ajustan el slippage correcto, y esto puede tener consecuencias negativas. Si por ejemplo mantenemos el 15% de slippage y resulta que el token que vamos a intercambiar no tiene ningún tax, lo más probable es que seamos víctimas de un “sandwich attack”.

Un sandwich attack es una estrategia que siguen los MEV Bots y tienen como objetivo víctimas con una configuración incorrecta del slippage, aunque realmente cualquiera puede ser sandwicheado. Básicamente lo que hacen es leer la mempool y detectar transacciones pendientes, calculan si existe beneficio haciendo un frontrunning (comprar antes que el comprador) y si es así, ejecutan la compra.

Lo que sucede es que la compra del bot se ejecutará antes que la de la víctima, por lo tanto la víctima comprará a un valor superior al de mercado (un 15% más en este caso). Inmediatamente después de comprar, el bot vende, y como la víctima ha comprado después, su venta estará en beneficios.

Aquí se puede ver cómo tan solo en el token $PEPE el día 18 de Abril cerca de 70M de volumen fue a causa de los Sandwich attacks, ¿os imagináis cuánto han extraído de traders descuidados?

Uno de los MEV sandwich bots más activos ha sido una wallet cuya dirección ENS se llama jaredfromsubway y durante algunos días ha sido el responsable de cerca del 10% del gas gastado en Ethereum, eso es una barbaridad.

meme MEV

Para evitar que esto suceda, podemos utilizar el protocolo de CoW Protocol, el cual está diseñado para realizar swaps sin caer víctimas de estos molestos ataques.

Introducción

CoW Protocol es un protocolo de intercambio de tokens completamente descentralizado que en lugar de utilizar la fórmula x*y=k que utilizan los AMM cómo Uniswap para determinar los precios de activos en una pool, utiliza subastas de lotes como mecanismo de fijación de precios. De esta manera se logran dos objetivos fundamentales:

  • Ofrecer el mejor precio disponible al usuario
  • Proteger al usuario de ataques MEV

El protocolo maximiza la liquidez a través de lo que ellos llaman Coincidence of Wants (CoWs) y utiliza solucionadores o “solvers” que se encargan de emparejar las órdenes de compra y venta al mejor precio posible. Los solucionadores compiten entre sí para resolver la subasta y a cambio son recompensados con tokens. 

Se podría considerar cómo un libro de órdenes donde los compradores indican a qué rango de precio quieren comprar y los vendedores a qué rango de precio quieren vender. Cuando existe un match, los solvers emparejan ambas órdenes de compra y venta. Podríamos decir que el matching engine que utilizan los CEX, es descentralizado en el caso de CowSwap. 

CoW Swap es la primera interfaz de trading construida sobre CoW Protocol y actúa como un agregador Meta-Dex. Lo que significa que compara los precios de los mayores agregadores (1inch, paraswap, firebird, etc) y ofrece a los usuarios el mejor precio, dependiendo de cuál sea el lugar más líquido para las operaciones dentro de un lote.

Dependiendo de dónde se encuentre el mejor precio disponible (CoWs o otros agregadores de DEX), las órdenes dentro de un lote pueden ser emparejadas offchain gracias a CoWs entre órdenes, o directamente onchain contra la liquidez de un AMM / agregador. 

Además, Cow Protocol utiliza mempools privadas para evitar que sus usuarios sufran frontrunning. En las mempools privadas las transacciones pendientes no son visibles para los MEV bots. Otra alternativa viable para evitar este tipo de ataques es utilizar un RPC que bloquee MEV, MEVBlocker es uno de los más conocidos.

Gráfica funcionamiento cowswap

Subastas de lotes

El diseño de los intercambios en AMM como uniswap hace que el orden de las transacciones sea importante, ya que el precio de un token siempre será diferente en base al órden en el cual se ejecuta una transacción. Por este fenómeno surge el MEV (Valor extraíble por el minero), donde los mineros deciden libremente en qué orden llegan las transacciones a la pool. Esto favorece a algunos intercambios en comparación con otros. 

Las Subastas de lotes permiten que los intercambios dentro de un lote tengan un precio uniforme, por lo que no tiene sentido que los mineros reordenen los intercambios. Con CoW Protocol los usuarios pueden obtener el mismo precio para los mismos pares de tokens en el mismo bloque.

Gráfico funcionamiento subastas de lotes

Coincidence of Wants (CoWs)

CoWs se puede explicar como un fenómeno económico en el que dos partes tienen cada una un token que la otra quiere, y por lo tanto intercambian directamente estos tokens. Esto significa que en el Protocolo CoW, cuando dos o más operaciones tienen cada una un activo que el otro desea, sus órdenes pueden liquidarse directamente entre todos ellos sin necesidad de un AMM externo. 

Una de las ventajas de utilizar subastas por lotes es que no solo puedes encontrar una coincidencia perfecta de los CoWs, sino que también puedes crear operaciones circulares o “ring trades”. Básicamente, una operación circular comparte liquidez entre todas las órdenes, en lugar de un solo par de tokens. Esta funcionalidad permite que el protocolo ofrezca mejores precios a los traders, ya que no necesitan esperar a tener una coincidencia perfecta entre las operaciones, ya que pueden descomponerlas en piezas para mejorar el resultado de las mismas. Las operaciones circulares son una buena solución a la liquidez fragmentada, uno de los mayores problemas actuales del ecosistema DeFi.

Como estas cosas son más fáciles de entender con un ejemplo:

Diagrama funcionamiento CoWs

En este ejemplo tenemos tres personas diferentes: Alice está tratando de vender DAI por OWLDaniel está tratando de vender OWL por USDC y Bob y Carry están tratando de vender USDC por DAI. En lugar de que todos ellos negocien contra múltiples pools de liquidez para completar su operación, el protocolo forma un círculo que empareja directamente a los tres traders entre sí.

Alice entrega DAI a Bob y Caryl

Bob y Caryl entrega USDC a Daniel

Daniel entrega OWL a Alice

La agrupación de transacciones resulta en un spread más bajo, así como una gestión de transacciones mucho más optimizada para el usuario.

Suscríbete a nuestra nueva Newsletter