https://miro.medium.com/max/1214/1*kSnA1Hi9wxOVvZpt1H7beQ.png

Introducción

El 25 de agosto de 2021, ocurrió el primer ataque frontal conocido en la red Karura. El front-running es una forma de extracción de valor y lo consideramos un robo. Ahora está llegando al ecosistema de Kusama y le costará a los usuarios minoristas millones de dólares en valor. Este artículo explica los detalles del ataque, cómo pudimos reproducirlo y qué planea hacer el proyecto Mangata para eliminar la extracción de valor.

¿Qué es la extracción de valor?

La extracción de valor es una de las amenazas más graves para DeFi . Es una forma de robo que realizan bots maliciosos que buscan transacciones genuinas recién enviadas a la cadena de bloques y luego agregan sus propias transacciones que están diseñadas para robar de la transacción genuina.

En la forma más simple, la extracción de valor se realiza influyendo en el precio de un swap DEX. Cada transacción en un DEX mueve el precio un poco en cierta dirección. Por ejemplo, si usa Karura DEX para cambiar kUSD por KSM, habrá menos oferta de KSM y, por lo tanto, el precio de KSM frente a kUSD aumentará. Los pioneros utilizan los llamados flashbots que escanean la cadena de bloques en busca de próximas transacciones y luego abusan de la dinámica de precios e insertan su propia transacción antes de tiempo (“front-run”) para extraer valor. Compran algunos tokens justo el momento antes de la transacción real y los venden unos momentos después y una pequeña ganancia va al bolsillo del atacante con cada transacción exitosa.

Pero el valor extraído no se extrae del DEX, sino de comerciantes honestos que tienen que pagar precios más altos a los intercambios porque el precio se manipula justo en el momento en que realizan sus operaciones. Esta es la razón por la que es una práctica ilegal en las finanzas tradicionales.

La primera extracción de valor exitosa conocida en Karura

Si bien la extracción de valor es bastante común en Ethereum y se roban alrededor de 0,34 ETH con cada bloque, no se ha visto en los ecosistemas de Polkadot y Kusama. Hasta ahora.

El 25 de agosto de 2021, se envió una transacción a la red Karura con la intención de intercambiar 100 000 kUSD en KSM . En el momento de escribir este artículo, el grupo de liquidez de kUSD-KSM en Karura tiene una profundidad aproximada de 6 a 7 millones de USD, por lo que una transacción que ofrezca 100 000 kUSD movería el precio lo suficiente como para ser considerado un objetivo para un flashbot. La transacción se incluyó en el bloque 400803 .

Nuestro presunto flashbot atacante vio la transacción pendiente y rápidamente insertó su propia transacción maliciosa para intercambiar 235 kUSD por KSM . La transacción fue incentivada con una propina de 0.001 KAR, probablemente para asegurarse de que se insertaría antes de la transacción original. Al hacer esto, el atacante pudo intercambiar sus propios kUSD por KSM antes de que la transacción original de 100 000 kUSD hiciera subir el precio de KSM. El atacante obtuvo 0.7627 KSM por sus 235 kUSD.

Dos bloques más tarde , (ahora que el precio de KSM era más alto), el atacante envió una transacción de “intercambio de retroceso” intercambiando el KSM de 0.7627 por kUSD . El atacante recibió 240,63 mil dólares

Solo con este ataque, el atacante pudo obtener una ganancia de 5,63 kUSD en el ataque. El costo de la ejecución inicial fue de 0,0066 KAR o alrededor de 0,05 USD.

Cómo lo replicamos

En Mangata, nuestra misión es poner fin a la competencia y el robo de los usuarios, también conocido como “extraer valor”. Es por eso que hemos configurado herramientas de análisis personalizadas para analizar constantemente la cadena de bloques en busca de ataques como estos, comprender su estructura y encontrar formas de prohibir dicho comportamiento en nuestra próxima paracadena Polkadot.

Esperábamos que tales ataques ocurrieran eventualmente, pero nos sorprendió que sucedieran tan rápido después del inicio del primer DEX en el ecosistema de Kusama. Una vez que nuestras herramientas de análisis nos alertaron del ataque, analizamos el patrón y confirmó nuestras sospechas. Para evaluar la viabilidad, intentamos reproducir este tipo de ataque: emparedar una transacción genuina con un front-run y un backswap.

Programamos nuestro bot para observar el grupo KAR-KSM en busca de transacciones relevantes. Una vez que el bot vio una transacción pendiente para intercambiar 100 KSM por KAR , rápidamente se adelantó para intercambiar 19 de nuestros propios KSM , pagando una propina de 0.003 KAR para adelantarse en la cola. Dos bloques más tarde, hicimos un backswap y obtuvimos una ganancia total de 0,03 KSM (~8 USD) de la transacción.

Análisis

Pudimos demostrar que la extracción de valor ya está ocurriendo en la cadena de bloques de Karura. Esto es solo el comienzo y, si bien la naturaleza universalmente accesible de las cadenas de bloques basadas en Substrate es un gran regalo para los desarrolladores de todo el mundo, también facilita atacar diferentes ecosistemas de cadenas de bloques y DEX con menos esfuerzo. Esperamos ver un fuerte aumento en la extracción de valor en los próximos meses y años. Como ya discutimos en una publicación de blog anterior, vemos la extracción de valor como uno de los mayores problemas en DeFi que no solo podría robar millones a los usuarios, sino también corromper cadenas de bloques enteras y detenerlas por completo.

La delantera es un robo y debemos ponerle fin. Es por eso que Mangata está desarrollando un mecanismo de consenso novedoso que tiene como objetivo evitar la extracción de valor y la ejecución anticipada. Nos enorgullece decir que recientemente completamos nuestro primer hito en el programa oficial de constructores de sustratos de Parity, que también muestra nuestra prueba de concepto para este nuevo e interesante enfoque.