時(shí)間:2023-08-11|瀏覽:303
原文標(biāo)題:《DeFi科普丨深入淺出閃電貸》 撰文:jakub 翻譯:屏風(fēng)
閃電貸是怎么回事?如何在沒有抵押物的情況下,可以借到價(jià)值數(shù)百萬美元的加密貨幣的呢?本文將對閃電貸進(jìn)行簡單的介紹。
簡介 閃電貸可以讓我們在無需抵押品的情況下從指定的智能合約池中借入任何可用的資產(chǎn)金額。閃電貸是DeFi中有用的一個(gè)構(gòu)件(building block),因?yàn)樗梢杂糜谔桌⒔粨Q抵押品和自我清算等。
閃電貸款雖然最初是由Marble協(xié)議引入的,但由Aave和dYdX普及。
那么,閃電貸有什么好處呢?
閃貸必須在同一區(qū)塊鏈交易中進(jìn)行借貸和快速償還。
Ethereum等區(qū)塊鏈上交易的概念與計(jì)算機(jī)科學(xué)中對交易的傳統(tǒng)定義一致。
交易 一個(gè)交易代表了一組必須以「原子方式」執(zhí)行的操作,原子方式指的是要么所有的步驟都被執(zhí)行,要么交易被回滾,一個(gè)步驟都不會被執(zhí)行。
讓我們以一個(gè)簡單的數(shù)據(jù)庫交易為例。熟悉這一概念的讀者可以跳過這個(gè)部分。
想象有一個(gè)代表用戶賬戶余額的數(shù)據(jù)庫表
愛麗絲賬戶的余額是1000美元,鮑勃的余額是500美元。愛麗絲給鮑勃發(fā)了500美元。在這種情況下,我們要從Alice的余額中減去500美元,并在Bob的余額中增加500美元。數(shù)據(jù)庫更新報(bào)表應(yīng)這樣寫:
如果第一個(gè)更新執(zhí)行了,但第二個(gè)更新因?yàn)槟承┰蚴×?,會怎么樣?也許id=2在系統(tǒng)中并不存在,但我們犯了一個(gè)錯(cuò)誤,以為這是Bob的id)
如果發(fā)生這種情況,我們就會發(fā)現(xiàn)出現(xiàn)錯(cuò)誤的結(jié)果:Alice的余額為500美元,Bob的余額也等于500美元。
為了避免這樣的情況,我們必須使用transactions。
在上面的情況下,在SQL中,我們只需要用BEGIN和COMMIT關(guān)鍵字來打包這兩條語句。一旦這樣做,要么這兩條語句都正確執(zhí)行了,要么都沒有執(zhí)行,保證Alice和Bob的余額不受影響,我們就可以放心了。這就是我們常說的原子化交易,如果不同的步驟是同一個(gè)交易的一部分,它們是不可分割的,要么全有,要么全無。
Ethereum交易 說到Ethereum,每一個(gè)常見的操作,如發(fā)送ETH、發(fā)送ERC20代幣、與智能合約交互等都是在交易范圍內(nèi)執(zhí)行的。
交易被分組并包含在Ethereum區(qū)塊中。我們可以很方便地在任意的區(qū)塊鏈瀏覽器(例如Etherscan)上看到包含在特定區(qū)塊中的所有交易。
一個(gè)Ethereum交易可以包含多個(gè)步驟,例如,在Compound上