¿Qué son los Flashs Loans o prestamos rápidos en DeFi?

Cuando hablamos de un Flash Loan nos referimos a un tipo de préstamo en el ecosistema de las finanzas descentralizadas (DeFi) que utilizan sobre de una red blockchain. Estos préstamos ofrecen fondos a los usuarios sin que estos necesiten aportar una garantía. En el último tiempo este tipo de préstamos ha tenido gran auge dado que los protocolos DeFi otorgan a los usuarios fondos para que estos puedan utilizarlos y devolverlos en una misma operación incluyendo, por supuesto, las comisiones correspondientes.

Si bien con un préstamo de estas características no podríamos acceder a la compra de un automóvil u otros bienes, son muy utilizados para realizar distintas actividades en el ecosistema cripto, como swapping colateral, trading de arbitraje, ahorro de tarifas de transacción y refinanciamiento de deuda, entre otros.

¿Cómo funcionan los Flash Loans?

Si bien alrededor de estos préstamos intervienen diversos conceptos, en gran medida estos pueden llevarse a cabo gracias al uso de una red blockchain. Gracias a esta tecnología es posible programar una transacción para que tome los fondos prestados, los movilice por distintos contratos inteligentes de otros protocolos, se realicen las operaciones de intercambio pertinentes, y al final de esa misma transacción el dinero del préstamo y sus comisiones sean reintegrados al protocolo inicial mientras el usuario se retira con sus ganancias.

Lo más relevante de este proceso es que todos estos movimientos se realizan en una única operación de forma instantánea y todo queda registrado en un mismo bloque de la blockchain, otorgando el beneficio a los usuarios de mantener la liquidez en su protocolo para las operaciones regulares (préstamos e intercambios) y permitiendo un nuevo modelo de préstamos que no afecten la liquidez real de su protocolo DeFi.

¿Qué es un ataque de Flash Loan?

Respecto a los ataques más comunes apuntando a estos préstamos rápidos, el principal punto está en el abuso de la seguridad de los contratos inteligentes de una plataforma. En este sentido, un atacante puede solicitar fondos que no requieren garantía y más tarde manipular el precio de un criptoactivo en una plataforma de intercambio y revenderlo rápidamente en otra.

Como señalábamos anteriormente, los Flash Loans permiten a los usuarios tomar prestamos por grandes cantidades de activos de un fondo común de liquidez en una blockchain. Fondos que se deben devolver dentro de la misma transacción. Pero entorno a este proceso, uno de los problemas que se plantea es que esos activos pueden utilizarse para manipular el mercado con una gran operación.

Al utilizar protocolos de exchanges descentralizados (DEX) que funcionan como el único oráculo de precios del protocolo, los riesgos aumentan, ya que los atacantes solo tienen que conseguir un préstamo flash en un token y canjearlo por otro en el DEX alterando así ambos precios: uno sube y el otro baja. Luego, van a su protocolo de destino y usan el segundo token para pedir prestada una cantidad aún mayor del primer token, pudiendo pagar su préstamo y embolsando la diferencia a fin de esperar que el mercado corrija el precio manipulado.

Para tomar dimensión del atractivo que representan las finanzas descentralizada para los cibercriminales, de 2020 a esta parte se reportaron unos 125 exploits utilizados para abusar de vulnerabilidades en el ecosistema de las finanzas descentralizadas que provocaron pérdidas por aproximadamente 3.900 millones de dólares.

Tal vez te interese:
 


Ataques de Flash Loan más comunes 

Para profundizar un poco más en este tema, a continuación repasamos los ataques más comunes, así como sus principales características y problemáticas asociadas.

Siguiendo la línea anterior, uno de los vectores de ataque claves vinculados a los prestamos Flash Loan son los posibles fallos en la programación de los contratos ingelitentes de los DeFi utilizados, ya que los cibercriminales pueden, por ejemplo, utilizar un exploit que aproveche una vulnerabilidad en la red blokchain que permita manipular el contrato inteligente y sacar redito propio.

Como hemos mencionado anteriormente, los exploits utilizados para llevar adelante ataques de Flash Loan buscan manipular el mercado al tomar prestados los mismos activos de múltiples plataformas de préstamos y explotar protocolos y tokens específicos. Sin dudas es un gran desafío para los desarrolladores contemplar todos los posibles puntos débiles, dado que los sistemas se desarrollan rápidamente dejando descubiertos varios aspectos de seguridad.

Por otra parte, el hecho de que haya tanto dinero en juego hace que muchos desarrolladores prueben diferentes métodos para encontrar fallos en los sistemas. Algunos atacantes aprovechan los cálculos incorrectos de los fondos de liquidez, otros intentan atacar mineros o errores de codificación, pero lo concreto es que hay una gran cantidad de ciberdelincuentes al asecho. En este sentido, es importante entender que los contratos inteligentes tienen un control total sobre los DeFi. Esto quiere decir que una vez que los atacantes entienden su funcionamiento pueden manipular las deficiencias de un contrato y utilizarlas en su beneficio.

Si bien es cierto que aprovechar estas debilidades requiere sólidos conocimientos por parte del ciberdelincuente, tanto en programación como del funcionamiento de la plataforma en la que se esté operando, el universo del cibercrimen es muy diverso y es importante que siempre  verifiquemos las auditorías sobre los protocolos utilizados con el fin de minimizar los riesgos sobre nuestros fondos y operaciones.

Uno de los ataques de Flash Loan más relevantes, que a su vez fue el primero que se conoció, se dio en el mes de febrero del año 2020. Conocido como el el mismo comenzó cuando un prestatario obtuvo un Flash Loan por 10.000 Ether en dYdX (DApp de préstamos), luego dividió ese préstamo y lo envió a las plataformas de préstamos Compound y Fulcrum. En Fulcrum (basado en el protocolo bZx), el atacante usó una parte del préstamo para vender ETH en corto frente a Wrapped Bitcoin (WBTC), lo que significaba que Fulcrum ahora tenía que adquirir WBTC. Esta información se transmitió a otro protocolo DeFi, Kyber, que cumplió con el pedido en Uniswap, un DEX popular basado en Ethereum, pero debido a la baja liquidez de Uniswap el precio de WBTC aumentó significativamente, lo que significa que Fulcrum pagó de más por el WBTC que compró. Al mismo tiempo el atacante obtuvo un préstamo compuesto de WBTC utilizando el resto del préstamo dYdX, lo cual provocó que el precio suba, cambiaron el WBTC prestado en Uniswap y se fueron con una ganancia decente.

Por último, pagaron su préstamo de dYdX y se embolsaron el ETH sobrante. Sin dudas el punto estuvo en el protocolo bZx utilizado por Fulcrum al manipular el mercado. El atacante pudo engañarlo para que hacer creer que WBTC valía mucho más de lo que realmente valía aprovechando cinco protocolos DeFi diferentes para manipular los mercados. Todo esto sucedió en el tiempo que tardó en confirmarse el Flash Loan original.

Pocos días después bZx fue golpeado por otro ataque. En este caso el atacante obtuvo un Flash Loan y convirtió parte del mismo en una moneda estable (sUSD). Probablemente ya sepas que las monedas estables rastrean el precio de las monedas fiduciarias. En este sentido, los contratos inteligentes son inteligentes hasta cierto punto, dado que no saben lo que se supone que cuestan las monedas estables. Entonces, cuando el atacante hizo una gran orden para comprar sUSD (usando ETH prestado), el precio se duplicó en Kyber y bZx y pensó que sUSD valía $2 en lugar de $1. Luego el atacante obtuvo un préstamo ETH mucho más grande de lo que normalmente se hubiera permitido en bZx, ya que su moneda de $1 tenía el poder adquisitivo de $2. Finalmente el ciberdelincuente devolvió el Flash Loan inicial y se escapó con el resto.

En 2021 uno de los mayores robos fue a Cream Finance por aproximadamente $130 millones. Los atacantes robaron tokens de liquidez de Cream por una suma millonaria de dólares durante un tiempo no revelado, siendo todas las pérdidas visibles en la cadena y los culpables aún no han sido atrapados. Aunque la brecha fue solo en una parte del sistema DeFi de Cream y la plataforma parcheo rápidamente la vulnerabilidad explotada, como suele suceder la mayoría de las veces que es comprometido un protocolo DeFi, los atacantes utilizaron múltiples préstamos Flash y manipularon el precio del oráculo.

Otro de los ataques destacados durante 2021 fue el que afectó al protocolo Alpha Homora y provocó una pérdida de $37 millones. En este caso el atacante que abusó del préstamo flash también utilizó Iron Bank de Cream Finance a través de una serie de préstamos flash (Iron Bank es la rama de préstamos del protocolo Alpha Homora). Los cibercriminales repitieron el proceso varias veces hasta acumular CreamY USD (o cyUSD) y luego utilizaron los tokens para pedir prestadas otras criptomonedas. Podemos asumir que el ataque en si fue bastante complejo dado que implico numerosos pasos. En esencia el atacante manipuló fuertemente el fondo de sUSD de HomoraBank v2 realizando una serie de transacciones y préstamos flash, lo que permitió abusar del protocolo de préstamos entre HomoraBank v2 y el Iron Bank. Además aprovechó el error de redondeo de los cálculos de los préstamos en situaciones en las que hay un solo prestatario.

En mayo de 2021 ocurrió el ataque a PancakeBunny donde un atacante puso a prueba la plataforma PancakeBunny y robó una cifra cercana a los $3 millones.  El responsable del ataque primero aprovechó PancakeSwap para conseguir un gran préstamo de BNB y durante el ataque manipuló los pares de trading BUNNY/BNB y USDT/BNB. Luego, un gran préstamo flash proporcionó al atacante una enorme cantidad de tokens BUNNY, de los cuales se deshizo inmediatamente devolviendo los BNB y desapareciendo con los beneficios. Esta situación provocó una caída del precio de PancakeBunny, que pasó de $146 a $6.17.

Tiempo después, en agosto de 2021 se ejecutó el ataque a Poly Network. Los atacantes lograron sustraer $611 millones de una pool posicionándolo como el ataque de Flash Loan más grande las historia hasta la fecha.

Más allá de que todas las vulnerabilidades involucradas en los ataques que mencionamos han sido corregidas, es un hecho que la seguridad en torno a los Flash Loan está mejorando. Los diversos ataques en el pasado muestran que hay dos aspectos clave en los que se recomienda concentrar los esfuerzos para mitigar los riesgos: la estructura de los oráculos de precios descentralizados y la implementación de plataformas de seguridad para las DeFi.

Como la mayoría de los ataques de Flash Loan dependen de la manipulación de los precios, se hace necesario contrarrestar este enfoque con oráculos de precios descentralizados. Algunos ejemplos que abordan el problema, como Chainlink y Band Protocol, son plataformas que mantienen todos los protocolos presentando el precio exacto de las diferentes criptomonedas.  Si recordamos, ataques como el de dYdX hoy ya no sería posible porque los protocolos no obtendrán su información de precios de una única DEX. En el caso de Alpha Homora, ahora utiliza Alpha Oracle Aggregator para evitar que la historia se repita, y a medida que el mercado de las DeFi siga creciendo veremos más sistemas como este.

En lo que refiere a la implementación de plataformas de seguridad para las DeFi, si bien el ecosistema de las finanzas descentralizadas utiliza tecnologías de vanguardia que están cambiando las perspectivas de los sistemas financieros internacionales, también suponen una gran carga para todo el sistema. Hoy existen plataformas específicas que abordan los actuales desafíos de seguridad, como OpenZeppelin, donde su función es proteger en todo el ecosistema de los contratos ingelitentes y plataformas DeFi en su conjunto.

Otros aspectos de seguridad que se destaca en la actualidad son la capacidad de realizar auditorías sobre los contratos inteligentes y soluciones como Defender Sentinels. Esta última proporciona una protección continua contra los ataques de Flash Loan donde los desarrolladores pueden automatizar sus estrategias de defensa, detener rápidamente sistemas completos y desplegar correcciones para mitigar los posibles daños que puede ocasionar un ataque sobre préstamos rápidos.

Conclusión

Tal como pudimos apreciar, los ataques que buscan sacar provecho de los préstamos rápidos en el ecosistema de las finanzas descentralizadas (DeFi) tienen su complejidad. Pueden resultar difíciles de comprender, ya que exigen conocer cómo funcionan los flujos de las criptofinanzas y sus tecnologías asociadas. Si bien las DeFi están todavía en sus comienzos, el ecosistema sigue madurando y se está convirtiendo en el centro de atención de muchos usuarios. Aunque el sector aún está funcionando sin un marco de pruebas adecuado y esto provocará futuras problemáticas, es un hecho también que los prestamos flash son una incorporación muy reciente al ecosistema DeFi y suponen una revolución de oportunidades.

En cuanto a las vulnerabilidades en los Flash Loan podemos asumir que estas no radican en los Flash Loan en sí, sino entorno a su implementación inmadura. Todas las vulnerabilidades explotadas hasta el momento estuvieron en diversos protocolos y los Flash Loan solo financiaron los ataques. Sin dudas este tipo de préstamos vino para quedarse y sentaron las bases para nuevas aplicaciones innovadoras en las finanzas descentralizadas.