Arbitraje on-chain: ciclos atómicos, préstamos flash y la subasta que tienes que ganar
Existe un mito cómodo de que el arbitraje en cadena es difícil porque la búsqueda es difícil, que en algún lugar del gráfico de precios hay un ciclo oculto que solo el algoritmo más inteligente puede ver, y quien lo calcula más rápido recibe el pago. La verdad es casi lo contrario. En una cadena pública, el ciclo rentable es visible para todos al mismo instante, calculado por docenas de bots que ejecutan código casi idéntico contra las mismas reservas. La detección es un problema resuelto y mercantilizado. Lo difícil, lo que realmente decide quién se queda con el dinero, es ganar el orden: colocar tu transacción en el lugar correcto del bloque correcto, por delante de cualquier otro buscador que haya encontrado exactamente lo mismo. El arbitraje en cadena es fácil de detectar y difícil de ganar, y la brecha entre esos dos verbos es donde reside toda la economía del negocio.
Este artículo se pone del lado del buscador. En anatomía de MEV, mapeamos el bosque oscuro desde la perspectiva de la víctima y prometimos un seguimiento sobre la extracción benigna, el arbitraje y el backrunning que mantienen los precios en cadena honestos. En liquidaciones en cadena, construimos un contrato de ejecución de préstamo flash y un paquete de backrun de oráculo y señalamos aquí para el tratamiento general de la primitiva. Esta pieza salda ambas deudas. Asume que ya sabes qué son un mempool, un paquete y una tarifa de prioridad; si no, lee primero la pieza de MEV. Aquí construimos la máquina del arbitrajista: la transacción atómica que no puede perder, el capital prestado que elimina la restricción de capital, la búsqueda de gráficos que es la mitad fácil, y la subasta que consume casi todo el margen.
Atomicidad: la operación que se revierte en caso de pérdida
La propiedad definitoria del arbitraje en cadena —lo que lo hace categóricamente más seguro que cualquier operación entre plataformas que un operador de CEX pueda ejecutar— es la atomicidad. Un arbitraje de múltiples saltos no es una secuencia de operaciones que lanzas y esperas que se ejecuten juntas. Es una única transacción que ejecuta cada tramo del ciclo, y si el saldo final no es estrictamente mayor que el saldo inicial, toda la transacción se revierte: cada cambio de estado se deshace como si nunca hubiera ocurrido, y solo pierdes el gas de una transacción fallida.
Esto cambia completamente el perfil de riesgo. Un operador de CEX que compra BTC en un exchange para venderlo en otro mantiene inventario entre medias —durante segundos, minutos, el tiempo que tarden la transferencia y la segunda ejecución— y asume lo que haga el precio durante ese período. El arbitrajista en cadena mantiene inventario durante cero tiempo en cualquier sentido económicamente significativo: la compra y la venta son la misma operación indivisible. No hay riesgo de precio a mitad de ciclo porque no hay mitad de ciclo. O todo el bucle se cierra de forma rentable en un paso atómico, o no ocurre en absoluto.
El guardián que impone esto es una única comparación al final de la ruta de ejecución. Conceptualmente, un contrato de arbitraje atómico no hace más que:
// The whole cycle runs inside one transaction. If the closing balance
// does not clear the opening balance (plus costs), the require() throws,
// and the EVM reverts every trade that came before it.
function executeCycle(bytes calldata path, uint256 minProfit) external {
uint256 start = IERC20(baseToken).balanceOf(address(this));
_hopA(path); // e.g. USDC -> WETH on Uniswap
_hopB(path); // e.g. WETH -> DAI on Sushiswap
_hopC(path); // e.g. DAI -> USDC on Curve
uint256 end = IERC20(baseToken).balanceOf(address(this));
require(end >= start + minProfit, "unprofitable"); // atomic safety net
}
El require es todo el modelo de seguridad. Una cotización obsoleta, una transacción competidora que movió el pool un slot antes que la tuya, una tarifa inesperada — cualquier cosa que haga que el ciclo no sea rentable simplemente activa el guardián y revierte. Nunca vendes el último tramo a un precio peor del que modelaste y asumes la pérdida; la operación que habría perdido dinero no se ejecuta. Por eso el arbitraje es el lado benigno de la taxonomía MEV de la pieza MEV: no hay ninguna víctima cuya ejecución se degrade, y el arbitrajista no asume ningún riesgo direccional de inventario. El único coste real de un intento fallido es el gas — que, como veremos, es exactamente el coste que la subasta competitiva está diseñada para inflar.
Los préstamos flash eliminan la restricción de capital
La atomicidad permite algo más fuerte: el arbitraje sin capital propio. Un préstamo flash te permite pedir prestada una cantidad arbitraria de un pool de préstamos con una única condición: lo devuelves, más una comisión, antes de que termine la transacción. Debido a que el préstamo, el arbitraje y el reembolso viven dentro de una transacción atómica, el pool no enfrenta riesgo de impago: si no puedes pagar, toda la transacción se revierte y el préstamo se deshace. El prestamista está protegido por la misma reversión que te protege a ti.
El patrón es una devolución de llamada. Llamas a la función de préstamo flash del pool; el pool te envía los tokens y luego te llama de vuelta; dentro de esa devolución de llamada ejecutas el ciclo y debes dejar suficiente para pagar:
// Called by the lending pool in the middle of the flash loan.
function receiveFlashLoan(address token, uint256 amount, uint256 fee, bytes calldata data)
external
{
// 1. buy the asset cheap on venue A with the borrowed `amount`
uint256 bought = _swap(VENUE_A, token, ASSET, amount, data);
// 2. sell it dear on venue B, back into the borrowed token
uint256 repaidIn = _swap(VENUE_B, ASSET, token, bought, data);
// 3. must be able to return principal + fee, or the whole tx reverts
require(repaidIn >= amount + fee, "arb cannot cover loan");
IERC20(token).transfer(msg.sender, amount + fee); // repay in-tx
// whatever remains — repaidIn - amount - fee — is profit, kept here
}
La tarifa es pequeña y depende del lugar: Aave v3 cobra 5 puntos básicos (0.05%) por un préstamo flash, Balancer históricamente cobraba 0 puntos básicos, y Uniswap v3 expone la misma capacidad a través de flash swaps donde la tarifa es solo la tarifa de swap normal del pool. Cinco puntos básicos es un costo real que debe compensarse dentro del margen del ciclo, pero es trivial en comparación con la alternativa de inmovilizar seis o siete cifras de tu propio inventario para capturar una dislocación que dura un bloque.
La consecuencia para la estructura del mercado merece ser expuesta claramente: los préstamos flash desvinculan el beneficio del arbitraje del capital. El ganador de una oportunidad determinada no es el buscador con el balance más profundo; un bot con unos pocos dólares de gas puede pedir prestados diez millones de dólares durante la duración de una transacción. El capital no es el foso. Todos pueden pedir prestado el mismo tamaño contra la misma oportunidad, que es precisamente por qué la competencia se reduce a lo único que no está mercantilizado: ser el primero en ser ordenado.
Un ciclo cruzado de DEX resuelto
Los números hacen que la mecánica sea concreta. Tomemos dos pools de producto constante WETH/USDC con una comisión del 0.30% (), y supongamos que una gran compra acaba de empujar el pool B por encima del pool A —el tipo de dislocación que la siguiente sección muestra de dónde provienen los ciclos. Usemos reservas redondas y claramente ilustrativas:
- Pool A (barato): WETH, USDC precio USDC/WETH.
- Pool B (caro): WETH, USDC precio USDC/WETH.
El ciclo es: pedir prestado USDC con flash loan, comprar WETH barato en A, venderlo caro en B, reembolsar. Pedir prestado USDC. El salto 1 vende USDC en el pool A por WETH:
El salto 2 vende ese WETH en el pool B por USDC:
Pediste prestado 100,000, recibiste 100,723 y debes una comisión flash del 5 bps de 50 USDC. Neto: aproximadamente $673 de beneficio bruto con un desembolso de capital de cero, antes del gas y antes de la oferta de prioridad. Dos cosas a tener en cuenta. Primero, los dos saltos mueven los pools uno hacia el otro —comprar en A eleva su precio, vender en B baja su precio— por lo que el beneficio no es lineal en tamaño: si se empuja demasiado, el impacto en el precio consume la brecha, exactamente como en la optimización del sándwich de la pieza MEV. El buscador ejecuta una búsqueda unidimensional sobre para encontrar el tamaño de préstamo que maximiza el beneficio neto. Segundo, esos $673 son un número determinista que cada bot competidor calcula con el mismo valor a partir de las mismas reservas —que es todo el problema, y el tema de la sección de subastas a continuación.

La detección es la mitad fácil
Dado el mercado como un grafo —activos como nodos, pares de negociación como aristas ponderadas— un ciclo de arbitraje es un bucle cuyo producto de tipos de cambio excede uno. Si tomamos el logaritmo de cada tipo, lo negamos, un ciclo rentable se convierte en un ciclo de peso negativo; la herramienta clásica para encontrar uno es Bellman-Ford, con SPFA y el algoritmo RICH más reciente como variantes más rápidas ajustadas para los grafos pequeños y de cambio rápido que producen los mercados reales. Todo ese conjunto de herramientas —la transformación logarítmica, la condición de ciclo negativo, las implementaciones en Rust, los pesos de arista ajustados por comisiones que eliminan la mayoría de los ciclos teóricos— es el tema de algoritmos de grafos para la detección de arbitraje, y no es necesario repetirlo aquí.
Lo que importa para este artículo es un único punto contable: la comisión debe ir dentro del peso del borde, o el ciclo es un espejismo. Un bucle de tres tramos paga tres comisiones de pool más, si se ha pedido prestado, la comisión del préstamo flash, y la prueba de ciclo negativo tiene que verlas todas:
from math import log
def cycle_log_gain(rates, pool_fee=0.003, loan_fee=0.0005):
"""Log-gain around a cycle. > 0 means gross profit before gas and priority bid.
`rates[i]` = units of the next asset per unit of the current one on hop i."""
gross = 1.0
for r in rates:
gross *= r * (1 - pool_fee) # each hop pays the venue's swap fee
gross *= (1 - loan_fee) # one flash-loan fee for the whole cycle
return log(gross) # still ignores gas and the auction bid
Aquí está la observación fundamental. Esa función es determinista. Al alimentarla con las reservas actuales en cadena —que cada nodo posee de forma idéntica, porque la cadena es una máquina de estado compartida y replicada— cada buscador calcula el mismo cycle_log_gain con el mismo valor en la misma altura de bloque. No hay señal privada, ni conjunto de datos propietario, ni ventaja informativa. Cuando un gran swap o un nuevo bloque reorganiza las reservas, docenas de bots que ejecutan código de detección estructuralmente idéntico se activan en el mismo ciclo en cuestión de milisegundos. La búsqueda devuelve la misma respuesta a todos.
Una nota sobre la topología, porque influye en la dificultad real de la búsqueda. Los ciclos más baratos son triangulares e intra-DEX — WETH → USDC → DAI → WETH completamente dentro de una implementación de Uniswap: tres saltos, tres comisiones de pool, sin coordinación entre plataformas. Los ciclos entre DEX (comprar en Uniswap, vender en Sushiswap) añaden plataformas pero mantienen la guardia atómica idéntica. Los ciclos más largos y exóticos encadenan aún más saltos — pero cada salto extra multiplica otro factor en el producto, por lo que la condición de ciclo negativo ajustada por comisiones elimina rápidamente los ciclos largos. Esta es exactamente la razón por la que los buscadores reales limitan la longitud del ciclo a tres o cinco saltos y podan agresivamente; es la búsqueda en capas y con límites de longitud que el algoritmo RICH de la pieza de algoritmos de grafos está diseñado para ejecutar.
Así que la detección no te hace ganar la operación; solo te califica para competir por ella. La prueba log(gross) > 0 te dice que existe una oportunidad, pero no dice nada sobre si tú serás la dirección que la capture. Eso se decide un nivel más abajo, en el ordenamiento, y el ordenamiento no es algo que tu algoritmo calcule. Es algo por lo que pujas. Todo lo difícil del arbitraje en cadena ocurre después de que se encuentra el ciclo.

Backrunning: la forma benigna de MEV
¿De dónde vienen estos ciclos en primer lugar? Mayoritariamente, de las transacciones de otras personas. Un gran swap en un pool de Uniswap aleja el precio de ese pool del mercado general; el pool ahora está mal valorado en relación con Binance, en relación con un pool de Curve, en relación con Sushiswap; y el acto de reajustarlo es un arbitraje rentable. El buscador que hace esto coloca su transacción inmediatamente después del swap que creó la dislocación. Esto es backrunning, y es la forma dominante y benigna de MEV en cadena.
Recordemos la mecánica del producto constante de la pieza MEV. Un pool mantiene reservas con y precio spot . Alguien vende una gran cantidad del activo base en él; por el invariante, el pool paga
y el nuevo precio spot es más bajo — el vendedor lo empujó hacia abajo. Si el precio de mercado externo sigue siendo , el pool ahora cotiza por debajo de , y el backrun que maximiza el beneficio compra del pool exactamente hasta que su precio marginal sube de nuevo a — es decir, hasta que las reservas satisfacen de nuevo. El arbitrajista captura el área entre la curva de ejecución del pool y el precio externo plano — el valor que el gran swap dejó sobre la mesa al mover el pool.
El hecho estructural crítico —el que sitúa el backrunning en el lado benigno del balance— es que un backrun puro no degrada la ejecución del objetivo. Se ejecuta estrictamente después del swap de la víctima. Para cuando el backrun se ejecuta, el precio del swapper ya está fijado; nada de lo que haga el backrunner puede retroceder y empeorarlo. Contrasta esto con el sándwich tóxico de la pieza MEV, donde se inserta un frontrun antes de la víctima precisamente para empeorar su ejecución y que el backrun pueda cosechar la dislocación ampliada. Misma mecánica de backrun, moralidad opuesta: el sándwich fabrica la desalineación a expensas de la víctima; el backrun benigno simplemente limpia una desalineación que la víctima habría creado de todos modos. El arbitrajista es el mecanismo por el cual los precios en cadena siguen al mundo exterior —el mismo papel que hace que el arbitraje entre plataformas sea una fuerza estabilizadora en todas las finanzas.
Esta es también la razón por la que la pila de protección MEV moderna intenta preservar y redistribuir los backruns mientras suprime los sándwiches. MEV-Share de Flashbots y las subastas de flujo de órdenes permiten a un usuario exponer pistas parciales sobre su transacción, invitar a los buscadores a pujar por el derecho a hacer un backrun y reembolsar la mayor parte del beneficio resultante al usuario que creó la oportunidad. El backrun sigue ocurriendo —el precio sigue realineándose— pero el valor vuelve a la transacción que lo generó en lugar de ser robado por el más rápido.
De dónde vienen los ciclos
Casi todos los ciclos rentables son consecuencia de algún otro evento en cadena que movió un precio. Conocer las fuentes es la diferencia entre sondear todo el grafo a ciegas y observar el puñado de disparadores que realmente crean aristas:
- Grandes swaps. La fuente canónica, trabajada anteriormente: cualquier operación lo suficientemente grande como para mover un pool fuera del mercado general abre un backrun para realinearlo. Cuanto mayor sea el swap y más delgado el pool, mayor será el ciclo.
- Actualizaciones de oráculos. Cada plataforma que fija precios a partir de un oráculo —mercados monetarios, DEX perpetuos— se vuelve arbitrable en el instante en que el feed se mueve. El backrun de actualización de oráculo que impulsa las liquidaciones, analizado en la pieza de liquidaciones, es este mismo movimiento aplicado a un feed de precios en lugar de un swap: la actualización es el pistoletazo de salida, y el buscador aterriza inmediatamente después.
- Liquidez nueva o eliminada. Una gran acuñación o quema de LP desplaza la profundidad de un pool y puede dejarlo momentáneamente fuera de precio; la liquidez justo a tiempo (JIT) es la versión adversaria, añadiendo profundidad alrededor de un único swap pendiente y retirándola inmediatamente después.
- Residuos de enrutamiento entre pools. Un enrutador que divide un swap entre pools rara vez los deja todos exactamente al mismo precio, y los pequeños desequilibrios que deja son ciclos susceptibles de backrun.
La conclusión práctica: un bot de arbitraje es principalmente un escuchador de eventos, no un solucionador de grafos. Observa estos disparadores, recalcula solo el subgrafo que cada uno toca y dispara un paquete, por lo que el diseño de actualización incremental de la pieza de algoritmos de grafos importa mucho más que la velocidad de búsqueda bruta sobre el grafo completo.

La subasta se come el margen
Ahora la parte incómoda. Encontraste el ciclo. También lo hicieron todos los demás. La oportunidad es determinista, atómica y sin capital, lo que significa que la única variable que queda es quién aterriza en el slot ganador, y eso se resuelve mediante una subasta de prioridad.
Desde la migración a la separación proponente-constructor y MEV-Boost (la fontanería detallada en la próxima cadena de suministro de MEV: PBS y MEV-Boost), los buscadores ya no libran guerras de gas públicas en el mempool. Envían paquetes de forma privada a los constructores de bloques, adjuntando una oferta, ya sea como una tarifa de alta prioridad o como un pago directo al constructor. El constructor ensambla el bloque más valioso que puede y lo envía al proponente. Desde el asiento del buscador, esto es una subasta a sobre cerrado por el derecho a ser la dirección que ejecuta un premio conocido y determinista.
Modelémoslo. Sea el beneficio bruto de arbitraje —los $673 del ciclo resuelto anterior, por ejemplo— y sea el coste de cada buscador (gas, comisión de préstamo flash) . Para ganar el slot, pujas contra todos los demás buscadores que calcularon el mismo . Tu beneficio neto si ganas es
Quieres que sea lo más bajo posible; también quieres ganar. Pero tus competidores se enfrentan a la misma aritmética contra el idéntico . En una subasta a sobre cerrado por un premio de valor común que todos pueden calcular exactamente, la puja de equilibrio sube hasta que consume casi todo el excedente: , y el ganador solo se queda con , el margen mínimo por el que superó al segundo. Esos $673 no se quedan con quien encontró el ciclo; casi todo se puja directamente al constructor y, en última instancia, al proponente que vendió el ordenamiento. Esto no es un fallo del mercado; es lo que se supone que debe hacer una subasta competitiva.
La reversión no es gratuita: la economía de la tasa de fallos
Hay un segundo costo que el modelo ingenuo omite, y es el que realmente separa a los operadores. Cuando pierdes la subasta, tu paquete simplemente no se ejecuta; no pagas nada, que es el objetivo de la presentación de paquetes sobre las antiguas guerras de gas públicas. Pero cuando ganas la subasta con un paquete cuya simulación estaba obsoleta —las reservas se movieron entre tu lectura y la inclusión— tu guardián require(end >= start + minProfit) se activa y la transacción se revierte en cadena, y pagas gas por la reversión. La atomicidad protege tu capital, no tu gas.
Así que el valor esperado real del buscador por oportunidad es
donde es el gas quemado en un paquete que se ejecutó pero se revirtió. Aumentar tu oferta gana más slots, pero también gana más slots obsoletos, lo que aumenta el término de reversión. Los operadores que sobreviven no son los que encuentran más ciclos —todos encuentran los mismos ciclos— sino los que tienen un más bajo (rutas de ejecución más baratas y ajustadas), una menor probabilidad de reversión (simulación más fresca, mejor predicción de inclusión) y la disciplina de no pujar por oportunidades marginales donde el costo esperado de reversión supera el escaso excedente. La ventaja, tal como es, reside enteramente en estos costos de segundo orden.
La forma empírica coincide con el modelo. Cuando muchos bots simulan la misma oportunidad en cadena con la misma cifra de beneficio, el paquete ganador suele entregar la mayor parte del beneficio bruto al constructor y al validador —la misma fuga de más del 90% que medimos para las liquidaciones, por la misma razón: información perfecta sobre un premio común más una subasta a sobre cerrado equivale a márgenes reducidos al coste del perdedor marginal. La ventaja del buscador no es el tamaño de , que todos ven. Es cualquier ventaja privada en (ejecución más barata, mejor enrutamiento, menor tasa de fallos) o en ver antes que la multitud.
Lo que te dice exactamente dónde aún sobrevive el beneficio:
- Cadenas de cola larga y mercados de constructores inmaduros. En cadenas donde operan pocos buscadores sofisticados y la subasta de constructores es escasa o inexistente, la oferta se mantiene baja porque no hay nadie que te supere. El mismo ciclo que rinde en la red principal de Ethereum puede rendir la mayor parte de en una L2 tranquila o una alt-L1. La ventaja es la competencia, no la astucia.
- Pools de baja competencia y activos exóticos. Las oportunidades cuya salida rentable requiere consumir liquidez DEX escasa y dependiente de la ruta son difíciles de simular correctamente. Un buscador que modela el viaje de ida y vuelta completo —incluyendo el deslizamiento de salida en un token ilíquido— captura ciclos que los bots ingenuos o bien pierden o bien valoran incorrectamente, lo que lleva a una reversión. Aquí la ventaja es genuinamente la calidad de ejecución, no la latencia.
- Arbitraje CEX-DEX. La categoría más grande —y la que rompe la atomicidad. Tiene su propia sección, a continuación.
El resumen honesto del juego atómico en cadena: es una excelente manera de aprender los internos de EVM, la fontanería del constructor y la teoría de subastas de la manera difícil. Es una forma brutal de ganarse la vida, porque lo que vendes —la capacidad de encontrar y ejecutar un ciclo determinista— es exactamente lo que tus competidores también venden, y la subasta lo valora al costo.

Arbitraje CEX-DEX: la categoría más grande, y no es atómica
La mayor fuente individual de valor extraíble en cadena no es el ciclo atómico ordenado. Es el arbitraje CEX-DEX: el precio de un activo en un exchange centralizado diverge de su precio en un DEX, y un buscador negocia en ambos lados para cerrar la brecha. Estudios sobre arbitraje no atómico —más directamente Non-Atomic Arbitrage in Decentralized Finance (2024) de Heimbach, Pahari y Schertenleib— atribuyen cientos de millones de dólares de valor extraído a los arbitrajistas entre exchanges durante un período de varios años, superando las categorías atómicas y puramente en cadena. Si quieres entender dónde está realmente el dinero en MEV, es aquí.
Y viola la propiedad que hacía que todo lo anterior fuera seguro. Una pata de la operación se realiza en un exchange centralizado; la otra, en la cadena. La pata en cadena es atómica —o se ejecuta en un bloque o se revierte— pero la pata CEX es una orden separada en un motor de emparejamiento separado, que se liquida en su propio plazo. Las dos patas no pueden envolverse en una única reversión. No hay un require(end >= start) que abarque ambos lugares. El buscador hace un backrun de un swap en Uniswap para comprar WETH barato en cadena, y por separado vende WETH en Binance para realizar el spread —y entre esos dos eventos, el precio puede moverse. El arbitraje CEX-DEX conlleva el mismo riesgo de inventario que el arbitraje atómico elimina.
Ese riesgo cambia toda la forma del negocio:
- Debes preposicionar inventario en ambos lugares. No puedes usar un préstamo flash para la parte CEX. Para vender WETH en Binance en el instante en que tu compra en cadena se confirma, ya debes tener WETH en Binance (y moneda de cotización en cadena, y viceversa para la otra dirección). El capital, que el préstamo flash desterró del arbitraje atómico, vuelve directamente como un requisito estricto: inventario en múltiples exchanges, expuesto.
- Debes cubrir la posición abierta. Entre la ejecución en cadena y la ejecución CEX, estás direccionalmente largo o corto en el activo. Los operadores serios de CEX-DEX gestionan esto como un libro de delta gestionado continuamente: cubren la exposición en un futuro perpetuo, tratan el costo de financiación de esa cobertura como un costo de hacer negocios y gestionan la base entre el spot y el perpetuo. Este no es un problema nuevo, es exactamente la maquinaria del arbitraje de tasas de financiación entre exchanges, donde todo el juego consiste en mantener posiciones compensadas en diferentes lugares y financiar la cobertura a través de la financiación. El arbitraje CEX-DEX es esa disciplina con una pata anclada a un bloque.
- La ventaja es en parte informativa y estructural. Debido a que el precio CEX precede al precio DEX (los libros de órdenes centralizados se actualizan continuamente; las cotizaciones AMM solo se mueven cuando alguien opera), un buscador que lee el libro de órdenes CEX sabe en qué dirección debe ir el siguiente backrun antes de que el precio en cadena se actualice. Y cada vez más, los propios constructores internalizan este flujo: un constructor que también gestiona una mesa CEX-DEX puede ordenar el bloque en torno a sus propias operaciones. Esto difumina la línea entre buscador y constructor y es una de las fuerzas centralizadoras en la cadena de suministro de MEV —las entidades que ven la mayor parte del flujo de órdenes y controlan la mayor parte del ordenamiento también capturan la mayor parte del arbitraje no atómico.
Así que la compensación es exactamente inversa a la del caso atómico. El arbitraje atómico es seguro (reversión en caso de pérdida, sin inventario, sin capital) pero despiadadamente competido (premio determinista, la subasta se come el margen). El arbitraje CEX-DEX es peligroso (riesgo de inventario real, capital real, una cobertura que financiar y gestionar) pero mucho más grande y menos perfectamente disputado, precisamente porque el peligro y el requisito de capital mantienen alejados a los bots que solo pueden ejecutar el bucle atómico sin riesgo. El rendimiento extra es una compensación por el riesgo extra, que es el hecho más ordinario en finanzas, finalmente reafirmándose en una cadena que pasó toda una sección fingiendo que el dinero sin riesgo estaba sobre la mesa.
Qué llevarse
Comprime el argumento a sus puntos clave:
- La atomicidad es todo el modelo de seguridad. Un arbitraje de múltiples saltos es una transacción con un guardián
require(end >= start + minProfit); cualquier cosa que lo haga no rentable se revierte, por lo que el arbitrajista nunca asume riesgo de inventario a mitad de ciclo y nunca vende la última pata con pérdidas. - Los préstamos flash desvinculan el beneficio del capital. Pide prestado, arbitra y devuelve dentro de una transacción atómica; el prestamista está protegido por la misma reversión que tú. El ganador no es el buscador con más capital; el capital no es el foso.
- La detección es la mitad fácil y mercantilizada. La búsqueda de ciclos negativos de algoritmos de grafos para arbitraje es determinista e idéntica para todos; encontrar el ciclo solo te califica para competir por él.
- El backrunning es la forma benigna y dominante. Aterrizar inmediatamente después de un gran swap o una actualización de oráculo realinea un pool con precios incorrectos sin degradar la ejecución de nadie —lo opuesto al sándwich tóxico, y lo que MEV-Share intenta redistribuir en lugar de suprimir.
- La subasta consume casi todo el margen. En una subasta de constructor a sobre cerrado por un premio común y computable, las ofertas convergen a y más del 90% se filtra al constructor y al proponente. El beneficio solo sobrevive donde la competencia es escasa: cadenas de cola larga, pools ilíquidos y las salidas más difíciles de simular.
- CEX-DEX es la categoría más grande y no es atómica. Una pata en un CEX significa riesgo de inventario real, capital real y una cobertura que financiar —el manual de financiación entre exchanges aplicado con una pata anclada a un bloque, y una de las fuerzas que empujan la cadena de suministro de MEV hacia los constructores que ven la mayor parte del flujo.
El arbitraje en cadena parece, desde fuera, un rompecabezas sobre cómo encontrar ciclos ocultos. Desde dentro, es una subasta, y el rompecabezas se resolvió para todos al mismo instante. Saber dónde está el ciclo nunca ha sido la ventaja. Ganar el puesto, o comerciar donde nadie más puja, siempre lo fue.
Referencias
- Daian, Goldfeder, Kell, Li, Zhao, Bentov, Breidenbach, Juels (2019), Flash Boys 2.0: Frontrunning, Transaction Reordering, and Consensus Instability in Decentralized Exchanges. arXiv:1904.05234.
- Heimbach, Pahari, Schertenleib (2024), Non-Atomic Arbitrage in Decentralized Finance. arXiv:2401.01622 (IEEE S&P 2024).
- Robinson & Konstantopoulos (2020), Ethereum is a Dark Forest.
- Documentación de préstamos flash de Aave v3 y flash-swap de Balancer / Uniswap v3 (tablas de tarifas).
- Documentación de Flashbots: MEV-Boost, MEV-Share, subastas de flujo de órdenes (docs.flashbots.net).
Authors
Trading-systems engineer
Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.