Cipherbase
BTC ETH XMR
DeFi Artículo 12 de 20

Flash Loans: cómo DeFi te permite pedir prestado sin garantía

Los flash loans son un primitivo DeFi revolucionario que permite a cualquiera acceder a liquidez ilimitada sin garantía — siempre que se devuelva dentro de una misma transacción en la blockchain. Sin verificación de crédito, sin identificación, solo ejecución de código atómica. Así es como funcionan y por qué importan.

Animated diagram of deposits flowing into a lending pool, a borrower posting collateral and interest flowing back to lenders.
Animated diagram of deposits flowing into a lending pool, a borrower posting collateral and interest flowing back to lenders.
En esta página
  1. Cómo Funcionan los Flash Loans: La Clave es la Atomicidad
  2. Casos de Uso Prácticos
  3. Flash Loans vs. Préstamos Tradicionales en DeFi
  4. Flash Loans y Seguridad de Protocolos
  5. Flash Loans y Liquid Staking
  6. Riesgos y Limitaciones
  7. Flash Loans en L2

Los flash loans son una de las herramientas más innovadoras —y más incomprendidas— de las finanzas descentralizadas. Permiten que cualquier persona tome prestada cualquier cantidad de liquidez sin colateral, siempre que los fondos solicitados sean devueltos dentro de una sola transacción en la blockchain. Sin verificación crediticia, sin identificación, sin tiempos de espera. Solo código, atomicidad y una ventana que se mide en milisegundos.

“Smart contracts will replace lawyers.”

— Andreas Antonopoulos

Para entender por qué esto es posible, primero hay que entender cómo funcionan realmente las transacciones en una blockchain.

Cómo Funcionan los Flash Loans: La Clave es la Atomicidad

Una transacción en la blockchain es atómica. O se completa en su totalidad o se revierte por completo —no hay término medio. Los flash loans aprovechan esta propiedad al encadenar un ciclo de préstamo, uso y devolución dentro de una única transacción. Si el paso final de reembolso falla, toda la transacción se revierte como si nunca hubiera ocurrido. Los fondos del prestamista nunca llegan a salir realmente de su posesión.

El flujo de ejecución es el siguiente:

  1. Solicitas un flash loan a un pool de liquidez (por ejemplo, Aave)
  2. El pool envía los fondos a tu contrato
  3. Tu contrato ejecuta lógica arbitraria: arbitraje, liquidaciones, swaps de colateral
  4. Tu contrato devuelve el préstamo más una pequeña comisión en la misma transacción
  5. Si el paso 4 falla, todo desde el paso 1 se revierte

Esto es fundamentalmente distinto al préstamo tradicional en DeFi, donde protocolos como Compound o Aave exigen sobrecolateralización. Tienes que depositar más valor del que pides prestado, lo que inmoviliza capital y limita quién puede participar. Los flash loans eliminan ese requisito por completo, reemplazándolo con la garantía de atomicidad.

Un Ejemplo Sencillo en Solidity

Así luce un contrato receptor de flash loans mínimo usando la interfaz de Aave V3:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {IFlashLoanSimpleReceiver} from "@aave/core-v3/contracts/flashloan/interfaces/IFlashLoanSimpleReceiver.sol";
import {IPoolAddressesProvider} from "@aave/core-v3/contracts/interfaces/IPoolAddressesProvider.sol";
import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";

contract FlashLoanExample is IFlashLoanSimpleReceiver {
    IPoolAddressesProvider public immutable ADDRESSES_PROVIDER;

    constructor(address provider) {
        ADDRESSES_PROVIDER = IPoolAddressesProvider(provider);
    }

    function executeOperation(
        address asset,
        uint256 amount,
        uint256 premium,    // comisión del flash loan
        address initiator,
        bytes calldata params
    ) external override returns (bool) {
        // Tu lógica personalizada va aquí:
        // arbitraje, liquidaciones, swap de colateral, etc.

        // Devolvemos el préstamo + la comisión
        uint256 totalRepayment = amount + premium;
        IERC20(asset).approve(msg.sender, totalRepayment);

        return true;
    }
}

El premium es la comisión —en Aave V3 equivale al 0,05% del monto prestado. Si executeOperation devuelve false o la aprobación es insuficiente, la transacción se revierte.

Casos de Uso Prácticos

Los flash loans no son principalmente una herramienta de ataque. Son un instrumento poderoso para operaciones sofisticadas en DeFi que de otro modo requerirían un capital inicial considerable.

Arbitraje

Las discrepancias de precio entre DEXes como Uniswap y Curve suelen ser pequeñas y efímeras. Un flash loan permite a un trader pedir prestados millones de dólares, ejecutar el arbitraje entre dos o más pools, quedarse con la diferencia, devolver el préstamo y salir con ganancias —todo sin tener capital propio de partida. Basta con que el beneficio supere la comisión del flash loan más el gas para que la operación tenga sentido.

Liquidaciones

En los protocolos de préstamo con sobrecolateralización, cuando el colateral de un usuario cae por debajo del umbral de liquidación, cualquiera puede liquidar esa posición pagando su deuda. Los flash loans permiten a los liquidadores hacer esto sin necesitar capital por adelantado. Pides prestado, liquidas, vendes el colateral incautado, devuelves el flash loan y te quedas con el bonus de liquidación.

Swaps de Colateral

Imagina que tienes ETH depositado como colateral en Aave y quieres cambiarlo por WBTC sin cerrar tu posición. Un flash loan puede financiar el reembolso de tu deuda existente, liberar tu ETH como colateral, hacer el swap de ETH a WBTC, redepositar el WBTC, volver a pedir prestado y devolver el flash loan —todo en una única transacción atómica. Hacer esto de forma manual requeriría disponer de una gran cantidad de capital libre.

Autoliquidación

Si tu ratio de colateral se acerca al umbral de liquidación y quieres una salida limpia sin pagar la penalización, puedes pedir prestado el monto de la deuda con un flash loan, cancelar tu préstamo, retirar tu colateral, vender lo suficiente para cubrir la devolución del flash loan y quedarte con el resto. Así evitas la penalización por liquidación y controlas tú mismo cómo sales.

Flash Loans vs. Préstamos Tradicionales en DeFi

CaracterísticaFlash LoansPréstamos DeFi EstándarFinanzas Tradicionales
Colateral requeridoNingunoSobrecolateral del 125–200%Historial crediticio / activos
Duración del préstamo1 transacción (~segundos)Días o indefinidoSemanas o años
Capital mínimo necesarioSolo gasDebes tener el colateralIngresos / historial crediticio
AccesoSin permisosSin permisosRequiere identificación
Comisión típica0,05–0,09%APR variableAPR variable
Riesgo para el prestamistaCero (atómico)Riesgo de liquidaciónRiesgo de impago

Comparado con el staking, donde bloqueas activos para obtener rendimiento a lo largo del tiempo, los flash loans son lo opuesto: sin bloqueo, sin dimensión temporal, solo acceso instantáneo al capital.

Flash Loans y Seguridad de Protocolos

Los flash loans han sido utilizados para atacar protocolos DeFi, y de ahí viene su fama de peligrosos. La mayoría de los exploits siguen el mismo patrón: pedir prestada una suma enorme para distorsionar temporalmente un oráculo de precios o un pool de liquidez, aprovecharse de un protocolo que confía en ese precio manipulado y luego devolver el préstamo.

Los ataques a bZx a comienzos de 2020 utilizaron flash loans para manipular oráculos de precios on-chain y drenar fondos. El exploit de Cream Finance en 2021 empleó flash loans recursivos para robar más de 130 millones de dólares. Son ejemplos reales y dolorosos.

Pero el flash loan en sí no es la vulnerabilidad —lo es la dependencia del protocolo en fuentes de precios manipulables. La solución pasa por usar oráculos de precio promedio ponderado por tiempo (TWAP), como el oráculo integrado de Uniswap V3, o redes de oráculos descentralizados como Chainlink, que resisten la manipulación en un único bloque. Los protocolos bien auditados tratan los flash loans como una amenaza inherente y diseñan sus sistemas en consecuencia.

Flash Loans y Liquid Staking

Hay una intersección interesante entre los flash loans y los protocolos de liquid staking como Lido, Rocket Pool y Frax ETH. Estos protocolos emiten tokens derivados —stETH, rETH— que representan activos en staking y acumulan rendimiento. Al ser componibles, pueden usarse como colateral en protocolos de préstamo.

Esto abre la puerta a estrategias de staking apalancado. Depositas stETH como colateral, pides prestado ETH, haces staking con ese ETH para obtener más stETH y repites el ciclo. Los flash loans pueden arrancar todo este proceso de looping en una única transacción, en lugar de obligarte a repetir el ciclo manualmente decenas de veces. Protocolos como Instadapp y DeFi Saver han construido herramientas automatizadas sobre exactamente este patrón.

El riesgo, sin embargo, es real. Cuando el peg de stETH/ETH se rompió brevemente a mediados de 2022, las posiciones apalancadas enfrentaron liquidaciones en cascada. Los flash loans hacen que la entrada sea rápida. No hacen que la salida sea libre de riesgo.

Riesgos y Limitaciones

Los flash loans no están exentos de riesgo para quien los ejecuta. Varias cosas pueden salir mal.

Los costos de gas son lo más inmediato. Las transacciones complejas con flash loans pueden costar cientos de dólares en gas en la mainnet de Ethereum durante momentos de congestión, y una transacción fallida igualmente consume gas.

El riesgo de ejecución es parte del diseño. Si cualquier paso de tu lógica falla, la transacción entera se revierte. Depurar lógica on-chain es lento y caro —pagas por cada error.

La exposición al MEV es una preocupación real. Las transacciones rentables con flash loans son visibles en el mempool, lo que significa que los bots de MEV pueden frontrunear o sándwichear tu operación antes de que se confirme.

La liquidez del protocolo también puede jugarte en contra. El pool del que pides prestado necesita tener suficiente cantidad del activo que quieres. Si no la tiene, la transacción falla de inmediato.

Flash Loans en L2

Preguntas frecuentes

¿Qué es un flash loan y en qué se diferencia de un préstamo normal?

Un flash loan es un tipo de préstamo sin garantía en DeFi que se solicita y se devuelve dentro de la misma transacción en la blockchain, normalmente en cuestión de segundos. A diferencia de los préstamos tradicionales, no necesitas historial crediticio ni garantías — pero si no puedes devolver el dinero dentro de esa misma transacción, todo se revierte automáticamente como si nunca hubiera ocurrido.

¿Para qué sirve un flash loan si hay que devolverlo de inmediato?

Los flash loans son utilizados por desarrolladores y traders para aprovechar oportunidades como el arbitraje, donde se obtiene beneficio de las diferencias de precio entre exchanges, sin necesidad de capital propio. También se usan para cambiar garantías en protocolos de préstamo o liquidar posiciones infracapitalizadas en una única transacción atómica.

¿Son seguros los flash loans y puede usarlos cualquier persona?

Los flash loans en sí son una herramienta neutral, pero han sido utilizados en varios exploits de alto perfil en DeFi donde atacantes manipularon precios o vaciaron pools de liquidez. Su uso requiere conocimientos de programación de smart contracts, por lo que no son aptos para principiantes — la mayoría de los usuarios los utilizan de forma indirecta a través de protocolos DeFi, sin construirlos directamente.

Recursos en vídeo

Fuentes y lecturas adicionales

  • Aave Docs — Lending protocol documentation, risk parameters and governance.
  • Compound Docs — Documentation for the Compound money market protocol.
  • DeFi Llama — Total value locked and protocol analytics across chains.
  • Ethereum.org: DeFi — Official introduction to decentralised finance on Ethereum.
  • Uniswap Docs — Protocol documentation for the leading automated market maker.
  • Finematics — Educational explainers on DeFi mechanisms with diagrams.
  • Lido Docs — Liquid staking protocol documentation.