Cosa sono i flash loan nella DeFi?
Home
Articoli
Cosa sono i flash loan nella DeFi?

Cosa sono i flash loan nella DeFi?

Principiante
Pubblicato Sep 9, 2020Aggiornato Feb 1, 2023
11m

TL;DR

Un prestito da estranei che non richiede all'utente di sacrificare neanche un soldo? È possibile, ad una condizione: gli individui devono rimborsare il creditore nella stessa transazione che ha trasferito i fondi. Sembra strano, vero? Cosa puoi fare con un prestito che deve essere restituito nel giro di qualche secondo?

A quanto pare, puoi interagire con smart contract in quella stessa transazione. Se puoi guadagnare più soldi usando il tuo prestito, puoi rimborsare i fondi e intascarti i profitti in un batter d'occhio. Purtroppo però non è facile. Continua a leggere per saperne di più sulle ultime novità dell'ecosistema DeFi.


Introduzione

Nel settore delle criptovalute, si parla spesso di reinventare il sistema finanziario tradizionale, ma sulla blockchain. Gli scettici essere contrari all'idea, ma è innegabile che molti stiano costruendo un'infrastruttura interessante su questo fronte.
Infatti, l'obiettivo centrale della DeFi (o finanza decentralizzata) è dare vita a un ecosistema finanziario permissionless, decentralizzato e trasparente sopra network blockchain. Le criptovalute hanno dimostrato che è possibile farlo con il denaro. Ogni giorno, sistemi come Bitcoin vengono usati per trasferire valore in tutto il mondo.
La nuova ondata di tecnologie DeFi promette un livello aggiuntivo. Oggi, puoi contrarre prestiti garantiti da crypto, scambiare asset digitali in modo trustless, e conservare ricchezza in monete che simulano il prezzo di valute fiat.
In questo articolo, studieremo una categoria specifica di prestiti – i flash loan. Come vedremo tra poco, sono strumenti unici nel crescente insieme della finanza decentralizzata.


Come funzionano i prestiti normali?

Molti sanno come funziona un prestito ordinario. Comunque, vale la pena ribadirlo per poter fare un confronto più tardi.


Prestiti non garantiti

Un prestito non garantito (unsecured loan) è un prestito in cui non devi stanziare alcuna garanzia collaterale. In altre parole, non c'è un asset che andrà al tuo creditore se non rimborsi il prestito. Per esempio, supponi di volere davvero una collana d'oro da 3.000$ con il logo di Binance come pendente. Non hai a disposizione il denaro necessario, ma lo avrai quando vieni pagato settimana prossima.

Parli con il tuo amico Bob. Gli spieghi quanto ci tieni a questa collana, come migliorerà il tuo trading di almeno il 20%, e Bob accetta di prestarti il denaro. A condizione, ovviamente, che lo ripaghi non appena ricevi il tuo stipendio.

Bob è un tuo caro amico, quindi non ha chiesto una commissione quando ti ha prestato i 3.000$. Non tutti saranno così gentili – ma, d'altronde, perché dovrebbero? Bob si fida di te ed è convinto che lo ripagherai. Un'altra persona potrebbe non conoscerti, quindi non sa se potresti scappare con i loro soldi.

In genere, i prestiti non garantiti dalle istituzioni richiedono qualche tipo di controllo del credito. Analizzeranno il tuo track record (il punteggio di credito) per valutare la tua capacità di rimborsare il debito. Se vedono che hai contratto diversi prestiti e li hai ripagati puntualmente, potrebbero pensare sì, questa persona è piuttosto affidabile. Prestiamogli dei soldi.
A quel punto, l'istituzione ti trasferisce il denaro, con dei vincoli. Questi vincoli sono i tassi d'interesse. Per ottenere i soldi ora, devi accettare che più tardi ripagherai una somma più alta.

Forse conosci già questo modello se usi una carta di credito. Se non paghi un conto per un determinato periodo, ti viene addebitato interesse finché non rimborsi l'intero saldo (e commissioni aggiuntive).


Prestiti garantiti

A volte un buon punteggio di credito non basta. Anche se hai rimborsato tutti i tuoi prestiti puntualmente per decenni, avrai difficoltà a ottenere prestiti di grandi somme di denaro basati unicamente sulla tua affidabilità creditizia. In questi casi, dovrai offrire una garanzia collaterale.

Se chiedi a qualcuno un grande prestito, concederlo è rischioso. Per ridurre il rischio, il creditore ti costringerà a mettere in gioco qualcosa. Un tuo asset – che sia un gioiello o una proprietà immobiliare – diventerà del prestatore se non riesci a ripagare il prestito in tempo. L'idea è che il creditore può recuperare parte del valore che hanno perso. In poche parole, questo è il collaterale.

Supponi di voler comprare un'automobile da 50.000$. Bob si fida di te, ma non vuole darti i soldi con un prestito non garantito. Invece, ti chiede di fornire del collaterale – la tua collezione di gioielli. Ora, se non rimborsi il prestito, Bob può impossessarsi della tua collezione e venderla.


Come funziona un flash loan?

Possiamo includere i flash loan nella categoria dei prestiti non garantiti, semplicemente perché non fornisci nessun collaterale. Tuttavia, non devi neanche superare un controllo del credito o altre procedure simili. Devi soltanto chiedere al creditore se puoi prendere in prestito 50.000$ in ETH, questo ti dice sì! Eccoli qua! e sei a posto.
Dov'è il trucco? Un flash loan deve essere ripagato nella stessa transazione. Questa caratteristica non è affatto intuitiva, ma solo perché siamo abituati al formato di una transazione normale in cui i fondi si spostano da un utente all'altro. Come quando paghi per beni o servizi, oppure depositi token su un exchange.
Tuttavia, se te ne intendi di Ethereum, saprai che la piattaforma è piuttosto flessibile – per questo alcuni lo chiamano denaro programmabile. Nel caso di un flash loan, puoi pensare al "programma" della tua transazione come se fosse composto da tre parti: ricevi il prestito, fai qualcosa con il prestito, rimborsa il prestito. E tutto avviene in un lampo!
Possiamo attribuirlo alla magia della tecnologia blockchain. La transazione viene trasmessa al network, prestandoti temporaneamente i fondi. Nella seconda parte della transazione, puoi eseguire diverse azioni. Fai quello che vuoi, purché i fondi ritornino in tempo per la terza parte. In caso contrario, il network rifiuta la transazione, quindi i fondi tornano al prestatore. In realtà, per quanto ne sa la blockchain, il creditore ha sempre avuto i fondi.

Questo spiega perché chi concede il prestito non ti chiede un collaterale. Il contratto per rimborsarlo viene applicato dal codice. 


Ma che senso ha?

A questo punto, probabilmente ti stai chiedendo perché utilizzare un flash loan. Se tutto questo avviene in una singola transazione, non è che puoi comprare una Lamborghini, giusto?

Beh, non è esattamente quello l'obiettivo. Concentriamoci sulla seconda parte della transazione descritta sopra, in cui tu fai qualcosa con il prestito. L'idea è quella di inviare i fondi a uno smart contract (o a una serie di smart contract), generare un profitto e restituire il prestito iniziale al termine della transazione. Come puoi vedere, il senso dei flash loan è guadagnare.



Ci sono un paio di casi d'uso in cui questo potrebbe rivelarsi utile. Evidentemente, non puoi fare cose off-chain nell'intervallo di tempo a tua disposizione, ma puoi sfruttare protocolli DeFi per fare più soldi usando il tuo prestito. Le applicazioni più diffuse sono nell'arbitraggio, in cui approfitti delle disparità di prezzo tra diverse piattaforme di trading. 
Supponi che un token abbia un prezzo di 10$ sul DEX A, mentre sul DEX B costa 10,50$. Ipotizzando che non ci siano commissioni, comprare dieci token sul DEX A e rivenderli sul DEX B produrrebbe un profitto di 5$. Questo tipo di attività non ti permetterà di comprare un'isola privata in tempi brevi, ma puoi vedere come consenta di fare soldi spostando grandi volumi. Se compri 10.000 token per 100.000$ e riesci a rivenderli per 105.000$, avrai un profitto di 5.000$.
Se ottieni un flash loan (tramite il protocollo Aave, per esempio), puoi sfruttare opportunità di arbitraggio come questa sugli exchange decentralizzati. Ecco un esempio di come potrebbe apparire l'attività:
  • Ottieni un prestito da 10.000$
  • Usa il prestito per comprare token sul DEX A
  • Rivendi i token sul DEX B
  • Rimborsa il prestito (e gli eventuali interessi)
  • Tieniti i guadagni

Il tutto in una sola transazione! Realisticamente, però, le commissioni delle transazioni, insieme alla forte competizione, tassi d'interesse e slippage, rendono i margini per l'arbitraggio molto sottili. Dovresti trovare un modo per aggirare le differenze di prezzo per rendere l'attività redditizia. Quando competi contro migliaia di altri utenti che cercano di fare la stessa cosa, non avrai molta fortuna.


Flash loan attack

Le criptovalute e, di conseguenza, la DeFi, sono un settore altamente sperimentale. Quando sono in gioco così tanti soldi, è solo una questione di tempo prima che vengano scoperte vulnerabilità. Su Ethereum, ne abbiamo visto un esempio lampante con l'hack di The DAO nel 2017. Da allora, diversi protocolli hanno subito 51% attack per guadagni finanziari.

Nel 2020, due flash loan attack di alto profilo hanno visto i criminali fuggire con quasi 1.000.000$ in valore al momento. Entrambi gli attacchi hanno seguito uno schema simile. 



Il primo flash loan attack

Nel primo caso, il debitore ha ottenuto un flash loan di Ether su dYdX (una dApp dedicata ai prestiti). In seguito, ha diviso questo prestito e l'ha inviato ad altre due piattaforme di prestito: Compound e Fulcrum.
Su Fulcrum (sviluppato sul protocollo bZx), il responsabile ha usato una porzione del prestito per shortare ETH contro wrapped Bitcoin (WBTC), quindi Fulcrum ha dovuto comprare WBTC. Questa informazione è stata trasmessa a un altro protocollo DeFi, Kyber, che ha riempito l'ordine su Uniswap, un popolare DEX basato su Ethereum. Tuttavia, a causa della scarsa liquidità di Uniswap, il prezzo di WBTC è aumentato sensibilmente, quindi Fulcrum ha pagato in eccesso per i WBTC comprati.

Allo stesso tempo, il responsabile ha ottenuto un prestito di WBTC su Compound usando il resto del prestito di dYdX. Quando il prezzo è aumentato, il debitore ha spostato i WBTC in prestito su Uniswap è ha realizzato un modesto profitto. Infine, ha rimborsato il prestito su dYdX e si è intascato gli ETH rimasti.

Sembra un lavoraccio, e potrebbe persino essere troppo difficile da seguire. Il punto è che il responsabile ha sfruttato cinque protocolli DeFi diversi per manipolare i mercati. Incredibilmente, tutto questo è avvenuto nell'arco di tempo in cui il flash loan originale veniva confermato.

Hai capito dove stava il problema? Nel protocollo bZx usato da Fulcrum. Manipolando il mercato, il responsabile è riuscito a ingannarlo facendogli credere che WBTC valesse molto più di quanto fosse in realtà.


Il secondo flash loan attack

Non è stata una bella settimana per bZx. Pochi giorni più tardi, è stato colpito da un altro attacco. Il colpevole ha ottenuto un flash loan e ha convertito una parte in una stablecoin (sUSD). Probabilmente sai già che le stablecoin seguono il prezzo delle valute fiat. In fondo, ha USD nel nome.

Nonostante il loro nome, invece, gli smart contract non sono molto intelligenti. Non sanno quanto le stablecoin dovrebbero costare. Quindi, quando il responsabile ha effettuato un enorme ordine per comprare sUSD (usando gli ETH presi in prestito), il prezzo è raddoppiato su Kyber.

bZx credeva che sUSD valesse 2$ invece di 1$. In seguito, il colpevole ha contratto un prestito di ETH molto più grande di quanto sarebbe stato possibile normalmente su bZx, dato che la loro moneta da 1$ aveva il potere d'acquisto di 2$. Infine, il responsabile ha rimborsato il flash loan iniziale e si è intascato il resto.


I flash loan sono rischiosi?

Giusto o sbagliato, questo particolare vettore d'attacco è impressionante, se non altro perché dimostra fino a che punto i malintenzionati possono arrivare. È facile osservare retrospettivamente ai metodi usati e dire che bZx avrebbe dovuto usare un oracolo di prezzi diverso per ottenere dati. La realtà è che questo tipo di furto è incredibilmente economico: non richiede un particolare investimento da parte dell'attaccante. Non c'era nessun deterrente finanziario che potesse impedirgli di riuscirci.
Tradizionalmente, gli individui o gruppi che vogliono manipolare il mercato hanno bisogno di quantità enormi di criptovaluta. Con i flash loan, invece, chiunque può diventare una whale per pochi secondi. Come abbiamo visto, pochi secondi sono sufficienti per intascarsi centinaia di migliaia di dollari in Ether.
Guardando il lato positivo, il resto del settore imparerà dai due attacchi. È possibile che qualcun altro riuscirà a portare a termine un attacco di questo tipo, ora che tutti li conoscono? Forse. Gli oracoli hanno una serie di debolezze, come visto nel secondo attacco, e hanno bisogno di un lavoro considerevole per liberarsi di tali vulnerabilità.

Tutto sommato, questo non dipende dai flash loan, nello specifico – le vulnerabilità sfruttate si trovavano in altri protocolli, mentre i flash loan hanno soltanto finanziato l'attacco. Questa forma di prestito DeFi potrebbe avere molti casi d'uso interessanti in futuro, soprattutto considerando i bassi rischi per creditori e debitori.


In chiusura

I flash loan sono una novità emergente nel panorama della DeFi, ma hanno sicuramente lasciato una forte impressione. Il concetto di prestiti senza collaterale, fatti rispettare solo dal codice, apre un mondo di possibilità in un nuovo sistema finanziario.

Al momento, i casi d'uso sono piuttosto limitati, ma, in ultima analisi, i flash loan hanno posto le basi per nuove applicazioni innovative nella finanza decentralizzata.

Hai altre domande sui flash loan o sulla DeFi? Visita Ask Academy, dove la comunità ti darà le risposte che cerchi.