Flash loan — механизм DeFi, позволяющий временно получить большой объем активов без традиционного залога при условии, что заем будет полностью возвращен в рамках той же транзакции. Если условие возврата не выполнено, вся операция обычно отменяется благодаря атомарности исполнения блокчейн-транзакции.

Механика flash loan основана на программируемости смарт-контрактов. В рамках одной транзакции пользователь может получить средства, выполнить одну или несколько операций с другими протоколами и вернуть первоначальную сумму вместе с комиссией.

Классический пример применения — арбитраж. Пользователь может временно получить актив, обменять его на одной площадке по одной цене, продать на другой по более высокой цене и вернуть заем. Если итоговой прибыли недостаточно для комиссии и других расходов, транзакция не должна завершиться успешно.

Flash loans также могут использоваться для рефинансирования, изменения залоговой структуры, сложных обменных операций и других атомарных стратегий. При этом заемщик не обязан иметь капитал, равный размеру займа, поскольку средства существуют у него только в рамках исполнения транзакции.

Flash loan не является безрисковым механизмом для протоколов. Его возможности могут использоваться в сложных экономических атаках, особенно если другой DeFi-протокол неправильно рассчитывает цены, баланс или условия операций. Наличие flash loan само по себе не является уязвимостью; проблема возникает при наличии логической ошибки в атакуемой системе.

Важную роль играет атомарность. Если хотя бы одно обязательное условие транзакции не выполнено, состояние блокчейна после отклоненной транзакции не должно сохранять промежуточные изменения. Пользователь при этом обычно теряет комиссию сети за неуспешную попытку, если транзакция была включена в блок.