時間:2023-08-12|瀏覽:255
除了頻繁被用于DeFi套利攻擊,閃電貸還能做什么?
原文標題:《DeFi科普丨深入淺出閃電貸》
撰文:jakub
翻譯:屏風
閃電貸是怎么回事?如何在沒有抵押物的情況下,可以借到價值數百萬美元的加密貨幣的呢?本文將對閃電貸進行簡單的介紹。
閃電貸可以讓我們在無需抵押品的情況下從指定的智能合約池中借入任何可用的資產金額。閃電貸是DeFi中有用的一個構件(building block),因為它可以用于套利、交換抵押品和自我清算等。
閃電貸款雖然最初是由Marble協議引入的,但由Aave和dYdX普及。
那么,閃電貸有什么好處呢?
閃貸必須在同一區塊鏈交易中進行借貸和快速償還。
Ethereum等區塊鏈上交易的概念與計算機科學中對交易的傳統定義一致。
一個交易代表了一組必須以「原子方式」執行的操作,原子方式指的是要么所有的步驟都被執行,要么交易被回滾,一個步驟都不會被執行。
讓我們以一個簡單的數據庫交易為例。熟悉這一概念的讀者可以跳過這個部分。
想象有一個代表用戶賬戶余額的數據庫表
愛麗絲賬戶的余額是1000美元,鮑勃的余額是500美元。愛麗絲給鮑勃發了500美元。在這種情況下,我們要從Alice的余額中減去500美元,并在Bob的余額中增加500美元。數據庫更新報表應這樣寫:
如果第一個更新執行了,但第二個更新因為某些原因失敗了,會怎么樣?(也許id=2在系統中并不存在,但我們犯了一個錯誤,以為這是Bob的id)
如果發生這種情況,我們就會發現出現錯誤的結果:Alice的余額為500美元,Bob的余額也等于500美元。
為了避免這樣的情況,我們必須使用transactions。
在上面的情況下,在SQL中,我們只需要用BEGIN和COMMIT關鍵字來打包這兩條語句。一旦這樣做,要么這兩條語句都正確執行了,要么都沒有執行,保證Alice和Bob的余額不受影響,我們就可以放心了。這就是我們常說的原子化交易,如果不同的步驟是同一個交易的一部分,它們是不可分割的,要么全有,要么全無。
說到Ethereum,每一個常見的操作,如發送ETH、發送ERC20代幣、與智能合約交