Blockchain Terra: Mars protocol | ITA

0xstepit
11 min readOct 25, 2021

--

Mars vuole porsi come la banca di nuova generazione. Le sue fondamenta si basano sull’automatizzazione e l’adattamento alle varie fasi del mercato.

Introduzione

Mars Protocol è uno dei progetti su blockchain Terra più attesi di sempre e attualmente incubato da Delphi Labs. Per descriverlo in porche parole, Mars, è un protocollo che gestisce un mercato monetario decentralizzato e permissionless in cui gli utenti possono fornire liquidità ad altri utenti che vogliono prenderla in prestito.

Mercato monetario (money market): si intende quella parte del mercato che si occupa della gestione della liquidità, e quindi di depositi e prestiti.

L’aspetto molto interessante di questo progetto, ed il motivo che mi ha portato ad approfondirlo subito in una guida, è il suo sistema di gestione del tasso di interesse. Per gestire un tasso dinamico in grado di adattarsi al mercato fa utilizzo di uno degli strumenti più mainstream della teoria del controllo, il controllore PID. 😱

Il tasso di interesse è uno dei fattori più importanti nei protocolli di lending e viene modificato al fine di variare il tasso di utilizzo. Il tasso di utilizzo è definito come il rapporto fra il capitale prestato e quello depositato, e in base al suo valore percentuale possiamo individuare due situazioni non gradite.

  • Un tasso di utilizzo troppo alto vorrebbe dire che chi deposita non ha la possibilità di ritirare poiché tutti i fondi sono stati prestati. In questo caso il protocollo sarebbe illiquido.
  • Un tasso di utilizzo troppo baso vorrebbe dire che il denaro non viene gestito in modo efficiente. La gente deposita capitale ma nessuno lo prende in prestito e quindi diventa poco conveniente depositare i propri risparmi.

Gli obiettivi di questo protocollo, e quindi le situazioni in cui vuole porsi come strumento di supporto, sono:

  • Aumentare la richiesta dei prestiti facendo in modo che anche chi non ha collaterale può comunque lavorare in leva. In questo modo si aumenterà il ritorno per chi deposita a patto che non vi sia la possibilità di diventare insolventi.
  • Mantenere un tasso di interesse meno volatile nel tempo.

Mars

Mars si occuperà della gestione di due tipi di prestiti:

  • B2C (business to customer): questi saranno prestiti collateralizzati e coinvolgeranno gli smart contract del protocollo e gli utenti.
  • B2B (business to business): questi saranno prestiti non collateralizzati e coinvolgeranno solo smart contract.

Nella scorsa guida su Anchor abbiamo discusso del perché la colletaralizzazione di un debito fosse importante. In questo caso il termine non collateralizzato è un pò forviante, infatti non è del tutto vero e approfondiremo nel seguito il suo funzionamento.

Prestito collateralizzato

Un utente potrà depositare degli asset per ricevere in cambio dei token che accumulano interesse, gli maAsset. Questi token aumenteranno col tempo di valore poiché accumuleranno gli interessi pagati dai debitori, ossia coloro che prendono asset in prestito. In questo caso un debitore dovrà necessariamente essere anche un creditore e aver quindi depositato del collaterale. Ricordatevi che avere un debito è un operazione molto rischiosa: se il loan to value (LTV) scende sotto la soglia minima si viene liquidati. Se fate fatica a capire questo concetto vi rimando a un altro articolo che ho scritto un cui racconto tutto nel dettaglio in relazione al protocollo Anchor.

A differenza di quanto accade con Anchor, dove si viene liquidati solo nel caso in cui collaterale crolla, in questo caso si potrà essere liquidati anche nel caso in cui il capitale preso in prestito aumenta.

Chiamando A il token depositato e B quello preso in prestito possiamo dire che la nostra posizione sarà long su A e short su B. Vediamo le possibili strategie che possono derivare da questo tipo di prestito per chiarire meglio questi concetti di long e short:

Depositiamo LUNA e prendiamo in prestito UST. Con questi UST possiamo comprare altri asset o mantenere la stablecoin.

  • Se LUNA aumenta nessun problema, il nostro LTV non scenderà sotto la soglia di liquidazione. Che abbiamo depositato UST su Anchor o abbiamo acquistato altri LUNA la nostra posizione sarà positiva. 😎
  • Se LUNA scende rischiamo la liquidazione. Se abbiamo mantenuto UST possiamo ripagare il debito senza problemi. Se invece abbiamo comprato altri asset e pure questi stanno scendendo la situazione diventa molto pericolosa. Non saremo in grado di ripagare il nostro debito a meno di avere dell’altro capitale da introdurre. 💀

Questo scenario era abbastanza semplice poiché è lo stresso descritto nella guida per Anchor citata in precedenza. Vediamo adesso il nuovo possibile scenario, quello in cui si deposita UST per prendere in prestito LUNA.

  • Se LUNA aumenta siamo fregati, rischiamo la liquidazione. In questo caso l’unica cosa da fare è andare ad aumentare il collaterale. 💀
  • Se LUNA scende non rischiamo la liquidazione ma non stiamo guadagnando. In questa situazione si riesce a guadagnare attraverso una posizione short, e quindi vendendo LUNA per riacquistarlo a un prezzo più basso e farci profitto. Se prendiamo in prestito 10 LUNA, li vendiamo, e con la cifra ottenuta li ricompriamo in futuro a un prezzo più basso. Assumendo di riuscire ad acquistarne 12 avremo fatto 2 LUNA di profitto.😎

Attraverso il protocollo Mars potremo quindi lavorare sia in posizione long che in posizione short, molto simile a Mirror ma con completa gestione dei fondi. Inoltre, tenete in considerazione che in tutte le operatività descritte ci saranno molto probabilmente degli incentivi dal protocollo stesso che andranno ad aumentare il possibile rendimento o a diminuire la possibile perdita. 🙃

Inizialmente gli asset che potranno essere depositati e presi in prestito saranno LUNA, ANC, MIR e UST

Prestito (Non) collateralizzato

Per quanto riguarda questo tipo di prestito le cose sono un attimo più complicate.

Il prestito non collateralizzato servirà per aprire delle posizioni di farming, e quindi delle liquidity position, in leva. Vediamo i due esempi proposti nel Lite paper di Mars.

Nel primo caso forniamo MIR e prendiamo in prestito l’equivalente in UST per aprire una posizione di LP su Mirror. Assumendo no impermanent loss, e quindi che il prezzo di MIR quando apriamo la posizione e quando la chiudiamo rimane uguale, abbiamo guadagnato dalle fee di swap. A questo punto possiamo chiudere la posizione ripagando il debito con gli interessi e portando a casa il guadagno. Il guadagno sarà dato dal totale delle fee accumulate meno gli interessi per il prestito.

Vediamo ora un altro caso, molto meno positivo del precedente. Dopo aver creato la posizione da LP come sopra, il prezzo di MIR crolla. Se il crollo del prezzo ci fa scendere sotto la soglia di liquidazione siamo fregati. Un liquidatore aggiungerà la parte di UST necessaria a ripagare il debito verso il protocollo e tratterrà l’equivalente dai nostri MIR. Il problema in questo caso sta nel fatto che i MIR che ci tratterrà verranno considerati a un prezzo più basso del loro vero valore, causandoci una perdita.

Abbiamo appena visto quindi come attraverso un prestito non collateralizzato possiamo aprire una posizione di LP in leva 2x.

Ricapitoliamo quindi le innovazioni e i vantaggi offerti da Mars:

  • Poter lavorare in leva senza depositare nessun collaterale.
  • Entrare in una posizione da LP senza dover depositare nella pool il 50% di un token e il 50% dell’altro. Questo tipo di posizione è infatti chiamata single-sided liquidity.
  • Autocompounding dei token di governance che vengono distribuiti dal protocollo in cui abbiamo aggiunto liquidità. Si, Mars farà anche questo!

Tasso di interesse dinamico

La cosa davvero innovativa portata da questo protocollo è un tasso di interesse che si adatta in maniera automatica al mercato. Nei mercati monetari tradizionali, come quello di Compound su Ethereum, la percentuale ottima di utilizzo del capitale è ottenuto imponendo un tasso di interesse che incentiva o disincentiva il prestito in base alla percentuale di utilizzo dei fondi. Nella figura sotto ad esempio la percentuale di utilizzo ottimo è attorno al 80%. Il protocollo cerca di ottenere questo livello avendo un tasso di interesse che aumenta poco fino al 80% e che poi aumenta notevolmente. In questo modo viene disincentivato l’utilizzo di tutto il capitale depositato facendo pagare molto la richiesta di un prestito.

Questo tipo di sistema è quello attualmente in uso su Aave e Compound.

Il problema con questo tipo di strategia è che non si adatta alle condizioni di mercato e per farlo bisogna passare attraverso la governance. Bisognerà quindi fare una richiesta di variazione degli interessi la quale dovrà essere votata. Un procedimento lungo che non permette al protocollo di seguire la rapida variazione del mercato. Ovviamente tutto questo poiché ci troviamo in un sistema decentralizzato dove non ci sono utenti che possono decidere in maniera autonoma cosa fare.

Controllore

Mars cerca di risolvere questo problema andando a controllare l’utilizzazione attraverso l’impiego di un sistema di controllo. No, non si sta parlando di controllo delle azioni di una persona o della sua mente, un sistema di controllo è uno strumento matematico che permette di raggiungere un certo obiettivo attraverso l’introduzione di un’azione di controllo. Nello specifico, l’obiettivo sarà quello di avere la percentuale di utilizzo della pool ottima, e per farlo, l’azione di controllo utilizzata sarà la modifica del tasso di interesse.

Il concetto è molto semplice poiché è esattamente quello che si cerca di fare con la curva precedente: aumentare o diminuire il tasso di interesse al fine di mantenere il sistema nel suo stato ottimale. La differenza sta nel fatto che utilizzando un sistema di controllo, o controllore, che nello specifico è un PID, si possono tenere in considerazione fattori che con una semplice curva statica non è possibile considerare. Il PID, che sta per proporzionale, integrale e derivativo, è un sistema di controllo super utilizzato in ambito aerospaziale, automotive…e anche nelle lavatrici!

L’equazione del controllore PID è la seguente: 😱

Non spaventatevi, non è così complicata da capire. L’equazione sta ad indicare che il tasso di interesse ad ogni istante di tempo (indicato con la lettera t fra parentesi, appunto il tempo), dovrà essere dipendente dalla differenza fra la percentuale attuale di utilizzo della pool e il suo valore ottimo. Dovrà quindi essere dipendente dall’errore fra il valore che vogliamo e quello che abbiamo. Tutto semplice e lineare direi. Questo errore viene utilizzato in 3 modi diversi, proprio per ottenere un tasso di interesse che tenga in considerazione anche fattori che la semplice curva di prima non poteva fare:

  • Con un’azione proporzionale all’errore stesso.
  • In maniera integrativa per tenere in considerazione la storia dell’errore.
  • In maniera derivativa per considerare quanto velocemente l’errore sta variando.

Inizialmente verrà utilizzata solo la parte proporzionale del sistema di controllo e poi verranno introdotti anche gli altri due termini.

Parametri del protocollo

Una delle cose che mi è piaciuta di più di Mars è la trasparenza dei loro modelli. Come sappiamo tutti i protocolli rendono opensource i loro codici sorgente così che tutti possano leggerli e capirne il funzionamento. Il problema qui sta nel fatto che non tutti sono sviluppatori e sono in grado di comprendere i linguaggi utilizzati come Solidity o Rust. Oltre a questo, Mars ha anche pubblicato diversi articoli tecnici che spiegano in modo dettagliato il come vengono calcolati i parametri del protocollo.

La definizione dei parametri, che vedremo a breve, si basa sulla valutazione di 3 aspetti di rischio:

  • Il rischio legato alla volatilità di un asset.
  • Il rischio legato agli smart contract.
  • Il rischio legato al team che sta dietro al progetto.

Il primo punto è facilmente valutabile in modo molto pragmatico, ma gli altri due? Questi richiedono una costante e attenta valutazione di aspetti, spesso anche soggettivi, e sono molto curioso di vedere come li affronteranno. In particolare sono curioso di vedere in che modo hanno pianificato di decentralizzare queste valutazioni. 🤖

Ognuno dei 3 punti precedenti è al suo interno diviso in altri punti, ad esempio: il rischio legato agli smart contract è calcolato valutando la presenza e qualità degli audit, l’utilizzo di best practice e altri dettagli. A cosa servono tutti questi punti, dettagli e valutazioni? Attraverso questi Mars sarà in grado di assegnare degli score da A, punteggio alto, a D, punteggio basso, ad ogni asset così da poter settare i parametri di rischio a questi associati.

Audit: un audit avviene quando il protocollo fa valutare i propri codici sorgenti a degli specialisti che ne individuano le falle o i bug da correggere.

Parametri di rischio

Fra i parametri di rischio più importanti descritti dal protocollo troviamo:

  • Loan to value: rappresenta la quantità massima di prestito che un utente può prendere in base al collaterale depositato.
  • Soglia di liquidazione: rappresenta il livello al quale il debito viene considerato non più collateralizzato e quindi liquidabile.

La soglia di liquidazione e il LTV hanno valori diversi al fine di garantire più sicurezza agli utenti. La soglia di liquidazione è fissata più alta del LTV così che anche prendendo il massimo prestito possibile un utente non viene liquidato istantaneamente ad un crollo dell’1% del collaterale.

  • Utilizzazione ottimale: rappresenta la percentuale ottimale di utilizzazione di una pool di un asset. L’aspetto innovativo del protocollo sta proprio nel come garantisce che questo valore venga mantenuto. Se il valore dell’ optimal utilization è del 50% vuol dire che il protocollo cercherà di far si che il 50% degli asset nella pool vengano presi in prestito.
  • Limite di esposizione: rappresenta la quantità massima di un asset che può essere depositata nel protcollo. Questo parametro serve per limitare la quantità di asset rischiosi che vengono depositati.

Governance e tokenoimics

Il token associato al protocollo prenderà il nome di MARS e verrà airdroppato agli staker di LUNA. I possessori di questi token avranno dei vantaggi, ma principalmente si faranno carico di tutte le scelte prese dal protocollo:

  • I possessori degli xMARS potranno partecipare alle votazioni di governance.
  • I possessori degli xMARS riceveranno una parte delle fee pagate dagli utenti al protocollo.
  • I possessori degli xMARS vedranno il 30% dei loro MARS in staking vincolati come assicurazione. Questa assicurazione servirà per ripagare gli utenti nel caso di deficit del protocollo. Un esempio è quando il debito di un utente supera il suo collaterale depositato o quando viene utilizzato un bug del protocollo per rubare della liquidità.

Concludiamo questa guida all’interno del protocollo più atteso di sempre nel mondo Terra con un’infografica. Sono sicuro che quando gli ideatori di Mars hanno pensato al concilio Marziano era questo a cui stavano pensando, un bel gruppo di Galactic Punk !😁

Come al solito vi ringrazio e vi faccio i complimenti per essere arrivati fino in fondo alla guida. Se vi è piaciuto l’articolo lasciate un 👏 o un commento.

A presto! 👽

--

--