Los Flash Loans son préstamos que, aprovechando las características de las blockchains, permiten a cualquier usuario acceder a la liquidez de los mercados DeFi, pidiendo una cierta cantidad de un activo sin tener que dejar una garantía como colateral, siempre y cuando se devuelva la cantidad prestada al prestador, más una comisión, en la misma transacción en la que se concedió el préstamo.
¿Qué son los Flash Loans?
Los Flash Loans son un tipo especial de préstamos no colaterizados, que permiten pedir prestados activos, siempre y cuando la cantidad prestada, más una determinada comisión, se devuelvan al prestatario antes de finalizar la transacción.
El concepto de Flash Loan no es nuevo, ya en el 2018 el proyecto Marble Protocol empezó a trabajar con préstamos sin necesidad de utilizar un colateral como garantía, a los cuales llamaron Flash Lending.
En la actualidad, el término Flash Loan está en boca de todos debido al gran potencial y casos de uso que tiene este instrumento financiero en el ecosistema DeFi, de la mano de plataformas de lending como Aave, la cual ofrece a los desarrolladores de DApps las herramientas necesarias para poder ejecutar este tipo de préstamos en sus aplicaciones.
¿Cómo funcionan?
Lo primero que hay que tener en cuenta, es que todo el proceso que se lleva a cabo durante la gestión de un Flash Loan debe realizarse en una sola o única transacción, por lo tanto en un sólo bloque de una blockchain. En el caso de Aave, se gestiona en una sola transacción en la blockchain de Ethereum.
A grandes rasgos, el proceso de gestión de un Flash Loan tiene las siguientes etapas o fases principales:
- Un smart contract de una aplicación realiza una llamada a un smart contract que gestiona un Lending Pool, solicitando un Flash Loan por una cierta cantidad de un activo concreto a una Reserva de dicho pool.
- Después de que el sistema que maneja el Lending Pool realice una serie de comprobaciones sobre el solicitante del préstamo, se transfiere la cantidad de activos solicitada desde la reserva del Lending Pool hacia la dirección indicada en la solicitud del préstamo, la cual puede ser la del smart contract solicitante, o la de cualquier otro smart contract.
- El smart contract solicitante del préstamo ahora dispone de la cantidad prestada, y podrá ejecutar las operaciones que estime oportunas utilizando dicha cantidad.
- Antes de que el código del smart contract que ha solicitado el Flash Loan termine, deberá transferir de vuelta a la reserva del Lending Pool, la cantidad de activos prestada más una comisión que será indicada por el prestador.
- El smart contract del Lending Pool comprueba que el balance de la reserva del activo prestado, antes y después de la ejecución del código, es igual más la comisión pagada por pedir el Flash Loan. Si el balance de la reserva es el mismo, el Flash Loan se ejecuta correctamente. En cambio, si el balance de la reserva es diferente, el Flash Loan no se ejecuta, y se revierte el estado, deshaciendo cualquier acción que el smart contract que ha pedido el préstamo haya realizado.
Implementación
Plataformas como Aave recomiendan que la ejecución de los Flash Loan las lleven a cabo personas con un perfil técnico que entiendan el funcionamiento de Ethereum, de los Smart Contracts, y de programación en lenguajes como Solidity.
Dependiendo del contexto en el que se vayan a implementar los Flash Loans, Aave propone diferente documentación que ayudará al usuario en la implementación de los mismos:
- Si el usuario ya tiene un entorno de desarrollo existente, Aave recomienda acceder a la documentación que se encuentra en el siguiente enlace.
- Si el usuario está desarrollando su proyecto con Truffle, Aave recomienda acceder a la documentación que se encuentra en el siguiente enlace.
- Si el usuario está trabajando con Remix, Aave recomienda acceder a la documentación que se encuentra en el siguiente enlace.
Además de Aave, existen otras plataformas que permiten implementar Flash Loans, como puede ser Uniswap, entre otras. Dependiendo de las necesidades del usuario, se pueden utilizar unas u otras, ya que se diferencian entre ellas en factores como son la comisión cobrada, la facilidad de implementación del Flash Loan, o la diversidad de activos para pedir prestados.
Por otro lado, en la actualidad están surgiendo plataformas que permiten a usuarios no técnicos implementar Flash Loans de forma sencilla, transparente, y sin necesidad de tener conocimientos avanzados sobre el ecosistema en el que se ejecutan. Un ejemplo de dichas plataformas es Furucombo, y animamos a los lectores de este artículo que la investiguen y hagan pruebas con ella a través del siguiente enlace.
Casos de uso
Son múltiples los contextos y los casos de uso en los que los Flash Loans son de aplicación, y en la actualidad se siguen investigando nuevos escenarios en los que son de utilidad.
A continuación, vamos a ver con ejemplos tres casos de uso en los que los Flash Loans son de utilidad:
- Arbitrage: se produce cuando un usuario intenta obtener un beneficio de la diferencia de precios que tienen los exchanges para los activos con los que comercian. Expliquemos con un ejemplo cómo los Flash Loans se aplican a los procesos de arbitraje. Supongamos que un usuario (por ejemplo, Javier) advierte que en un cierto DEX (Decentralized Exchange) el precio de compra de 1 ETH es de 352 DAI/ETH, y que en ese mismo instante, en otro DEX diferente del primero, el precio de venta de 1 ETH es de 360 DAI/ETH. Para intentar sacar un beneficio de dicha situación, Javier decide pedir un Flash Loan de 100.000 DAI a una plataforma de lending, con una comisión del 1 %. De forma esquemática, los pasos a seguir por Javier deberán ser los siguientes para realizar un arbitraje que le reporte beneficios:
- Javier deberá pedir un Flash Loan a una plataforma que ofrezca este tipo de préstamos por una cantidad de 100.000 DAI.
- Con los activos recibidos del Flash Loan, Javier realiza una compra de 284,09 ETH en un DEX que tiene un precio de compra para el ETH de 352 DAI/ETH .
- Javier vende los 284,09 ETH en otro DEX que tiene un precio de venta para el ETH de 360 DAI/ETH, obteniendo por la venta 102.272 DAI.
- Por último, Javier debe devolver a la plataforma que le ha concedido el Flash Loan, la cantidad pedida mas una comisión del 1%. Como consecuencia, Javier debe devolver 101.000 DAI (100.000 DAI + 1.000 DAI).
- De esta forma, Javier ha tenido un beneficio de 1.272 DAI (102.272 DAI – 101.000 DAI), por realizar esta operación de arbitraje entre diferentes DEXs, utilizando un Flash Loan.
- Refinanciación de préstamos: se produce cuando un usuario cancela un préstamo con una tasa de interés determinada, con el objetivo de obtener el mismo préstamo con una tasa de interés mas baja. Expliquemos con un ejemplo cómo los Flash Loans se aplican a los procesos de refinanciación de préstamos. Supongamos que un usuario (por ejemplo, Antonio) ha pedido prestado 100.000 DAI en una plataforma de lending con una tasa de interés del 8 % anual. A los seis meses, Antonio se da cuenta que otra plataforma de lending ofrece el mismo préstamo con una tasa de interés del 5 % anual. Para poder cambiarse de plataforma de lending, y pasar a tener una tasa de interés menor en su préstamo, Antonio decide utilizar un Flash Loan para amortizar totalmente su préstamo en la primera plataforma de lending (con un interés del 8 %), y pedir prestado la misma cantidad de activos en la segunda plataforma de lending (con un interés del 5 %). De forma esquemática, los pasos a seguir por Antonio deberán ser los siguientes:
- Antonio deberá pedir un Flash Loan a una plataforma que ofrezca este tipo de préstamos por una cantidad mayor o igual a la deuda contraída en la plataforma de lending en la que tiene un préstamo concedido al 8 % de interés.
- Con los activos recibidos del Flash Loan, Antonio deberá amortizar o cancelar totalmente la deuda que tiene con la plataforma de lending por el préstamo concedido al 8 % de interés.
- A continuación, Antonio pide un préstamo en la otra plataforma de lending, la cual tiene una tasa de interés al 5 %, por la misma cantidad que tenía en el anterior préstamo.
- Por último, Antonio debe devolver a la plataforma que le ha concedido el Flash Loan, la cantidad pedida más una comisión indicada por el prestador.
- Intercambio de colaterales: se produce cuando un usuario realiza un intercambio de colateral de posiciones de préstamos sin tener que amortizar la deuda de los mismos. Expliquemos con un ejemplo cómo los Flash Loans se aplican a los procesos de intercambio de colaterales. Supongamos que un usuario (por ejemplo, Carlos) ha pedido prestado 100 ETH en una plataforma de lending utilizando como colateral DAI, pero quiere disponer de dicho colateral DAI, y utilizar como colateral USDT. De forma esquemática, los pasos a seguir por Carlos deberán ser los siguientes:
- Carlos deberá pedir un Flash Loan, a una plataforma que ofrezca este tipo de préstamos, por una cantidad suficiente de USDT como para colaterizar el préstamo que tiene en la plataforma de lending.
- Con los USDT recibidos del Flash Loan, Carlos deberá enviarlos a la plataforma de lending e indicar a la misma que va a utilizar dichos USDT como colateral para su préstamo.
- A continuación, Carlos debe liberar su colateral en DAI y enviarlo a un DEX para cambiarlos por USDT.
- Por último, Carlos deberá devolver a la plataforma que le ha concedido el Flash Loan, la cantidad de USDT prestada, mas una comisión.
En conclusión
Los Flash Loans son una herramienta totalmente nueva y disruptiva, que ha empezado a utilizarse en el ecosistema DeFi, y que permite que cualquiera pueda acceder a liquidez de activos mediante préstamos, sin necesidad de tener un colateral que sirva de garantía de dichos préstamos.
A modo de resumen de los conceptos vistos en el presente artículo, recomendamos ver el siguiente vídeo, en el que Andreas M. Antonopoulos explica, de forma resumida, en 3 minutos, en qué consisten los Flash Loans.
Bibliografía
- Aave Flash Loans: https://docs.aave.com/developers/tutorials/performing-a-flash-loan
- Introducing Marble: https://medium.com/marbleorg/introducing-marble-a-smart-contract-bank-c9c438a12890
- Furucombo: https://furucombo.app/
- Flash Swaps: https://uniswap.org/docs/v2/core-concepts/flash-swaps/
Comentarios recientes