martedì 21 giugno 2022

Solana è Davvero Decentralizzata? Il Problema Solend

Abbiamo assistito più volte, negli ultimi 8 mesi, a problemi di congestione della rete Solana. Il Proof Of History (variante del Proof Of Stake) è talmente economico che incentiva attacchi dos e spam. A volte sono i gaming NFT o le vendite di token (IDO) con i bot che spammano transazioni. Sostanzialmente questa blockchain non riesce a reggere l'elevato TPS che dovrebbe garantire. O quantomeno esso viene superato facilmente perchè essendo economica permette un altissimo numero di transazioni per secondo. Il problema che ci poniamo è: Solana è realmente decentralizzata? Non ci sono puntate minime di staking, tuttavia per creare un nodo validatore servono ingenti risorse hardware e macchinari molto costosi. Ci sono oltre 1000 nodi ma in realtà una minima parte di questi valida le transazioni.
Il problema della decentralizzazione ce lo si pone visto che i validatori hanno deciso, a seguito di problemi di congestione, di bloccarla (halted) e riavviarla (per aggiornamenti di software e quant'altro). La chain è andata spesso off per diverse ore e nel mentre vengono eseguiti gli aggiornamenti necessari o viene ripristinata. Non agire in questo modo, porrebbe la blockchain in situazioni critiche che potrebbero minarne funzionamento e sicurezza. Tuttavia questo ha portato alla luce, i problemi di centralizzazione (ovvero c'è qualcuno che decide cosa fare in situazioni di questo tipo). In questi giorni è emerso un altro grande problema che riguarda la piattaforma di Lending Solend (un problema simile, a livello "concettuale", era successo anche su Juno Network, layer 1 costruito su Cosmos).


SOLEND
Solend è la principale piattaforma di Lending attiva su Solana. Nata nel 2021, aveva eseguito anche un airdrop del suo token SLND per i fornitori di liquidità (inizialmente la piattaforma non aveva un token). Il funzionamento di Solend è analogo alle classiche piattaforme di Lending in DeFi, in particolare ad Anchor (ovvero per incentivare i prestiti, si viene pagati in token SLND, un po' quello che faceva Anchor con ANC, con il risultato che a volte si viene addirittura "pagati" per chiedere un prestito. Di solito, bloccato un collaterale, i borrowers pagano un borrow apy per prendere la liquidità, tuttavia Solend a volte per incentivare la presa in prestito di alcuni token, paga questa differenza bombardando i borrowers con il token SLND).
Questo è il funzionamento della piattaforma, tuttavia negli ultimi giorni è emersa una situazione pericolosa. Una whale che gestisce gran parte della liquidità sulla piattaforma (circa il 25% del TVL) sarebbe a rischio liquidazione: si tratta di una posizione di circa 203 milioni di dollari (5 milioni di SOL) con un prestito ricevuto di circa 108 milioni di USDC ed USDT.
Circa il 95% dei SOL depositati sulla piattaforma sono i suoi, allo stesso modo 106 milioni di USDC sui 120 milioni totali depositati su Solend, sono stati presi da questo individuo (88%).
Il prezzo di liquidazione è 22.30$ e in tal caso la whale (che quando è stata eseguito la proposta era inattiva da 12 giorni) verrebbe liquidata per un 20% del prestito preso (21 milioni di dollari). Per la liquidazione verrebbero ripagati gli USDC e il liquidatore ottiene il collaterale (in questo caso il 20%) in sconto (fee di liquidazione). Il grande problema è che on chain (in questo periodo) non c'è la liquidità necessaria in SOL (21 milioni di dollari) quindi per gli swap ci sarebbe uno slippage elevatissimo (otterrei circa il 35/40% in meno, rispetto a quanto mi spetta). In poche parole la liquidazione non sarebbe conveniente e se non è conveniente, il prestito diverrebbe sotto-collateralizzato. Il risultato di questo è che già da oggi, chi ha depositato USDC per guadagnarci interessi, non riesce a prelevare in quanto non c'è liquidità disponibile (è stata quasi tutta presa in prestito dalla whale e da altri borrowers in quantità minori). Inoltre risulta impossibile liquidare tutte quelle posizioni che utilizzano USDC come collaterale perchè non si può prendere questo stesso collaterale (è tutto fuori dalla piattaforma appunto).
La soluzione proposta nella governance è stata quella di prendere il controllo dell'account della whale mediante un aggiornamento dello smart contract (visto che i fondi sono depositati sulla loro piattaforma) e liquidarlo in una transazione OTC (off chain) evitando lo slippage enorme ed impedendo la congestione della rete Solana (a causa dell'alto numero di transazioni e di quest'enorme liquidazione). Transazioni Over The Counter non influenzano il prezzo di mercato perchè avvengono fuori dalla chain e fuori da un classico exchange, per semplificare al massimo è come uno scambio P2P (tra due parti che trovano un accordo tra di loro ed avviene lo scambio che spesso è vantaggioso per entrambe le parti. Ovviamente è presente anche una terza parte che fa da garanzia). La migrazione dei fondi sugli smart contract è una cosa che non dovrebbe mai avvenire, altrimenti viene meno qualsiasi concetto di decentralizzazione (una cosa simile era avvenuta a marzo 2022 su Minswap, il principale dex su Cardano, dove i fondi degli utenti erano stati migrati su un altro smart contract per motivi di sicurezza). In ogni caso, la proposta fatta su Solend è passata, tuttavia si è scatenato il putiferio su Twitter e nella community, al punto da spingere qualcuno a realizzare una controproposta che invalidasse la prima.
Effettivamente sarebbe stato molto poco etico, modificare lo smart contract ed agire in questo modo. Anche perchè ci si pone il dubbio che una cosa del genere possa essere sempre fatta dai dev, mettendo a serio rischio non solo i fondi siti sulla piattaforma ma anche la sua credibilità (portando ad una fuga di capitali, la classica bank run che abbiamo imparato bene a conoscere in queste ultime settimane).
Poche ore dopo è stata varata una nuova proposta, in quanto gli utenti non sono ancora in grado di ritirare gli USDC nè è possibile liquidare quelle posizioni quindi sussiste un rischio sistemico.

La nuova proposta 3, chiede:
-limite di prestito di 50 milioni di dollari (al di sopra di questa soglia, qualsiasi posizione può essere liquidata, indipendentemente dal valore del collaterale)
-limite settato a 120 milioni di dollari ad account e diminuisce, a partire dall'attivazione della proposta, di 500000 dollari ad ora, sino a raggiungere i 50 milioni di dollari
-ridurre la liquidazione in una singola transazione dal 20% all'1%
-ridurre le fee di liquidazioni di SOL dal 5 al 2%, evitando lo spam da parte dei liquidatori (che potrebbe anche congestionare il network) permettendo però di pareggiare quantomeno lo slippage, nel caso ci fosse

Solend consiglia agli utenti di chiudere i prestiti ed ha affermato di aver contattato diversi market maker per provare ad aumentare la quantità di liquidità presente sulla chain, riducendo l'impatto dello slippage. Chiaramente si tratta di una soluzione temporanea a causa della situazione davvero critica, in quanto il limite è facilmente aggirabile creando più account. Nel mentre la whale che metteva a rischio Solend ha iniziato a ripagare il prestito.

Nessun commento:

Posta un commento