Decifrato #05 | Perché i prestiti flash sono un nuovo tipo di attacco?

I prestiti flash sono stati sotto i riflettori ultimamente poiché si verificano più episodi di furto di denaro dai protocolli DeFi ...

I prestiti flash sono stati sotto i riflettori ultimamente poiché si sono verificati più incidenti di furto del protocollo DeFi, dall'hacking di Harvest Finance per oltre $ 33 milioni al più recente incidente OUSD, 7 milioni di dollari di mining. 

Dal punto di vista dell'hacker, questo attacco sembra una grande opportunità per prendere in prestito istantaneamente centinaia di migliaia di dollari da una persona senza un soldo per il valore di ETH. Quindi passa attraverso vulnerabili protocolli on-chain ed estrai centinaia di dollari dalle loro tasche e ripaga il prestito. Tutto questo è accaduto in un batter d'occhio in una transazione Ethereum. 

Non sappiamo chi siano questi aggressori o da dove provengano. Tutti sono partiti dal nulla e sono andati via con centinaia di migliaia di dollari di denaro e non hanno lasciato traccia da identificare. 

Cosa sono i prestiti flash? 

Il concetto di prestiti flash è stato introdotto per la prima volta da Max Wolff, il creatore di Marble Protocol, nel 2018.

I prestiti flash comunemente usati per Ethereum o ERC20 vengono presi in prestito solo per il tempo necessario per completare un blocco di transazioni sulla blockchain. Finché il prestito viene rimborsato prima dell'inizio del blocco successivo di transazioni, il mutuatario non dovrà sostenere interessi.

Se gli istituti di credito tradizionali sopportano due forme di rischio: rischio di insolvenza o rischio di liquidità, Flash Loans risolve questi due problemi. Fondamentalmente, i prestiti flash funzionano in questo modo: 

Ti presto l'importo che desideri in un'unica transazione. Ma al termine di questa transazione devi restituirmi almeno la somma che ti ho prestato. Se non paghi, ripristinerò automaticamente la tua transazione, il che significa che non è mai iniziata. 

Questo esiste solo sulla Blockchain. Non puoi fare prestiti flash su BitMex. Poiché lo smart contract può elaborare ogni transazione, tutto ciò che accade nella transazione viene eseguito in sequenza. Puoi considerare questo come il "tempo di blocco" della transazione mentre la transazione è in corso.

I finanziatori tradizionali sono compensati per due cose: il rischio che stanno assumendo (rischi di insolvenza e di illiquidità) e il costo opportunità del capitale che prestano. 

I prestiti flash sono diversi. I prestiti flash non hanno davvero alcun rischio e nessun costo opportunità! Questo perché i mutuatari sono "tempo congelato" per la durata dei loro prestiti flash, quindi il capitale del sistema non è mai a rischio e non viene mai contrastato, quindi non può guadagnare interessi altrove (cioè non ha costi di opportunità).

Ciò significa che non ci sono costi per diventare un prestatore flash. Detto questo, quanto costano i prestiti flash all'equilibrio?

Fondamentalmente, i prestiti flash sono gratuiti. O meglio, un canone sufficientemente piccolo da ammortizzare il costo include 3 righe di codice in più in modo che l'immobile possa prestarsi rapidamente.

I prestiti flash non possono essere addebitati interessi in modo tradizionale, in quanto il prestito è valido per un tempo zero (qualsiasi TAEG * 0 = 0). E, naturalmente, se le istituzioni che offrono prestiti flash applicano tassi di interesse più elevati, verranno rapidamente addebitati tassi di interesse inferiori da altri pool di prestiti flash.

Alcuni progetti attualmente applicano prestiti flash a costo zero come dYdX o AAVE che addebitano lo 0,09% del capitale per i prestiti flash. 

A cosa servono i prestiti flash? 

I prestiti flash erano originariamente conosciuti principalmente per il trading di arbitraggio. Marble, il creatore della definizione fonte di prestiti Flash, afferma: 

Con i prestiti flash, i trader possono prendere in prestito da Marble bank, acquistare token su un DEX, vendere token su un altro DEX a un prezzo più alto, rimborsare prestiti bancari e intascare profitti di arbitraggio in una sola transazione. " .

In effetti, la maggior parte dei prestiti viene utilizzata per questo scopo. 

Decifrato #05 |  Perché i prestiti flash sono un nuovo tipo di attacco?

Ma il volume è molto piccolo. AAVE ha poco più di $ 10k in prestiti sin dal suo inizio. Questo è minuscolo rispetto al mercato dell'arbitraggio e della liquidazione su DeFi.

Anche perché la maggior parte del trading di arbitraggio viene effettuato da arbitraggi competitivi che eseguono programmi complessi. Partecipano alle aste del gas preferito sulla catena e utilizzano i token del gas per ottimizzare le commissioni di transazione. È un mercato molto competitivo: queste persone sono perfettamente felici di mantenere alcuni token nel proprio bilancio per ottimizzare i guadagni.

D'altra parte, prendere in prestito su AAVE costa circa 80.000 gas e addebita lo 0,09% del capitale, un prezzo troppo costoso da pagare per un arbitraggio competitivo con un piccolo margine. In effetti, nella maggior parte dei trader di arbitraggio AAVE, il mutuatario finisce per pagare più commissioni al pool di prestito di quante ne percepisca.

A lungo termine, è improbabile che gli arbitraggi utilizzino prestiti flash se non in circostanze eccezionali.

Ma i prestiti flash hanno altri casi d'uso più convincenti nella DeFi. Un esempio è il rifinanziamento dei prestiti. 

Esempio: supponiamo che tu abbia un deposito Maker (CDP) con $ 100 ETH bloccati al suo interno e che tu abbia preso in prestito 40 DAI da esso. Quindi hai una posizione netta di $ 60 meno il debito. Ora vuoi rifinanziare in Compound per un tasso di interesse migliore. 

Solitamente è necessario riacquistare 40 DAI esternamente, magari su quella borsa per ricaricare il CDP in quanto richiede del capitale anticipato. Invece, puoi prendere un rapido prestito di 40 DAI, chiudere $ 100 CDP, depositare $ 60 ETH sbloccati in Compound, convertire altri $ 40 ETH in DAI tramite Uniswap e usarlo per pagare prestiti flash.

Gli attacchi ai prestiti flash hanno grandi implicazioni sulla sicurezza 

I primi incidenti sono nati dall'hack di bZx e forse questa è stata la torcia che ha scatenato ulteriori attacchi.  

Ci sono due ragioni principali per cui i prestiti flash sono particolarmente attraenti per gli attaccanti.

Molti attacchi richiedono molto capitale iniziale (come gli attacchi di manipolazione degli oracoli). 

I prestiti flash riducono il rischio di esposizione agli aggressori. Se ho un'idea su come manipolare Oracle con 10 milioni di dollari di Ether, anche se possiedo così tanto Ether, potrei non voler rischiare il mio capitale. Il mio ETH sarà influenzato, gli scambi potrebbero rifiutare il mio deposito e sarà più difficile per il flusso di denaro. Un bel rischio! Ma se ricevo un prestito veloce di 10 milioni di dollari, chi se ne frega? Tutti sono opposti. Non è che il pool di mutui di dYdX sarebbe considerato influenzato negativamente perché è da lì che provengono i suoi prestiti.

Potrebbe non piacerti che la lista nera degli scambi faccia parte del paradigma di sicurezza blockchain di oggi. È piuttosto riservato e concentrato. Ma la realtà è abbastanza importante dato il calcolo che sta dietro a questi attacchi.

Nel whitepaper Bitcoin, Satoshi ha affermato che Bitcoin è al sicuro dagli attacchi perché:

"[L'attaccante] dovrebbe trovare più redditizio seguire le regole […] piuttosto che distruggere il sistema e il proprio valore patrimoniale".

Con i prestiti flash, gli attaccanti non hanno più bisogno di spendere molti soldi per il gioco. I prestiti flash cambiano drasticamente il rischio per gli aggressori.

E ricorda, i prestiti flash possono accumularsi! Sotto il limite del gas, puoi aggregare tutti i fondi rapidamente prestabili in un'unica transazione (fino a $ 50 milioni) e ridurre tutto quel capitale a un contratto vulnerabile. È un'enorme memoria da $ 50 milioni a cui chiunque può unirsi ora finché ci sono soldi. È così spaventoso!

Ovviamente, ora non sarai in grado di attaccare un protocollo se hai solo molti soldi. Se la DeFi è sicura come si dice, tutto questo non avrà importanza, che tipo di protocollo non è sicuro contro le balene? Non solo che era solo negligenza.

Tuttavia, potremmo vedere Ethereum stesso soggetto a un attacco del 51% per meno di $ 200.000/ora. Se il modello di sicurezza di Ethereum è fondamentalmente costruito attorno a vincoli di capitale, perché siamo così pronti a presumere che le applicazioni DeFi possano essere violate con successo per un minimo di $ 10 milioni?

Come mitigare gli attacchi ai prestiti flash?

Diciamo che sono un protocollo DeFi e voglio evitare di essere attaccato dai prestiti flash. La prima domanda è: posso rilevare se gli utenti che interagiscono con me utilizzano prestiti flash?

La risposta semplice è no!

EVM non consente ai fratelli di leggere la memoria da qualsiasi altro contratto. Quindi, se vuoi sapere cosa sta succedendo in un altro contratto, quel contratto te lo dirà. 

Quindi, se vuoi sapere se vengono utilizzati prestiti flash, devi chiedere direttamente il contratto. Oggi, molti protocolli di prestito non rispondono a tali domande (e non c'è modo di imporre ciò che fa un prestatore espresso). 

Inoltre, anche se hai provato a testare una query del genere, può essere facile essere indirizzati in modo errato utilizzando un contratto di autorizzazione o collegando tra gruppi di prestiti rapidi. In generale, non è possibile dire in generale se i depositanti utilizzino o meno prestiti flash.

Proprio come qualcuno che bussa alla tua porta e ti sta davanti con una valigia da 10 milioni di dollari, non puoi dire se sono i loro soldi o no. Destra? 

Come proteggersi dagli attacchi di prestito flash? 

Smetti di fornire il servizio di prestito flash 

Seriamente, cercare di convincere i finanziatori a smettere di offrire prestiti flash è come cercare di fermare l'inquinamento acustico. 

La fornitura di prestiti veloci è soggetta agli interessi personali di ogni protocollo e ci sono buone ragioni per cui i loro utenti desiderano questa funzionalità. Quindi possiamo rimuoverlo in sicurezza. 

Forzare le transazioni importanti a durare due blocchi

Ricorda, i prestiti flash ti consentono di prendere in prestito denaro per la durata di una singola transazione. Se richiedi una transazione ad alta intensità di capitale che si estende su due blocchi, gli utenti devono prendere in prestito almeno due blocchi, sconfiggendo qualsiasi attacco di prestito flash. (Nota: affinché funzioni, gli utenti devono bloccare il loro valore tra i due blocchi, impedendo loro di rimborsare il prestito).

Ovviamente, questo porta a un compromesso UX: significa che le transazioni non saranno più sincronizzate. È attraente per gli utenti e sembra anche abbastanza sicuro.

Molti sviluppatori si lamentano delle operazioni asincrone di contratti intelligenti, come l'interazione con la comunicazione di livello 2 o il cross-sharding in Ethereum 2.0. 

Ironia della sorte, l'asincronia rende effettivamente questi sistemi al sicuro dagli attacchi di prestito flash, dal momento che non è possibile passare attraverso uno shard o un livello 2 in una singola piccola transazione. Ciò significa che non vi è alcun attacco di prestito flash su shard ETH 2.0 o contro DEX di livello 2.

Richiedi online la prova del saldo precedente dell'utente

Potremmo sconfiggere gli attacchi di prestito flash se ci fosse un modo per rilevare qual era il saldo netto di un utente, ovvero quale era il suo saldo prima che prendesse un prestito.

Prima che un utente interagisca con il protocollo di una piattaforma, la piattaforma richiede una prova Merkle che dimostri che alla fine del blocco precedente, ha un saldo sufficiente per tenere conto del capitale che sta attualmente utilizzando. La piattaforma deve tenerne traccia per ogni utente in ogni blocco.

Questa soluzione ha alcune complicazioni: verificare queste prove on-chain è estremamente costoso on-chain e nessun utente ben intenzionato vuole generarle e pagare le tasse del gas per tutto. In alternativa, gli utenti potrebbero aver modificato i propri saldi in precedenza nello stesso blocco per motivi del tutto legittimi. Quindi teoricamente ha qualche pregio, ma non è una soluzione pratica..

Non esiste un'unica soluzione in grado di prevenire completamente gli attacchi di prestito flash, ma due applicazioni specifiche in grado di mitigare questi attacchi sono: l'oracolo dei prezzi basato sul mercato e i token di governance.

Per Oracle con prezzi basati sul mercato come Uniswap o OasisDEX, gli attacchi di prestito flash ti impediscono di utilizzare gli attuali tassi di mercato medi come Oracle. 

Il piano dell'attaccante era quello di spostare il prezzo medio di mercato in un'unica transazione e creare un flash crash, danneggiando l'oracolo in termini di prezzo.

La soluzione migliore qui è utilizzare una media ponderata degli ultimi blocchi X tramite TWAP o VWAP. Uniswap v2 fornirà questa soluzione. Esiste anche Polaris, un approccio generalizzato per fornire medie mobili per i protocolli DeFi, ma Polaris è stato interrotto per molti anni. 

La governance on-chain è solitamente determinata dal voto ponderato in moneta tra i titolari di token di governance. Ma se quei token di governance si trovano in un pool di prestiti flash, qualsiasi aggressore può prendere un'enorme pila di monete e fare affidamento sul risultato che desidera.

Naturalmente, la maggior parte dei protocolli di governance richiede il blocco dei token durante la votazione, il che aiuta a sconfiggere gli attacchi di prestito flash. Ma alcune forme di voto non lo richiedono, come il voto sul carbonio o il contratto operativo di Maker. Con gli attacchi di prestito flash di oggi, questi moduli di voto dovrebbero essere considerati completamente rotti.

La cosa più logica è che il token di governance è completamente non prestante ma dipende dal mercato. Pertanto, tutte le azioni amministrative dovrebbero richiedere un blocco per prevenire attacchi di prestiti flash. Il nuovo token COMP di Compound fa un ulteriore passo avanti cronometrando tutti i voti del protocollo, indebolendo istantaneamente anche l'occasionale attacco di prestito contro il token di governance.

In generale, tutti i token di governance devono avere tempo. Il blocco temporale che esegue tutte le decisioni amministrative deve attendere un periodo di tempo prima che abbiano effetto (per il blocco temporale composto è di 2 giorni). Ciò consente al sistema di riprendersi da eventuali attacchi amministrativi imprevisti.

Significato a lungo termine 

Credo che gli attacchi bZx abbiano cambiato tutto.

Questo non sarà l'ultimo attacco di prestito lampo. Il secondo attacco bZx è il primo clone e dubito che provocherà un'ondata di attacchi nei prossimi mesi. 

E questo è successo completamente, in una serie di attacchi di prestito flash si sono verificati come Harvest Finance ($ 33,8 milioni), Value DeFi ($ 7 milioni), Akro ($ 2 milioni), Cheese Bank ($ 3,3 milioni). USD) e più recentemente OUSD (7 milioni di dollari).

Epilogo 

Questa è probabilmente una delle motivazioni per cui Ethereum è passato rapidamente a Ethereum 2.0. La DeFi non è stabile sulla catena PoW, se i protocolli DeFi esistessero su shard separati su Ethereum 2.0 , non sarebbero vulnerabili ai prestiti flash.

L'attacco ai prestiti flash ci dà un piccolo ma utile promemoria che ogni piattaforma è appena iniziata, ci vuole molto tempo per ottenere un'architettura sostenibile per costruire il sistema finanziario del futuro.

L'articolo è tradotto e modificato dall'articolo originale pubblicato da Dragonfly Research. 



03 scambi di monete e margini commerciali più prestigiosi (2021)

03 scambi di monete e margini commerciali più prestigiosi (2021)

I nuovi arrivati ​​dovrebbero scambiare monete su quale borsa? In questo articolo, Coin98 introdurrà i 3 scambi di monete più prestigiosi nel 2021!

Protocollo Ren 2021 - Potenziale e opportunità di espansione multi-catena DeFi dopo essere stato acquisito da Sam SBF di FTX

Protocollo Ren 2021 - Potenziale e opportunità di espansione multi-catena DeFi dopo essere stato acquisito da Sam SBF di FTX

Rispetto a WBTC con una capitalizzazione di mercato di 8 miliardi di dollari (diretto rivale di REN), il numero di renBTC raggiunti è ancora piuttosto contenuto. Allora qual è il motivo?

Guida dettagliata per lutente di Tabtrader per i principianti

Guida dettagliata per lutente di Tabtrader per i principianti

A cosa serve TabTrader? Perché usare TabTrader? Dai un'occhiata alla guida utente TabTrader dettagliata e di facile comprensione per i principianti qui !!!

NFT Pandora - Una guida allNFT 2021

NFT Pandora - Una guida allNFT 2021

NFT Pandora - Manuale di NFT 2021. Tutto quello che devi sapere sull'NFT nel 2021.

Bitcoin Crash - Il crollo del mercato e la ripresa hanno raggiunto nuovi massimi

Bitcoin Crash - Il crollo del mercato e la ripresa hanno raggiunto nuovi massimi

Quando Bitcoin è crollato, è stato anche il momento in cui il mercato era "rosso infuocato". Rivediamo con Coin98 i forti dump di Bitcoin e la ripresa del mercato.

3 punti salienti della nuova tokenomica di ALPHA

3 punti salienti della nuova tokenomica di ALPHA

L'articolo ti offre una prospettiva sulla tokenomica dell'accumulo di commissioni di Alpha, cosa ha di speciale e in che modo influisce sugli staker?

Cosa sono i derivati ​​crittografici? Tipi e rischi di negoziazione di derivati ​​(2022)

Cosa sono i derivati ​​crittografici? Tipi e rischi di negoziazione di derivati ​​(2022)

I derivati ​​hanno contribuito con tonnellate di liquidità al mondo delle criptovalute. Quindi cosa sono i derivati ​​crittografici? Scopri di più sul trading di derivati ​​crittografici qui.

Il manuale SolFarm più dettagliato (2021)

Il manuale SolFarm più dettagliato (2021)

Istruzioni per l'utilizzo di SolFarm per realizzare profitti attraverso l'agricoltura, con operazioni quali: fornitura, prelievo di liquidità e prestito.

Cream V2 e Iron Bank - Una nuova brezza nel prestito DeFi (Parte 2)

Cream V2 e Iron Bank - Una nuova brezza nel prestito DeFi (Parte 2)

Articolo su Iron Bank, il prodotto chiave di Cream V2. Aiutaci a portare i prestiti in DeFi al livello successivo.

Le 5 migliori monete Web3 in circolazione nel 2021!

Le 5 migliori monete Web3 in circolazione nel 2021!

Web3 è un argomento importante e attira molto interesse da parte della comunità Crypto. Quindi quali sono le 5 migliori monete Web3 nel 2021?

Sign up and Earn ⋙
Sign up and Earn ⋙