﻿---
title: "閃電貸"
description: "閃電貸在一筆原子交易內提供臨時的鏈上流動性。本文說明回呼、還款檢查、套利、清算、費用、MEV 與協議漏洞如何影響最終結果。"
image: "https://wiki.fcontext.com/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://wiki.fcontext.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 閃電貸

> 僅供教育參考，不構成投資建議；投資可能產生損失。

<a id="answer"></a>

## 直接答案

閃電貸是僅在一筆原子交易執行期間可用的智慧合約流動性。在經典模式下，借款人不必提供抵押品，因為借貸合約要求本金和費用必須在該交易結束前歸還。如果沒有完成規定的結算，執行就會回復，交易造成的狀態變更也不會保留。

這種設計讓合約可以將臨時資金用於套利、清算、抵押品置換或債務再融資，而操作方不必預先準備全部本金。它並不會創造免費的錢：策略必須涵蓋借款費、交易費、滑價、gas，以及任何不利成交或 MEV 帶來的成本。某些協議變體允許將未即時歸還的款項轉為普通債務，但這種途徑需要抵押品或信用委託，不能與無抵押的閃電貸混為一談。

閃電貸既能放大有用交易，也能放大攻擊。它提供的是資金；要造成損失，攻擊仍須利用其他弱點，例如可操縱的價格輸入、錯誤的會計處理、不安全的回呼或治理規則。

<a id="mechanism"></a>

## 運作方式

1. **提出請求：** 接收合約向流動性池申請某種資產和數量，例如 `10,000,000 USDC`，並傳入策略所需的參數。
2. **轉帳並回呼：** 資金池轉出資產，然後呼叫接收合約。所有兌換、清算、還款或抵押品變更，都透過巢狀於同一筆交易內的合約呼叫完成。
3. **執行策略：** 接收合約使用臨時資金。由於外部呼叫可能重入合約或產生非預期價格，實作時需要明確的存取控制、經過驗證的輸入、滑價限制和安全的授權處理。
4. **結算檢查：** 接收合約授權或轉出應付款項。在 Aave 式的簡單流程中，資金池會在回呼結束後扣取本金加費用；餘額不足或授權額度不足都會導致回復。
5. **原子結果：** 如果所有呼叫均成功，最終狀態就會被記錄。如果發生未捕捉的錯誤或結算失敗，Solidity 的狀態回復例外會撤銷目前呼叫及其子呼叫造成的變更。發起人仍可能損失失敗交易已經消耗的 gas。

原子性消除了出借人在交易執行期間承擔的信用曝險，但不保證借款人的策略有利可圖、保持私密或程式碼正確。可用流動性、可借資產、費率、回呼介面、債務轉換選項與暫停控制都取決於具體協議，也可能由治理進行調整。

<a id="example"></a>

## 範例

假設某合約借入 `10,000,000 USDC`，在一個資金池買入資產，再到另一個資金池賣出。令 `A` 表示本金、`F` 表示閃電貸費用、`G` 表示 gas 與執行成本、`S` 表示滑價及其他交易成本、`R` 表示賣出後收到的 USDC。簡化後的損益兩平條件為 `R >= A + F + G + S`。

假設兩次兌換共收回 `10,012,000 USDC`，閃電貸要求歸還含本金和費用在內的 `10,009,000 USDC`，gas 與其他執行成本合計 `2,000 USDC`。簡化利潤為 `10,012,000 - 10,009,000 - 2,000 = 1,000 USDC`。

這筆表面利潤可能在交易被納入區塊前消失。其他搜尋者可能複製交易或出更高價搶先成交，資金池儲備可能變化，代幣可能收取未預期的轉帳費，交易也可能在消耗 gas 後回復。合約應設定最低可接受輸出，並在實際結果低於門檻時主動回復；介面上的報價不等於可執行利潤。

<a id="risks"></a>

## 風險

- **策略與合約風險：** 程式錯誤、不安全的授權、惡意代幣、重入路徑或錯誤的回呼驗證，都可能讓接收合約原本持有的資金遭受損失。
- **價格、流動性與滑價風險：** 報價價差可能隨著儲備變化而消失。淺池會產生嚴重的價格衝擊；如果預言機依賴可操縱的現貨市場，臨時資金還可能扭曲協議決策。
- **MEV 與排序風險：** 公開的待處理交易可能被複製、夾擊、搶跑或尾隨。私有提交可以降低部分風險，但會引入建構者或中繼依賴，也不能保證交易被納入區塊。
- **費用與回復風險：** 閃電貸費用、交易所費用、gas、代幣轉帳費和優先費都必須涵蓋。交易回復後，狀態變更雖然被撤銷，但通常仍會損失 gas。
- **協議與治理風險：** 暫停、升級、費率調整、流動性撤出、預言機故障，以及任何整合協議的故障，都可能使原本合理的策略失效。
- **操作與法律風險：** 金鑰外洩、地址錯誤、不可靠的自動化，以及制裁、稅務或其他因司法管轄區而異的規則，都可能在智慧合約計算之外造成損失或義務。

對協議審查者而言，事故交易中出現閃電貸，只能證明使用了臨時融資，不能證明它就是根本原因。應重現狀態轉換，並找出究竟是哪條不變量、價格來源、權限或會計規則允許價值流出。

<a id="misconceptions"></a>

## 常見誤解

### 誤解 1：閃電貸是免費資金

它是附帶嚴格結算條件的臨時流動性。可行策略必須歸還規定款項，並涵蓋全部執行成本；否則交易會回復或產生虧損。

### 誤解 2：借款人可以把資金留到區塊內稍後歸還

經典閃電貸必須在同一筆交易的呼叫堆疊內完成結算，而不是只要在同一區塊內歸還即可。資金不能先轉入錢包，再透過之後的另一筆交易還款。

### 誤解 3：原子執行代表沒有下行風險

原子性會在未捕捉的失敗後撤銷狀態變更，但不會退還已經消耗的 gas。它也無法防止錯誤定價、授權外洩、MEV，或接收合約在呼叫前就持有的資金發生損失。

### 誤解 4：每筆閃電貸都是攻擊

套利、清算、抵押品置換和債務再融資都是正常用途。真正的漏洞是失效的預言機、權限、會計、治理或回呼假設；閃電貸可能只是提供了足以利用漏洞的臨時資金。

### 誤解 5：報價價差很大就一定有利潤

利潤取決於扣除全部費用和滑價後的可執行價格與交易排序。應針對預期的區塊狀態進行模擬、設定最低輸出，並把失敗或競價落敗的交易視為真實成本。

<a id="related"></a>

## 相關主題

- [加密資產期現套利](/crypto/cash-and-carry-crypto/)
- [DeFi](/crypto/defi/)
- [MEV](/crypto/mev/)
- [預言機](/crypto/oracle/)
- [收益聚合器](/crypto/yield-aggregator/)

<a id="sources"></a>

## 來源

- [FlashLoanLogic.sol](https://github.com/aave-dao/aave-v3-origin/blob/main/src/contracts/protocol/libraries/logic/FlashLoanLogic.sol) - Aave DAO（存取日期：2026-08-20）
- [Expressions and Control Structures](https://docs.soliditylang.org/en/latest/control-structures.html#error-handling-assert-require-revert-and-exceptions) - Solidity（存取日期：2026-08-20）
- [DeFi risks and the decentralisation illusion](https://www.bis.org/publ/qtrpdf/r_qt2112b.htm) - Bank for International Settlements（存取日期：2026-08-20）

Source: https://wiki.fcontext.com/zh-tw/crypto/flash-loan/index.mdx
