La fascinante historia de mí sumergiéndome profundamente en un negocio de arbitraje en la plataforma blockchain más activa.
Esta historia comenzó una larga noche mientras analizaba rutinariamente el desempeño de los comerciantes en la cadena de bloques de BSC. Estaba usando nuestro motor de análisis de datos Datamint para buscar a los actores más rentables . Este motor contiene datos históricos y en vivo que se transmiten constantemente desde la cadena de bloques más activa en términos de cantidad de usuarios activos diarios: BNB Smart Chain (antes Binance Smart Chain). Tenía la hipótesis de que era posible encontrar información comercial a partir del comportamiento de estos comerciantes.
De repente, algo llamó mi atención. Encontré un comerciante que logró sobrepasar el mercado en 270 BNB (65 000 $ en el momento de escribir este artículo e incluso más que eso en el momento de la negociación). Usó solo intercambios descentralizados (DEX) para lograr este resultado.
Bueno, "no genial, no terrible", pensé. Luego, ejecuté una consulta para comprender cuánto tiempo le tomó lograr este resultado. La consola de consulta pensó durante unos segundos y me dejó con una respuesta sorprendente: un día. ¿En serio? Está bien, pero ¿cuántas transacciones envió? ¿Solo uno? ¿Como puede ser?
Bueno, es técnicamente posible hacer múltiples tratos en una sola transacción. En cadenas de bloques similares a Ethereum (como Polygon, Avalanche C-Chain, muchas otras y, por supuesto, BSC), esto requeriría que escriba e implemente un contrato inteligente. Necesitará codificar en lenguaje Solidity, pero no es tan difícil si tiene algo de experiencia en codificación (solo tenga en cuenta que la mayoría de los ejemplos de código de "Uniswap Arbitrage Bot" promocionados en línea son estafas que simplemente le roban su dinero).
Pero, ¿cómo exactamente puedes extraer tanto valor en un paso atómico?
Es hora de verificar el contenido de la transacción.
Echemos un vistazo más de cerca a lo que está sucediendo aquí.
Vemos que este tipo afortunado toma 1500 BNB y los cambia a la moneda estable BUSD. Luego, cambia BUSD a BSC-USD (otra moneda estable vinculada al dólar). Después de eso, el comerciante cambia BSC-USD a CAKE (el token nativo del protocolo DeFi de Pancakeswap), que luego se vuelve a cambiar a BNB en su forma envuelta. Al final, el comerciante obtiene 1769 BNB , extrayendo efectivamente 269 BNB de ganancias .
Esto se llama arbitraje. Muchos activos se negocian en múltiples intercambios descentralizados (DEX) y los precios en diferentes DEX y pares de activos cambian constantemente. Un actor inteligente puede aprovechar estas discrepancias de precios y extraer valor en una sola transacción.
Después de investigar un poco, descubrí que este ejemplo, aunque impresionante, no es tan común debido a dos cosas. Primero, en este caso, el jugador usó su propio capital para negociar. En segundo lugar, extrajo una cantidad realmente grande.
Así que aquí hay otro ejemplo mucho más común de arbitraje:
En primer lugar, puede ver que el orden de las operaciones es extraño. El arbitrajista toma fichas de un fondo de liquidez antes de pagarlas. Esto se llama un "préstamo flash" . Los protocolos de intercambio como Uniswap v2 (Pancakeswap y la mayoría de los demás DEX en BSC son bifurcaciones de Uniswap v2) le permiten tomar cualquier cantidad de dinero (hasta la cantidad total de liquidez del grupo). Pero debe pagar todos los fondos prestados con una tarifa antes de que finalice la transacción . El protocolo no conlleva ningún riesgo aquí porque revertirá la transacción por la fuerza si no paga el préstamo por completo.
Entonces, este arbitrajista aprovecha los préstamos rápidos. De esta manera, puede ejecutar el arbitraje sin un centavo de capital de trabajo (excepto los costos de gas). Pero también tenemos otra diferencia aquí: la pequeña ganancia. El comerciante obtuvo solo 1,26 $ y pagó algo así como 0,54 $ por la gasolina. Entonces, su ganancia neta por esta transacción fue menos de 1$. Sin embargo, arbitrajistas como este pueden hacer docenas de intentos de arbitraje por minuto. Esto significa que probablemente todavía ganó mucho. Pronto, sabremos cuánto exactamente.
En este punto, estaba tan emocionado con estos ejemplos que decidí profundizar más. Estaba decidido a averiguar cómo funciona exactamente este mercado. Y tal vez... descubra cómo ganar un Lambo entrando en un negocio de arbitraje 😃.
Spoiler : todavía no tengo un Lambo, pero este fue un viaje fascinante. También aprendí mucho sobre arbitraje e incluso traté de ponerme en el lugar del arbitrajista.
¿Estás listo para seguirme en este viaje? ¡Empecemos entonces!
Decidí comenzar calculando cuánto ganan los arbitrajistas.
Hoy, estamos hablando únicamente de los llamados "árbitros" flash. Estos son los tipos que toman un préstamo rápido, ejecutan transacciones, pagan el préstamo y se quedan con las ganancias, todo en una sola transacción.
Esta parte del mercado de arbitraje es muy dulce. De hecho, no necesita capital de trabajo para hacerlo y no corre el riesgo de perder su capital. Cuando envía la transacción, gana o la transacción se revierte. Solo pierde una pequeña tarifa de gas, generalmente menos de 10 centavos. Pero, ¿cómo calcular las ganancias totales de los arbitrajistas relámpago? Después de algunos experimentos con una revisión manual, se me ocurrió una consulta que sigue los siguientes pasos:
Filtre solo las transacciones que cumplan los siguientes criterios:
- Valor extraído en uno de los activos más líquidos de BSC: BNB, BUSD, USDT, USDC, WBTC o WETH.
- El receptor tx no es un contrato público (como el enrutador PancakeSwap, por ejemplo). Excluimos estos contratos para calcular correctamente las tarifas totales de gas de arbitraje, incluidas las tarifas por intentos fallidos.
Averigüe el creador del contrato: lo necesitamos porque un arbitrajista puede tener varios contratos y queremos agruparlos.
Calcule los ingresos totales y convierta todos los ingresos a valor en USD utilizando el precio DEX en BUSD del activo medio del día de la operación.
Calcule los costos de gas para intentos exitosos y fallidos.
Nota: Cuando se habla de la ganancia de los arbitrajistas, nos referimos a la ganancia bruta : ingresos menos costos de gas. En realidad, lo más probable es que los arbitrajistas tengan otros costos significativos que incluyen la nómina del equipo de I+D y los pagos de infraestructura (alquiler de servidores, enlaces de redes privadas, etc.). La estructura de costos exacta es el conocimiento del arbitraje del arbitrajista, no podemos descubrirlo con el análisis en cadena. Esta herramienta es poderosa pero obviamente tiene limitaciones.
La consulta resultante resultó ser realmente intensiva en computación. En circunstancias normales, podría haber tardado días o semanas en ejecutarse (especialmente dado el enorme tamaño del archivo de BNB Smart Chain). Sin embargo, gracias a la base de datos analítica muy rápida en el núcleo del motor de análisis de datos de Datamint y la ayuda de mis colegas con optimizaciones de consultas, obtuve todos los datos en cuestión de minutos. Luego, conecté una herramienta de visualización a los data marts resultantes. Y aquí lo tienes: el Datamint BSC Flash Arbitrage Monitor . Puedes verlo en vivo en nuestro sitio web (ver el enlace al final del artículo).
Pero volvamos a nuestro análisis. Podemos ver que todos los arbitrajistas rentables ganaron 138,05 millones de $ desde el 1 de enero de 2021. Esta es esencialmente casi toda la historia de BNB Smart Chain. BNB Smart Chain se lanzó en septiembre de 2020 y cobró impulso en el cuarto trimestre de 2020.
También podemos ver una disminución lenta pero constante en las ganancias de los arbitrajistas. (Eso excluye los picos que discutiremos más adelante). Interpreto este declive como el hecho de que los mercados DeFi se están volviendo más maduros y eficientes, dejando menos espacio para la extracción de valor por arbitraje.
Me sorprendió la cantidad de arbitrajistas que sufren pérdidas directas, algunos de los cuales pierden miles de dólares .
Y esto no se debe a los costos de la gasolina (los costos de la gasolina son realmente una pequeña fracción de los ingresos para la gran mayoría de los arbitrajistas). Realmente no tienen que soportar estas pérdidas porque puede revertir una transacción si ve que está a punto de tener una ganancia negativa. Solo puedo pensar que sus pérdidas se deben a un mal trabajo de matemáticas. Y esto no es tan sorprendente ya que este dulce mercado atrae tanto a profesionales como a aficionados.
Echemos un vistazo al tipo más exitoso, lo llamo "El rey del arbitraje BSC" . Ha estado en el juego desde el principio y ganó casi 8 millones de dólares a fines del segundo trimestre de 2022 .
Posee 32 contratos de arbitraje, todos rentables (bueno, es un profesional, sin duda). Al observar su dinámica de ganancias, vemos que sus ganancias son generalmente más bajas en 2022 que en 2021. Esto se debe en parte al mercado más eficiente y en parte al precio más bajo de BNB ( el precio promedio de BNB en 2022 es ~300$ vs ~ 400 $ en 2021 ) y la caída general del mercado. Sin embargo, podemos ver un gran aumento en sus ganancias en mayo. Por lo general, ganaba entre 5 y 15 000 $ por día en 2020. ¡ Pero el 12 de mayo ganó la asombrosa cantidad de 320 000 $! (Me imagino la fiesta salvaje que tuvo su equipo esa noche). ¿Cómo?
Bueno, para obtener la respuesta correcta, solo tenía que buscar en Google "¿Qué sucedió en el mercado de cifrado el 11 y 12 de mayo de 2022?". Pero decidí profundizar más en los datos en cadena. Quería aprender todo de la manera difícil. Por lo tanto, armé la segunda consulta que me permitió desglosar las ganancias de arbitraje por activos utilizados en el arbitraje.
Nota: muchos arbitrajes implican 3 e incluso 4 activos seguidos, por lo que las cifras del siguiente diagrama no son aditivas (el beneficio total del trato se acredita a todos los activos participantes).
Cuando ejecuté la consulta y configuré el filtro de fecha para el 11 de mayo, entendí todo de un vistazo.
Sí, fue LUNA y UST . Este fue el día en que la falta de liquidez en el protocolo LUNA hizo que la moneda estable algorítmica UST se desvinculara del USD. Luego, la acuñación automática masiva de tokens LUNA hizo que su precio cayera al abismo.
Pero, ¿cómo afectó esto a las ganancias de los arbitrajistas? Es fácil.
Cuando suceden cosas como esta, se producen ventas masivas. Y las grandes ventas en el protocolo DEX significan grandes cambios de precios. Esto provoca grandes discrepancias de precios entre diferentes DEX (por ejemplo, Pancakeswap y BiSwap) . Y esto es exactamente lo que anhelan los arbitrajistas. Cuando las personas comienzan a entrar en pánico, tienden a vender más rápido en lugar de vender a un precio óptimo. En tiempos normales, dividirían su pedido, comenzarían a vender en un par con mayor liquidez, esperarían a que se recuperara el precio, etc. Pero ese día, no tuvieron suficiente tiempo para hacer todo eso. Además, los liquidadores cerraron muchas posiciones en protocolos de préstamos en cadena sobrecolateralizados (generalmente utilizados para acortar). Las garantías se vendieron automáticamente para cubrir los préstamos. Estas ventas automáticas masivas también crearon ineficiencias. Todo esto trajo 320k$ a nuestro orgulloso Rey del Arbitraje BSC. El beneficio total para todos los arbitrajistas en ese único día fue de más de 2 millones de dólares.
Para tener una idea de qué activos ( y, específicamente, combinaciones de activos que llamo "caminos" ) son los más rentables en tiempos "normales", tuve que armar otra consulta. Esta consulta agrupó las ganancias (nuevamente, de forma no aditiva) por rutas ordenadas en lugar de activos individuales . Luego, ajusté el filtro de fecha para excluir los picos de las observaciones.
Esperaba que los caminos formados exclusivamente por los activos más líquidos y populares como CAKE, ALPACA y SHIB serían los más rentables. Pero eso no era cierto.
Por alguna razón, muchas de las rutas más rentables incluían el token FIST , del que nunca había oído hablar antes. Una breve búsqueda en Google me mostró varios sitios web que afirman ser FistSwap o FstSwap DEX afiliados al token FIST. Al menos algunos de ellos son definitivamente estafas. Estoy seguro de que una mayor investigación aquí puede aportar ideas interesantes, pero decidí que esto está fuera del alcance de esta investigación.
Una cosa interesante es que no pude encontrar ninguna correlación significativa entre la volatilidad del mercado y las ganancias de arbitraje .
Esta es mi hipótesis inicial: cuanto más volátil es el mercado, más ganan los arbitrajistas. Sin embargo, aparte de varios picos grandes, no pude identificar ninguna relación sólida entre las ganancias de arbitraje y la volatilidad.
Bien, ahora sabemos dos cosas principales. Primero, el mercado de arbitraje tiene algo de dinero. En segundo lugar, los valientes aún pueden encontrar oportunidades de ganancias que perseguir a pesar de la disminución constante de las ganancias generales en USD.
Sin embargo, antes de profundizar más, queremos saber algo muy importante:
Porque si el mercado es injusto, no importa cuánto dinero tenga, no podrá eliminar al jugador compartido con alguna ventaja secreta. Y tenemos muchas razones para sospechar de la equidad del mercado. Esto se debe a que algunos actores de BNB Smart Chain pueden tener una gran ventaja. Este es el por qué.
Cuando aparece la oportunidad de arbitraje, todos los arbitrajistas intentan retroceder. Esto significa que colocan su transacción exactamente en la siguiente posición después de la transacción que crea la oportunidad (por ejemplo, un intercambio de 2000 BNB por CAKE). Estoy llamando a esta transacción "un disparador" . El ganador se lo lleva todo, los demás solo pagan gasolina por un intento fallido. Para ser tan rápido, los arbitrajistas deben correr para detectar el disparador en el mempool (almacenamiento temporal para transacciones pendientes). Luego, primero tendrán que enviar su transacción de arbitraje al validador.
Obviamente, dos tipos de actores tienen una gran ventaja aquí: los nodos RPC (que obtienen transacciones a través de la API RPC desde, por ejemplo, su billetera Metamask) y los nodos Validator.
Los nodos de validación pueden reordenar las transacciones a su favor e incluso extraer transacciones de forma privada sin enviarlas al mempool. Esta ventaja se llama MEV (Valor Extraíble Minero). En la red Ethereum, incluso encontramos una iniciativa especial llamada Flashbots MEV . Esta iniciativa intenta brindar un acceso justo a la minería privada. Sin embargo, el BSC no tiene nada como esto. Solo tiene 21 validadores. Y en cualquier momento podemos sospechar que estos validadores están jugando al arbitraje para aumentar sus ganancias.
Entonces, primero echemos un vistazo a la distribución de la cuota de mercado.
Desde el 1 de enero de 2021, he observado a 1972 arbitrajistas usando 6689 contratos personalizados . Y solo 430 de ellos fueron rentables (con 2648 contratos rentables). Si observamos la situación actual (digamos, Q2 2022), vemos 129 arbitrajistas rentables de 645 en total . El mercado también está bastante consolidado: los 7 mejores jugadores tienen más del 50 % del mercado y los 20 mejores tienen más del 80 %. Sin embargo, muchos jugadores más pequeños todavía están dentro de la cola de la distribución de ganancias y aún ganan su centavo.
Bueno, este tipo de distribución de mercado no revela qué tan justo es el mercado. Necesitamos otra forma de averiguarlo.
Ahí es cuando queremos usar la bola de cristal de datos en cadena 🔮 nuevamente .
En este momento, tenemos el historial completo de todas las transacciones de arbitraje exitosas. Y para cada transacción, sabemos el número del bloque. También conocemos la dirección (ya veces el nombre) de su validador. Podemos suponer que es poco probable que cualquier arbitrajista tenga relaciones "especiales" con los 21 validadores a la vez. Entonces, si un arbitrajista está aprovechando MEV, su beneficio debería estar sesgado hacia algún validador .
Bien, parece que es hora de otra consulta. Esta vez, tomé el período de tiempo desde el 1 de enero de 2021 y calculé los siguientes indicadores para cada árbitro exitoso: ganancia total, ganancia promedio por transacción, cuántas transacciones exitosas realizaron y, lo más importante, la mayor participación en las ganancias que tienen. con un solo validador.
En teoría, si un arbitrajista no tiene ninguna preferencia por los validadores, este indicador "topValidatorProfitShare" debería estar cerca de 1/21 = ~5%. En realidad, muchos otros factores pueden sesgar la tasa de éxito. Por ejemplo, los nodos del árbitro pueden compartir el mismo centro de datos con algunos de los validadores. O sus nodos pueden tener emparejamiento directo con un validador. Heurísticamente, asumiría que todo lo que está por debajo del 20% es un indicador de juego limpio.
Entonces, ejecuté una consulta y ordené el resultado por ganancia total. Y…
Bueno, al menos los 10 principales arbitrajistas no muestran signos de relaciones especiales con los validadores. La primera entrada sospechosa (0x92ef7fac0708fc3c49921907361429ec14cd8cb6) está en la posición 15 con el 39% de las ganancias. Ganó 1,1 millones de dólares en total a partir de bloques validados por NodeReal. Pero aún así, esto no es suficiente para decir que esto es un juego desleal. Una entrada aún más sospechosa (0xba5276f63492b351c7227a4f285593cefa250ad3) está en la posición 45 con el 89% de las ganancias. Obtuvo 566k$ en total de bloques validados por HashQuark. Puede ser una fuerte señal de afiliación, pero en este caso, la ganancia total parece demasiado pequeña. Es aproximadamente 6 veces menos que 1/21 del mercado total.
Luego, traté de verificar que esta entrada es especial en afiliación con HashQuark. Seleccioné solo arbitrajistas "favorecidos" por HashQuark y los clasifiqué por su " topValidatorProfitShare" descendente.
El tipo sospechoso está en primer lugar. Y, por cierto, realmente tiene una ganancia promedio asombrosa por operación exitosa: 331 $. Eso es mucho. Sin embargo, en segundo lugar, no vemos absolutamente ningún arbitrajista notable con una ganancia total de menos de 2k$. Al mismo tiempo, su topValidatorProfitShare es solo un dos por ciento menor que el primero. No parece que se beneficie de la afiliación. También tiene más de 6674 tratos exitosos, por lo que esto no parece un accidente.
Bueno, ¿tal vez ambos comparten accidentalmente el mismo estante en el centro de datos? Nunca lo sabremos con certeza.
Sin embargo, puedo decir que en general, para un mercado tan competitivo, la evidencia de afiliación es muy débil (o muy bien disfrazada) . Parece que la mayoría de los jugadores están jugando limpio y ninguna ballena domina el mercado. 😌
Bien, ahora sabemos que el mercado de arbitraje flash en BNB Smart Chain tiene un tamaño decente, una estructura aparentemente justa y muchas oportunidades. ¡Parece que estamos listos para entrar y luchar por el Lambo!
Bueno, ¡no tan rápido! Todavía falta una pieza del rompecabezas.
¿Cómo se crean las oportunidades de arbitraje?
Sabemos cómo funciona eso en general: grandes intercambios DEX, liquidaciones, etc. Pero para comenzar a monitorear mempool, necesitamos saber exactamente qué tipos de transacciones desencadenantes observan los arbitrajistas.
Volvamos al afortunado que extrajo más de 60k$ en una transacción. ¿Recuerda? Ese tipo comenzó mi viaje fascinante. Al explorar el bloque en BSCScan explore, podemos encontrar fácilmente su transacción desencadenante. Esta es la transacción en el mismo bloque extraído inmediatamente antes de la transacción del arbitrajista. Aquí está:
Esta es una transacción de liquidación del protocolo de préstamos de Alpaca Finance. Alguien tenía una posición muy importante en este protocolo y, claramente, no era exactamente su día. Su posición se liquidó y su garantía se vendió automáticamente en PancakeSwap DEX .
Obviamente, verificar los disparadores para cada decenas de millones de transacciones de arbitraje no es una opción. Y ya sabes cómo voy a solucionar este problema.
Servidores y bases de datos Datamint, herramientas de análisis de datos y unas cuantas tazas de ☕️ .
Esta consulta fue probablemente la más complicada y la que más requirió de cómputo. Cuando presioné "Ejecutar", casi podía escuchar a los fanáticos de nuestros servidores de datos aullando como motores a reacción. Afortunadamente, esta tortura del servidor no duró mucho y obtuve mis resultados.
Por lo tanto, los resultados no sorprenden en absoluto. Más de un tercio de las ganancias de arbitraje implican transacciones con PancakeSwap DEX como disparador . La función más popular para servir como disparador es "swapExactTokensForTokens" . Representa ~14% de todas las ganancias . Esta función es una parte de Uniswap V2 bifurcada por la mayoría de los DEX en BSC, por ejemplo, BiSwap, ApeSwap, etc. Lo único sorprendente es nuevamente FstSwap (¿o FistSwap?) En segundo lugar justo después de PancakeRouter.
En este punto, simplemente podemos elegir cualquier combinación de direcciones y funciones de activación. ¡Y ahora, estamos listos para los experimentos!
Mi equipo y yo dedicamos algunos recursos a realizar una investigación más profunda sobre los factores desencadenantes. Principalmente, estuvimos analizando la relación entre la competencia y la rentabilidad de diferentes disparadores. Sin embargo, esto está claramente fuera del alcance de este artículo. Por lo tanto, contáctenos si está interesado en obtener más detalles.
En este punto, tenía toda la teoría que necesitaba, pero la teoría no es nada sin la práctica. Lo que significa…
Debo comenzar con un descargo de responsabilidad: mi objetivo no era construir un bot de arbitraje flash rentable. No me hago ilusiones y entiendo perfectamente que esta es una tarea de desarrollo compleja.
Mi objetivo real era cortar las esquinas tanto como fuera posible. Quería entender qué tan grande es la distancia entre un jugador experimentado en el mercado y un novato**.**
Entonces, decidí que NO :
1. Implementar simulación o estimaciones heurísticas para el beneficio potencial creado por cada transacción. Supongo que aquí es donde los arbitrajistas profesionales compiten en velocidad de cálculo. Para mi investigación, crearé el gatillo yo mismo y responderé solo a mi propio gatillo.
2. Redactar e implementar un contrato de arbitraje real . Esto no es tan difícil, pero no lo necesito para mi investigación. Si puedo poner mi transacción ficticia al lado de mi propia competencia de activación, entonces redactar el contrato es una cuestión de técnica.
3. Realice optimizaciones específicas . No modificaré los nodos de blockchain, optimizaré la infraestructura, las redes, etc. Esta es una madriguera de conejo. Y si no puedo ganar sin él, definitivamente no será un camino fácil.
Teniendo todo esto en mente, hice girar un nodo BSC y escribí un script simple en Python. De esta manera, podía monitorear todas las transacciones nuevas en el mempool buscándolas constantemente a través de la conexión IPC. Luego, podría buscar mi disparador diseñado e inmediatamente enviar una transacción ficticia de respuesta (transferencia de 0 BNB a mi propia cuenta).
Así es como debería haber funcionado en teoría.
Pero quiero decir algunas palabras sobre la elaboración de un gatillo. Necesitaba enviar una transacción que llamara la atención de los arbitrajistas activos. Este debería ser un gran intercambio por al menos 10k $. Pero, ¿cómo puedo hacer esto si no quiero poner dinero real en el juego? Afortunadamente, cuando compiten por la velocidad de reacción en el mempool, los arbitrajistas no tienen tiempo para verificar si el remitente tiene fondos para realizar el intercambio solicitado.
Entonces, tomé mi propia transacción de intercambio pequeño como ejemplo y la edité.
De esta forma, apareció como un swap de 1m$ (BUSD) a CAKE en Pancakeswap .
Así es como se veía la carga útil de la transacción en BSCScan.
El primer experimento ha demostrado que este enfoque funciona perfectamente. Mi activador fue minado, revertido (ya que aún no tengo 1 millón de dólares en mi billetera 😆) y retrocedido por aproximadamente 400 intentos de arbitraje. 400... En ese momento, estaba pensando que mi intento de exagerar a los grandes estaba condenado.
Pero yo estaba comprometido a poner la cosa a través. Entonces, comencé mi secuencia de comandos de Python, esperé la inicialización de la conexión del nodo y envié mi disparador cuidadosamente diseñado utilizando el campo de datos hexadecimales personalizado de Metamask y el codificador ABI (interfaz binaria de la aplicación) en línea . Casi de inmediato, vi una notificación en la consola del nodo de que se detectó un activador en el mempool y se envió la transacción de respuesta ficticia. Después de unos segundos, se minaron ambas transacciones y abrí BSCscan (lo cual no es fácil de hacer cuando cruzas los dedos). Evalué los resultados:
Mis expectativas eran bajas, pero santo cielo, el resultado fue bastante decepcionante. Aunque logré poner mi transacción de respuesta en el mismo bloque que el disparador, perdí la batalla contra cientos de otros arbitrajistas .
Eso significa que todos ellos tenían una enorme ventaja de infraestructura: habían modificado nodos potentes, soluciones de red especiales, mejores emparejamientos con otros nodos y algunas otras optimizaciones que ni siquiera conozco.
¿Deberíamos detenernos aquí? Habría sido inteligente, pero quería llevar las cosas al extremo. Iba a presentar una prueba muy dura a los arbitrajistas activos.
Aquí hay una breve digresión para comprender mejor cómo funciona el protocolo Ethereum P2P . Cuando un nodo obtiene nuevas transacciones (ya sea de RPC o de otros nodos), las agrega al mempool. Luego, los retransmite a otros nodos conectados (peers). Este proceso tiene 2 cosas especiales :
Conociendo estas dos cosas, podría simular una enorme ventaja de mi parte.
Podría enviar transacciones de activación y respuesta en un solo paquete .
También podría estar seguro de que estoy enviando transacciones completas de inmediato. Entonces, en teoría, los arbitrajistas no deberían poder insertar sus transacciones entre mi disparador y mi respuesta. Están unidos en un paquete, por lo que no tienen latencia entre ellos.
Esta idea no parecía tan maravillosa como al principio, después de haber pasado horas investigando el código fuente de bsc-geth, el software de nodo oficial para BNB Smart Chain. Sin embargo, todo pasa y finalmente pude enviar paquetes personalizados a 150 pares de mi nodo.
Elaboré cuidadosamente las transacciones de activación y respuesta, las empaqueté en un solo paquete y las envié a mis pares. Nunca había estado tan nervioso al abrir BSCScan.
Lo que vi me dejó sin palabras.
¡El resultado fue casi el mismo que en la ejecución anterior! Todavía perdí contra más de 100 arbitrajistas. Como podría ser posible? Solo veo dos opciones aquí. O los validadores están en el juego (lo que es poco probable según los resultados de mi investigación) o... ¡O la cadena inteligente BNB tiene tantos nodos de arbitraje! Esto significa que pueden interceptar transacciones en cada ruta hacia el validador. Los árbitros encontrarán disparadores, insertarán sus propias transacciones de respuesta y retrasarán las transacciones de los oponentes más débiles (sí, como yo 😢).
Parece que las ganancias de arbitraje relámpago no son dinero fácil en absoluto. Lo más probable es que no consiga un Lambo de este mercado… Sin embargo, momentos antes de caer en depresión pensando en mis sueños rotos, recordé que mi negocio no es el arbitraje.
Trabajo en análisis de datos en cadena y servicios de datos de valor agregado. ¡Y esta investigación es excelente para mi negocio! Muestra cuánto puede aprender utilizando solo datos públicos de blockchain, las herramientas adecuadas y el compromiso .
Este fue un viaje fascinante que, una vez más, demostró el poder de los datos en cadena. Pero no cualquier dato; Me refiero a datos aprovechados con análisis adecuados y herramientas eficientes como el motor de datos Datamint . Y la historia no ha terminado, ya que hemos publicado en nuestro sitio web la aplicación analítica . Puede continuar el viaje usted mismo y buscar más información con él.
Pero para resumir esta investigación, reiteraré los hallazgos clave:
Eso es todo por hoy. Si le gusta esta historia, envíenos algunas líneas sobre temas que le interesen en el ámbito de los datos en cadena. Esto nos ayudaría a priorizar temas para el próximo contenido, incluidos artículos, investigaciones, herramientas en línea y seminarios web .
¡Que los datos te acompañen!
Sobre el autor *:* Ivan Vakhmyanin es un experto en visualización y análisis de datos (BI, Big Data, Data Science) con años de experiencia. También es un experto en blockchain y Web 3.0, lo que hace que los datos en cadena de las principales plataformas de blockchain (Ethereum, BNB Smart Chain, Solana, etc.) estén disponibles para su análisis. Ivan es un apasionado de compartir experiencias desarrollando programas educativos en el campo de la gestión basada en datos para especialistas y ejecutivos.
También publicado