¿Qué son los Flash Loans en DeFi?
InicioArtículos

¿Qué son los Flash Loans en DeFi?

Principiante
1w ago
10m

TL;DR - RESUMEN

¿Un préstamo concedido por extraños que no requiere que el usuario sacrifique parte de su propio dinero? Es posible, bajo una condición: los sujetos deben pagar al prestamista en el marco de la misma transacción que emitió los fondos. Suena extraño, ¿no es así? ¿Qué puedes hacer con un préstamo que debe ser devuelto segundos más tarde?

Pues bien, resulta que en esa misma transacción puedes realizar llamadas a smart contracts. Si puedes generar más dinero utilizando tu préstamo, podrás devolver el dinero y embolsarte el beneficio en un abrir y cerrar de ojos. Sin embargo, la cosa no es tan simple. Continúa leyendo para aprender más sobre los nuevos elementos del ecosistema DeFi.


Introducción

Existe una gran fanfarria en el sector de las criptomonedas respecto a la reinvención del sistema financiero tradicional, pero trasladado a la blockchain. Los escépticos pueden estar en desacuerdo con la idea, pero no cabe duda de que una serie de infraestructuras interesantes están siendo desarrolladas en dicho ámbito.
De hecho, el objetivo primordial del DeFi (o finanzas descentralizadas) es dar vida a un ecosistema financiero no permisionado, descentralizado y transparente, desplegado sobre redes blockchain. Las criptomonedas demostraron que era posible llevarlo a cabo con el dinero. Cada día, sistemas como Bitcoin son utilizados para transferir valor en todo el mundo.
La nueva ola de tecnologías DeFi promete un nivel adicional. A día de hoy, puedes tomar préstamos respaldados por cripto, intercambiar activos digitales de manera "trustless" (sin que intervenga la confianza en un tercero), y almacenar tu capital en monedas que replican el precio de las divisas fíat.
En el siguiente artículo, vamos a analizar una categoría concreta de préstamos –los flash loans. Como veremos enseguida, se trata de un complemento verdaderamente único en la creciente estructura de las finanzas descentralizadas.


¿Cómo funcionan los préstamos ordinarios?

La mayoría de nosotros sabemos cómo funciona un préstamo ordinario. Aún así, vale la pena recordarlo para poder hacer la comparación más tarde.


Préstamos Sin Garantía

Un préstamo sin garantía es un préstamo en el que no necesitas adelantar ningún colateral. En otras palabras, no habrá ningún activo que acuerdes ceder al prestamista en caso de no pagar el préstamo. Por ejemplo, supongamos que realmente deseas una cadena de oro de $3,000 con el logo de Binance colgando de ella. No tienes a tu disposición el dinero necesario, pero lo tendrás en cuanto te paguen la semana siguiente.

Hablas con tu amigo Bob. Le explicas lo mucho que deseas dicha cadena, y que ésta mejorará tu trading en al menos un 20%, así que Bob acepta prestarte el dinero. Bajo la condición, por supuesto, que le devuelvas el dinero tan pronto como te llegue tu paga.

Bob es un buen amigo, así que no extrajo una comisión al prestarte los $3,000. No todo el mundo será tan amable – y es que, nuevamente, ¿por qué deberían serlo? Bob confía en que le devolverás el dinero. Otra persona podría no conocerte, por lo que no sabrá si vas a desaparecer con su dinero.

Normalmente, los préstamos sin garantía de instituciones requieren algún tipo de verificación crediticia. Éstas analizarán tu historial (la calificación crediticia) para medir tu capacidad de reembolso. Si ven que has solicitado varios préstamos y los has devuelto dentro del plazo, posiblemente pensarán "Hey, es bastante de fiar. Vamos a prestarle algo de dinero".
Llegado este punto, la institución te entrega el dinero, pero éste llega con condiciones -las cuales son unas tasas de interés. Para obtener el dinero ahora, debes aceptar la devolución de una suma mayor más tarde.

Es posible que estés familiarizado con este modelo si utilizas una tarjeta de crédito. Si no pagas tu factura durante un periodo de tiempo determinado, se te aplicará un interés hasta que saldes todo el balance (junto con comisiones adicionales).


Préstamos Garantizados

En ocasiones una buena calificación crediticia no es suficiente. Incluso habiendo devuelto todos tus préstamos a tiempo durante décadas, tendrás dificultades para tomar prestadas largas sumas de dinero solamente en base a tu solvencia. En estos casos, deberás aportar un colateral.

Si le pides a alguien un gran préstamo, resultará arriesgado para éste concederlo. Para rebajar su riesgo un poco, te pedirán que arriesgues algo tú ("put some skin in the game"). Uno de tus activos –puede ser cualquier cosa, desde joyas a una propiedad– pasará a ser del prestamista si no cumples con el pago a tiempo. La idea aquí es que el prestamista podrá recuperar así parte del valor que ha perdido. En resumidas cuentas, eso es el colateral.

Supongamos que ahora quieres un coche de $50,000. Bob confía en ti, pero no desea entregarte el dinero bajo la forma de un préstamo no garantizado. En su lugar, te pide que aportes algún tipo de colateral –tu colección de joyas. Así, si no cumples con la devolución del préstamo, Bob podrá adueñarse de tu colección y venderla.


¿Cómo funciona un flash loan?

Podemos llamar a los flash loans "préstamos no garantizados", sencillamente porque no tendrás que proporcionar ningún tipo de colateral. Pero tampoco tendrás que pasar una verificación crediticia ni nada parecido. Simplemente le preguntarás al prestamista si puedes tomar prestados $50,000 en ETH, éste te contestará "¡Sí! ¡Aquí los tienes!" y ya está.
¿La pega? Un flash loan debe ser devuelto en el marco de la misma transacción. No es algo que resulte intuitivo para nada, pero eso es solo porque estamos acostumbrados al formato de transacciones típico, en el que los fondos se trasladan de un usuario a otro. Como cuando por ejemplo pagas por bienes o servicios, o depositas tokens en un exchange.
Sin embargo, si conoces un poco Ethereum, sabrás que la plataforma es bastante flexible –es por ello por lo que algunos la denominan dinero programable. En el caso de un flash loan, puedes imaginarte el "programa" de tu transacción como si estuviera compuesto por tres partes: recibir el préstamo, hacer algo con el préstamo, reembolsar el préstamo. ¡Y todo transcurre en un instante (flash)!
Atribuyámoselo a la magia de la tecnología blockchain. La transacción es enviada a la red, que temporalmente te prestará los fondos. Podrás hacer entonces, en la parte dos de la transacción, alguna cosa con ellos. Haz lo que quieras, siempre y cuando los fondos estén de vuelta a tiempo para la parte tres. Si no lo están, la red rechazará la transacción, lo que significará que el prestamista recuperará sus fondos. De hecho, en lo que a la blockchain respecta, éste siempre habrá estado en posesión de los fondos.

Esto explica por qué el prestamista no te exige ninguna garantía o colateral. El contrato de reembolso es impuesto por el código.


¿Pero para qué sirve?

Llegados a este punto, probablemente te preguntarás para qué podrías solicitar un flash loan. Si todo esto ocurre en una única transacción, no te permitirá precisamente comprar un "Lambo", ¿verdad?

Bueno, ese no es realmente el objetivo aquí. Centrémonos en la segunda parte de la transacción descrita anteriormente, en la que haces algo con el préstamo. La idea es introducir los fondos en un contrato inteligente (o cadena de contratos), obtener una ganancia y devolver el préstamo inicial al final de la transacción. Como puedes ver, el objetivo de los flash loans es obtener ganancias.



Hay un par de casos de uso en los que esto podría resultar útil. Evidentemente, mientras tanto, no puedes hacer nada fuera de la cadena, pero puedes aprovechar los protocolos DeFi para ganar más dinero con tu préstamo. Las aplicaciones más populares se encuentran en el arbitraje, en el que se aprovechan las disparidades de precios entre los diferentes lugares de trading. 
Supón que un token se comercia por $10 en DEX A, pero $10.50 en DEX B. Suponiendo cero comisiones, comprar diez tokens en DEX A antes de revenderlos en DEX B produciría una ganancia de $5. Este tipo de actividad no te va a comprar una isla privada en el corto plazo, pero puedes ver cómo podrías ganar algo de dinero comerciando grandes volúmenes. Si compraste 10,000 tokens por $100,000 y los vendiste exitosamente por $ 105,000, te quedarías con una ganancia de $ 5,000.
Si adquieres un flash loan (a través del protocolo Aave, por ejemplo), puedes aprovechar oportunidades de arbitraje como esta en exchanges descentralizados. Aquí hay un ejemplo de cómo se vería eso:
  • Obtén un loan (préstamo) de $10,000
  • Usa el loan para comprar tokens en DEX A
  • Revende los tokens en DEX B
  • Devuelve el loan (más los intereses)
  • Quédate con la ganancia

¡Todo en una transacción! Sin embargo, de manera realista, las comisiones para realizar transacciones, combinadas con la alta competencia, las tasas de interés y el deslizamiento, hacen que los márgenes para el arbitraje sean muy pequeños. Necesitarías encontrar una manera de jugar con las diferencias de precios para que la actividad sea rentable. Cuando compites contra miles de otros usuarios que intentan hacer lo mismo, no tendrás mucha suerte.


Ataques de Flash Loan

La criptomoneda y, por extensión, DeFi, es un campo altamente experimental. Cuando hay tanto dinero en juego, es solo cuestión de tiempo antes de que se descubran las vulnerabilidades. En Ethereum, vimos un ejemplo de esto con el icónico hack DAO 2017. Desde entonces, numerosos protocolos han sido atacados en un 51% para obtener beneficios económicos.

En 2020, dos ataques de flash loans de alto perfil vieron a los atacantes hacerse con casi $1,000,000 en valor en ese momento. Ambos ataques siguieron un patrón similar.



El primer ataque de flash loan

En el primero, el prestatario obtuvo un flash loan de ether en dYdX (un DApp de préstamos). Luego, dividieron ese préstamo y lo enviaron a otras dos 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 significa 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. El precio subió, 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.

Parece mucho trabajo e incluso puede ser difícil de seguir. La conclusión es que el atacante aprovechó cinco protocolos DeFi diferentes para manipular los mercados. Increíblemente, todo esto sucedió en el tiempo que tardó en confirmarse el flash loan original.

¿Ha identificado dónde estaba el problema? Estaba en el protocolo bZx utilizado por Fulcrum. Al manipular el mercado, el atacante pudo engañarlo para que pensara que WBTC valía mucho más de lo que realmente valía.


El segundo ataque de flash loan

No fue una buena semana para bZx. Solo unos días después, fue golpeado por otro ataque. El perpetrador 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. Tiene USD en el nombre, después de todo.

A pesar de su nombre, los contratos inteligentes no son tan inteligentes. 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.

bZx 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 atacante devolvió el flash loan inicial y se escapó con el resto.


¿Tienen riesgo los flash loans?

Bien o mal, este vector de ataque en particular es impresionante, aunque solo sea porque muestra hasta dónde pueden llegar los atacantes. Es fácil mirar retrospectivamente los métodos que usaron y decir que bZx debería haber usado un oráculo de precios diferente para obtener sus datos. Pero la realidad es que este tipo de atraco es increíblemente barato: no requiere mucha inversión por parte del atacante. No hubo disuasión financiera que les impidiera lograrlo.
Tradicionalmente, las personas o grupos que querían manipular el mercado necesitaban enormes cantidades de criptomonedas. Pero con los flash loans cualquiera puede convertirse en ballena por unos segundos. Y, como hemos visto, unos segundos es todo lo que necesitas para hacerte con cientos de miles de dólares en ether.
En el lado positivo, el resto del espacio aprenderá de los dos ataques. ¿Es probable que alguien más vuelva a lograrlo, ahora que todos lo conocen? Quizás. Los oráculos tienen una serie de debilidades, como se vio en el segundo ataque, y necesitan un trabajo considerable para deshacerse de tales vulnerabilidades.

Con todo, esto no es una falla con los flash loans específicamente: las vulnerabilidades que se explotaron estaban en otros protocolos, mientras que los flash loans solo financiaron el ataque. Esta forma de préstamos DeFi podría tener muchos casos de uso interesantes en el futuro, especialmente dados los bajos riesgos tanto para los prestatarios como para los prestamistas.


Conclusión

Los flash loans son una entrada naciente al espacio DeFi, pero ciertamente han dejado una impresión duradera. El concepto de préstamos sin garantía, aplicados solo por código, abre un mundo de posibilidades en un nuevo sistema financiero.

Los casos de uso son bastante limitados en este momento, pero, en última instancia, los flash loans han sentado las bases para nuevas aplicaciones innovadoras en las finanzas descentralizadas.

¿Más preguntas sobre flash loans o DeFi? Dirígete a Ask Academy, donde la comunidad las responderá.