僅供教育參考,不構成投資建議;投資可能產生損失。
直接答案
閃電貸是僅在一筆原子交易執行期間可用的智慧合約流動性。在經典模式下,借款人不必提供抵押品,因為借貸合約要求本金和費用必須在該交易結束前歸還。如果沒有完成規定的結算,執行就會回復,交易造成的狀態變更也不會保留。
這種設計讓合約可以將臨時資金用於套利、清算、抵押品置換或債務再融資,而操作方不必預先準備全部本金。它並不會創造免費的錢:策略必須涵蓋借款費、交易費、滑價、gas,以及任何不利成交或 MEV 帶來的成本。某些協議變體允許將未即時歸還的款項轉為普通債務,但這種途徑需要抵押品或信用委託,不能與無抵押的閃電貸混為一談。
閃電貸既能放大有用交易,也能放大攻擊。它提供的是資金;要造成損失,攻擊仍須利用其他弱點,例如可操縱的價格輸入、錯誤的會計處理、不安全的回呼或治理規則。
運作方式
- 提出請求: 接收合約向流動性池申請某種資產和數量,例如
10,000,000 USDC,並傳入策略所需的參數。 - 轉帳並回呼: 資金池轉出資產,然後呼叫接收合約。所有兌換、清算、還款或抵押品變更,都透過巢狀於同一筆交易內的合約呼叫完成。
- 執行策略: 接收合約使用臨時資金。由於外部呼叫可能重入合約或產生非預期價格,實作時需要明確的存取控制、經過驗證的輸入、滑價限制和安全的授權處理。
- 結算檢查: 接收合約授權或轉出應付款項。在 Aave 式的簡單流程中,資金池會在回呼結束後扣取本金加費用;餘額不足或授權額度不足都會導致回復。
- 原子結果: 如果所有呼叫均成功,最終狀態就會被記錄。如果發生未捕捉的錯誤或結算失敗,Solidity 的狀態回復例外會撤銷目前呼叫及其子呼叫造成的變更。發起人仍可能損失失敗交易已經消耗的 gas。
原子性消除了出借人在交易執行期間承擔的信用曝險,但不保證借款人的策略有利可圖、保持私密或程式碼正確。可用流動性、可借資產、費率、回呼介面、債務轉換選項與暫停控制都取決於具體協議,也可能由治理進行調整。
範例
假設某合約借入 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 後回復。合約應設定最低可接受輸出,並在實際結果低於門檻時主動回復;介面上的報價不等於可執行利潤。
風險
- 策略與合約風險: 程式錯誤、不安全的授權、惡意代幣、重入路徑或錯誤的回呼驗證,都可能讓接收合約原本持有的資金遭受損失。
- 價格、流動性與滑價風險: 報價價差可能隨著儲備變化而消失。淺池會產生嚴重的價格衝擊;如果預言機依賴可操縱的現貨市場,臨時資金還可能扭曲協議決策。
- MEV 與排序風險: 公開的待處理交易可能被複製、夾擊、搶跑或尾隨。私有提交可以降低部分風險,但會引入建構者或中繼依賴,也不能保證交易被納入區塊。
- 費用與回復風險: 閃電貸費用、交易所費用、gas、代幣轉帳費和優先費都必須涵蓋。交易回復後,狀態變更雖然被撤銷,但通常仍會損失 gas。
- 協議與治理風險: 暫停、升級、費率調整、流動性撤出、預言機故障,以及任何整合協議的故障,都可能使原本合理的策略失效。
- 操作與法律風險: 金鑰外洩、地址錯誤、不可靠的自動化,以及制裁、稅務或其他因司法管轄區而異的規則,都可能在智慧合約計算之外造成損失或義務。
對協議審查者而言,事故交易中出現閃電貸,只能證明使用了臨時融資,不能證明它就是根本原因。應重現狀態轉換,並找出究竟是哪條不變量、價格來源、權限或會計規則允許價值流出。
常見誤解
誤解 1:閃電貸是免費資金
它是附帶嚴格結算條件的臨時流動性。可行策略必須歸還規定款項,並涵蓋全部執行成本;否則交易會回復或產生虧損。
誤解 2:借款人可以把資金留到區塊內稍後歸還
經典閃電貸必須在同一筆交易的呼叫堆疊內完成結算,而不是只要在同一區塊內歸還即可。資金不能先轉入錢包,再透過之後的另一筆交易還款。
誤解 3:原子執行代表沒有下行風險
原子性會在未捕捉的失敗後撤銷狀態變更,但不會退還已經消耗的 gas。它也無法防止錯誤定價、授權外洩、MEV,或接收合約在呼叫前就持有的資金發生損失。
誤解 4:每筆閃電貸都是攻擊
套利、清算、抵押品置換和債務再融資都是正常用途。真正的漏洞是失效的預言機、權限、會計、治理或回呼假設;閃電貸可能只是提供了足以利用漏洞的臨時資金。
誤解 5:報價價差很大就一定有利潤
利潤取決於扣除全部費用和滑價後的可執行價格與交易排序。應針對預期的區塊狀態進行模擬、設定最低輸出,並把失敗或競價落敗的交易視為真實成本。
相關主題
來源
- FlashLoanLogic.sol - Aave DAO(存取日期:2026-08-20)
- Expressions and Control Structures - Solidity(存取日期:2026-08-20)
- DeFi risks and the decentralisation illusion - Bank for International Settlements(存取日期:2026-08-20)