Tabla de enlaces
Resumen y 1. Introducción
- Fondo
- Trabajo relacionado
- MEV Discovery
- Extracción MEV
- Conclusión y referencias
4 mev descubrimiento
La etapa inicial de nuestra metodología implica identificar oportunidades rentables en la crimson FCFS de Algorand. Dado el número sustancial de arbitrajes en Algorand [20]nos centramos en desarrollar un algoritmo para detectar estas oportunidades. Investigación previa sobre Ethereum por Zhou et al. [18] Detección demostrada de arbitraje cíclico en tiempo actual utilizando un método codicioso en un pequeño conjunto de activos, con descubrimiento de entrada comercial a través de incrementos graduales. En este trabajo, proponemos un algoritmo en tiempo actual adaptado a las limitaciones de tiempo específicas de Algorand, con el objetivo de identificar casi todos los ciclos de arbitraje emergentes e incorporar una técnica de optimización de entrada más eficiente.
Para evaluar la eficacia de nuestro algoritmo, recopilamos datos de estado de Algorand y ejecutamos el algoritmo posterior a la finalidad de cada bloque. Presentamos los resultados en entornos no restringidos y con restricciones de tiempo, siendo este último más relevante para la dinámica competitiva de una crimson FCFS. Este enfoque nos permite evaluar la practicidad y eficiencia del algoritmo en un entorno de cadena de bloques del mundo actual.
4.1 Algoritmo de detección de arbitraje cíclico
El algoritmo se limita a operar dentro de una ventana de tiempo predefinida τ, que, para las redes FCFS, depende de la hora de llegada de la primera transacción, cambiando el estado de un grupo relevante. En tales redes, la posición deseada en un bloque solo se puede lograr cronometrando correctamente la emisión y propagación de la transacción a la crimson. En blockchains basados en tarifas, como Ethereum, Min τ es igual al tiempo de bloqueo (ignorando la latencia de propagación de la crimson), ya que la posición dirigida aún se puede obtener emitiendo una transacción con tarifas suficientes en cualquier momento antes de que se extraiga el bloque.
4.2 Configuración de evaluación empírica
Para probar el rendimiento de nuestro algoritmo, construimos una configuración histórica de recopilación de datos de estado. Aprovechando las capacidades API del nodo Algorand, establecemos un proceso que escucha continuamente a nuestro nodo invocando el punto de ultimate/v2/standing/wait-for-block-después/redondo[14]. Este método establece un canal de espera interno dentro del nodo que desbloquea al alcanzar la ronda deseada, notificándonos así de nuevos bloques. Al mismo tiempo, utilizamos las utilidades SDK de varios DEXs en la crimson Algorand para obtener datos de reserva de grupos después del precio invariante de precio de CPMM. Estos datos, esenciales para el descubrimiento de arbitraje, se almacenan para cada ronda, manteniendo una visión common continua e integral del mercado. Los datos del precio del token de algo para el cálculo de los ingresos se obtienen de [4].
4.3 Limitaciones
En nuestra metodología, enfrentamos ciertas restricciones que son importantes para considerar. En primer lugar, no hay una herramienta de bifurcación conocida en Algorand (como Ganache[15] en Ethereum) que nos permitiría construir el estado blockchain en un bloque deseado y ejecutar una transacción. Por lo tanto, construimos nuestra tubería para construir estados históricos. Debido a la limitación de este enfoque, nos centramos solo en un subconjunto de activos, piscinas y protocolos DEX. Por ejemplo, tuvimos que excluir el Humbleswap Dex, ya que no proporcionó un SDK con baja latencia. Por lo tanto, los arbitrajes que descubrimos en los bloques finalizados solo representan un límite inferior. Además, nuestro enfoque se centró en recopilar datos de estado sobre bloques finalizados en lugar de una recopilación de datos a nivel de crimson más integral en la memoria, probablemente conduce a subestimar las oportunidades de arbitraje whole. También simplificamos nuestro modelado financiero, sin tener en cuenta las tarifas de préstamos flash y asumiendo la disponibilidad inmediata de activos iniciales, lo que podría no reflejar las condiciones comerciales del mundo actual.
4.4 Resultados
Hemos rastreado 136 activos, intercambiados en 255 piscinas, en tres DEXs diferentes (TinyManv1, TinyManv2, PACT), a partir del bloque 32 608 011 (Jue, 05 de octubre de 2023 00:49:42 GMT) hasta el bloque 33 039 007 (sábado 21 de octubre 2023 21:05:40 GMT). En estos 16 días, se construyeron 430 996 bloques en la cadena de bloques de algorand. En 30 828 (7.1 %) de ellos, las reservas de al menos un grupo que rastreamos se actualizaron, y ejecutamos el algoritmo de detección de arbitraje.
4.4.1 Descubrimiento de arbitraje sin restricciones
Antes de analizar el rendimiento limitado por el tiempo de nuestro algoritmo, dejamos que funcione sin restricciones para observar la máxima rentabilidad de los arbitrajes del estado de bloque. Para comparar su rendimiento, también calculamos las ganancias de arbitraje ejecutadas en el mismo rango de bloque, utilizando las heurísticas definidas en [20].
La Figura 1 muestra los gráficos de ingresos para los arbitrajes descubiertos a través de nuestro algoritmo, que solo ejecutamos en estados de bloque finalizados (azul) versus los arbitrajes ejecutados en la realidad (verde). El marcado dominio de los ingresos de arbitraje realizados muestra que los buscadores de MEV en Algorand explotan rápidamente las oportunidades de arbitraje dentro del bloque que emergen. Por lo tanto, en la mayoría de los casos, las discrepancias de precios no se trasladan al siguiente bloque. Si bien el ingreso máximo realizado de un arbitrageur es de 167.17 USD, encontramos, como máximo, una oportunidad de 32.2 USD en el estado de bloque que está completamente cerrado en los seis bloques posteriores. Cuando verificamos manualmente los diez arbitrajes más rentables para la ventana entre la posición de la transacción de creación de oportunidades y sus respectivos retrocesos, descubrimos que el primer retorno siempre se encontraba en la posición inmediata de la siguiente posición.
La eficiencia de los buscadores de MEV en Algorand en la ejecución de arbitraje, en línea con los resultados de [20]muestre que nuestro intento inicial de buscar MEV solo a nivel de estado de bloque es un enfoque ingenuo. En trabajos futuros, planeamos recopilar datos de transacciones en la Mempool directamente y ejecutar nuestro algoritmo después de cada operación en un grupo relevante para nosotros. De esta manera, podemos detectar las oportunidades cuando aparecen durante la construcción del bloque (no solo después de que se finalice el bloque) y encontrar sus ingresos óptimos. Actualmente, no podemos evaluar completamente si los buscadores de MEV reparar en el nivel de la crimson ejecutan sus estrategias con entradas optimizadas.
4.4.2 Descubrimiento de arbitraje limitado por el tiempo
El éxito de una estrategia de arbitraje depende de la ejecución antes de una actualización en las reservas de los grupos arbitrogados. Hemos introducido τ para denotar la ventana de tiempo antes de que dicha actualización ocurra como parte de la transacción de un arbitrageur competidor o por un comercio de usuarios inocente. Una estrategia competitiva de descubrimiento de arbitraje debe operar bajo τ. Por lo tanto, en esta sección, medimos el rendimiento de nuestro algoritmo con respecto a un espectro de valores τ.
Nuestros experimentos iniciales en los bloques de algorand y 430 996, en los que solo el 7.1 %de ellos tienen un grupo actualizado que rastreamos, muestran que los grupos relevantes para nuestro algoritmo de detección de arbitraje se actualizan en la mediana cada seis bloques (25 %: 2.0, 75 %: 17.0); Por lo tanto, τ está cerca de 19.8 s (tiempo de bloque ≈ 3.3 s). La Figura 2 muestra la distribución de los deltas de actualización estatal para el rango de fecha examinado. Curiosamente, el
Max State Replace Delta alcanza 294 bloques (∼16 min), aunque nuestro algoritmo no detecta ningún arbitraje de estado de bloque rentable en esta ventana.
El valor del tiempo Medimos la rentabilidad de nuestro algoritmo en función de τ para observar el impacto de la ventana de tiempo de ejecución disponible en el valor descubierto. Aunque hemos detectado un delta de actualización estatal mediana de seis bloques (τ = 19.8), debido a la naturaleza competitiva de las oportunidades intra-bloques (ver Sección 4.4.1), realizamos experimentos en un rango de τ ∈ [0.2, 19.8]. Además, consideramos τ = ∞ para encapsular la rentabilidad máxima en ese bloque.
La Figura 3 muestra la diferencia de ingresos porcentual de los valores de τ a los ingresos máximos descubiertos cuando τ = ∞, con la diferencia media (µ) indicada en la leyenda de la gráfica. Los resultados indican que los ingresos de arbitraje descubierto solo se degradan significativamente cuando τ es muy bajo (a 0.2 s, 84.39 % menos de ingresos de arbitraje). Por otro lado, se alcanza la rentabilidad casi máxima cuando τ está cerca del tiempo de bloqueo (3.3 s). Si bien la diferencia de ingresos que observamos depende de la infraestructura, ejecutamos el algoritmo para medir los tiempos de ejecución y el tamaño del conjunto de grupos que consideramos, nuestro análisis produce una intuición sobre la influencia positiva del tiempo de ejecución disponible en el valor descubierto.
Por orden de llegada Hasta ahora, hemos adoptado la estrategia de selección de arbitraje codicioso y maximizante y codicioso, como se discutió en la Sección 4.1. Sin embargo, dado que hemos observado que los buscadores de MEV en Algorand no dejan una cantidad significativa de ganancias para el arbitraje del estado de bloque, debemos optimizar aún más el tiempo de ejecución de nuestro algoritmo para ser competitivo en el arbitraje a nivel de crimson. En ese sentido, adoptamos una estrategia FCFS para la selección de arbitraje (como se presenta en la Sección 4.1), que no espera considerar todos los arbitrajes disponibles y seleccionar los más rentables, pero los emite tan pronto como se calcule su entrada óptima. Si bien esta estrategia puede generar ingresos menos óptimos, potencialmente ahorra un tiempo valioso.
La Figura 4 muestra la diferencia de ingresos entre los FCF y las estrategias de maximización de ganancias, para diferentes valores de τ. Si bien la disparidad es de solo 5.36 % cuando los algoritmos se ejecutan durante 0.2 s, la diferencia entre las dos estrategias se vuelve más significativa al aumentar los valores de τ. Esto se debe a que, con más tiempo, la estrategia de maximización de ganancias descubre un conjunto más amplio de oportunidades y los considera a todos al elegir los arbitrajes más rentables que se emitirán. La estrategia FCFS, por otro lado, siempre ejecutará el primer arbitraje que encuentra; Por lo tanto, con mayor tiempo, la probabilidad de encontrar un arbitraje que se superponga con uno ya tomado también aumenta. Para minimizar la diferencia de ingresos entre los dos enfoques, la estrategia FCFS requiere aplicar una regla de priorización sobre los ciclos de arbitraje candidato antes de procesarlos. En nuestros experimentos, ordenamos los ciclos de candidatos basados en la liquidez existente en los grupos involucrados, aunque se pueden desarrollar reglas más sofisticadas modelando el problema en un dominio de aprendizaje automático.
Autores:
(1) Burak Oz, Universidad Técnica de Munich;
(2) Jonas Gebele, Universidad Técnica de Munich;
(3) Parshant Singh, Universidad Técnica de Munich;
(4) Filip Rezabek, Universidad Técnica de Munich;
(5) Florian Matthes, Universidad Técnica de Munich.
[13]
[14] https://github.com/algorand/go-algorand/algod/api/server/v2/
[15]