Blockchain Terra: l’AMM di nuova generazione Astroport | ITA

Terra Network Italia
Terra Network Italia
11 min readNov 9, 2021

Articolo a cura di Stefano Francesco Pitton

Uniswap, Curve e Balancer in un’unica dApp

Introduzione

Abbiamo trattato solo settimana scorsa Mars, un protocollo di lending su Terra, e ci ritroviamo già a parlare di un altro progetto incubato da Delphi Digital. Il progetto in questione si chiama Astroport, il quale si presenta come l’AMM (automated market maker) su blockchain Terra di nuova generazione.

Attualmente esistono solo due AMM a supportare la DeFi su Terra e sono TerraSwap, di cui abbiamo già parlato, e LOOP. Tralasciando quest’ultimo che è molto recente e quindi non possiede molta liquidità, TerraSwap attualmente (8/11/2021) gestisce un capitale di circa 1.2 miliardi di dollari. Senza di esso sistemi come Anchor e Mirror non sarebbero potuti esistere. Ricordiamoci infatti che un AMM è un sistema che permette di effettuare scambi fra token e di creare pool di liquidità, ed è quindi lo strumento alla base di ogni infrastruttura di finanza decentralizzata. Il problema in questo momento è che il numero di utenti su Terra continua a crescere a una velocità incredibile, e con questo anche la richiesta di prodotti sempre più all’avanguardia. TerraSwap sfortunatamente è rimasto fermo con gli sviluppi per un po’ di tempo e ha lasciato quindi strada libera a nuovi progetti. I principali problemi che vedo attualmente in questo protocollo sono 3:

  • Per vedere il ritorno da LP si è obbligati a fare uso di strumenti esterni come Alpac4, AlphaDefi oppure Coinhall.
  • Non esiste un token di governance che permette agli utenti di essere incentivati nel suo utilizzo e di partecipare alla gestione del protocollo.
  • Si basa su un sistema di swap non sempre efficiente.

Astroport sarà il terzo AMM sviluppato nell’ecosistema e il primo ad offrire un servizio completo a 360 gradi. Il suo punto di forza sta nel fatto che offrirà un servizio come quello di TerraSwap ma risolvendo i problemi elencati di sopra.

Astroport

Come abbiamo già visto diverse volte, affinché si possa creare un mercato in un sistema decentralizzato è necessario che esista della liquidità. Questa liquidità dovrà essere fornita dai partecipanti al protocollo che in cambio riceveranno le fee pagate dagli utenti che faranno uso di quella liquidità per effettuare delle transazioni. Nella versione più semplice di tutte, e anche quella che ci interessa, la liquidità è formata da un bacino di due monete attraverso il quale è possibile prelevarne una depositando l’altra. Nell’esempio di sotto la nostra bella Galactic Punk (GP) fornisce liquidità al protocollo sotto forma di BTC e UST mentre il nostro zombie GP depositando UST potrà prelevare BTC. Vi è quindi una sinergia fra i due utenti, uno vuole avere un ritorno dal suo capitale, mentre l’altro vuole effettuare degli acquisti o vendite.

L’aspetto più importante di tutto questo sistema è l’algoritmo che decide quanti BTC dare in base a quanti UST sono stati depositati. Il motivo della sua importanza è che non tutti gli swap sono uguali. Possiamo individuare 3 macro gruppi in base ai due token presenti nella pool:

  • Swap fra due token volatili. Ad esempio uno swap fra ETH e BTC.
  • Swap fra due stablecoin. Ad esempio uno swap fra UST e USDC.
  • Swap fra due token che fanno riferimento allo stesso asset. Ad esempio uno swap fra LUNA e bLUNA.

Per avere la possibilità di swappare in modo efficace in ognuna di queste situazioni sono state proposte diverse implementazioni in diversi protocolli…l’idea che sta alla base però è la stessa!

Vi ricordate le noiosissime lezioni di matematica in cui si usava il piano cartesiano? Attraverso questo era possibile rappresentare due quantità in relazione fra di loro. Ad esempio, disegnando una retta sul piano, è possibile dato un valore di x calcolare il valore associato di y per quella particolare retta. Prendete l’immagine sotto come riferimento, dato un valore di x, x1, è possibile calcolare il valore y associato dalla retta, y1, o viceversa! Una volta definita una retta, o una qualsiasi curva nel piano, questa legherà i possibili valori di x con quelli di y. Questa è la stessa cosa che succede negli AMM.

Nel caso degli AMM l’asse x rappresenta la quantità del token A e l’asse y quella del token B. La curva che viene utilizzata, e quindi lo strumento che stabilisce il rapporto fra le quantità dei due token, è tutto ciò che serve per definire se un AMM è efficiente o no per un certo swap. Questa curva sarà quindi ciò che stabilisce quanti token un utente riceverà a seguito del deposito di un altro token. Non abbiamo parlato di prezzo poiché questo è implicitamente definito dalla quantità di A che viene inserita e quella di B ricevuta. I due modelli più comuni per un AMM sono quello proposto da Uniswap e quello proposto da Curve:

  • Constant product AMM (CPAMM): questo è il modello proposto da Uniswap dalla sua versione V1 alla V2. L’algoritmo si basa su una curva ottenuta imponendo che il prodotto della quantità di due token nella pool rimanga costante.
  • Stableswap: questo è il modello proposto da Curve per risolvere il problema del CPAMM legato allo swap fra stablecoin e monete che hanno un valore identico fra di loro. Attraverso questo tipo di curva è possibile avere un basso slippage nello scambio di queste monete, cosa non possibile nel caso di CPAMM.

Per chi fosse interessato ho riportato sotto le due curve utilizzate nei protocolli appena citati.

Per quale motivo non usare la curva constant price nel caso di stablecoin? Pensateci. Risponderemo a questo nella seconda guida alla DeFi.

Possiamo quindi dire che per effettuare uno swap efficiente un utente deve fare uso di un AMM come quello di Uniswap per token volatili e un AMM come quello di Curve per pegged o stablecoin. E se vi dicessi che qualcuno sta pensando di integrare entrambe queste curve in un unico AMM? Esattamente, proprio Astroport!

Uno dei principali vantaggi offerti da Astroport sarà quindi quello di aver condensate in un unico protocollo diverse tipologie di pool. In questo modo sarà possibile scegliere la più vantaggiosa per lo specifico swap senza dover navigare fra diverse dApp. Sulla rete Ethereum ogni protocollo si è specializzato per una particolare pool, come Uniswap per i token volatili e Curve per le stablecoin. Questo obbliga gli utenti del sistema a cambiare protocollo a seconda delle necessità e a dover tenere sotto controllo le pool alle quali si sta partecipando su diversi sistemi. La scomodità di questa gestione ha portato infatti alla nascita di strumenti come Ape Board.

Astroport permetterà inoltre agli utenti di non dover ricorrere ad aggregatori per trovare il miglior prezzo di swap fra le varie pool poiché se ne occuperà lui stesso, eliminando così un livello aggiuntivo di smart contract a cui pagare il servizio! Tutto questo sarà però assoggettato agli sviluppatori dei protocolli che dovranno rendere integrabili le loro pool con quelle di Astroport. ♻️

Liquidity bootstraping pools (LBP)

Oltre alle due pool appena descritte Astroport ha incluso anche un sistema per la creazione di pool di nuovi token come quello presente su Balancer. Questo sistema attraverso l’utilizzo di alcuni concetti matematici permette il rilascio di un nuovo token in una pool senza preoccuparsi che bot o balene si pappino tutta la liquidità. Per farla molto semplice, il token viene listato a un prezzo intenzionalmente molto più alto e viene fatto diminuire nel tempo attraverso la moltiplicazione per un coefficiente decrescente. La diminuzione del prezzo nel tempo unito a un sistema di compravendita organico farà si che il prezzo vada a stabilizzarsi sul livello ritenuto corretto dal mercato.

ASTRO Generators

E’ chiaro quindi che i fornitori di liquidità sono la base di un protocollo AMM ed è necessario cercare di tenerseli stretti. Per farlo, uno degli incentivi principali, che è anche uno dei requisiti di un sistema realmente decentralizzato, è quello di distribuire i token di governance. I possessori di questi token saranno i membri di una sorta di comitato che ha il potere di decidere come modificare i parametri del protocollo e di prendere scelte relative ai suoi futuri sviluppi. Nel caso di Astroport il token di governance prende il nome di ASTRO e il comitato Astral Assembly.

In generale, i token di governance vengono distribuiti attraverso un processo chiamato liquidity mining in cui un utente può ottenere i token di un protocollo fornendogli liquidità sotto forma di LP. Ovviamente maggiore è il numero di token distribuiti e maggiore sarà il numero di utenti che vengono attirati.

Astroport ha pensato a un modo per evitare di contendersi i liquidity provider risolvendo a questi il grande problema di quale token di governance andare a farmare. Attraverso una serie di strumenti chiamati ASTRO Generator costruiti con dei contratti proxy, un utente potrà usare Astroport per depositare i propri LP in un altro protocollo e poter farmare così sia ASTRO che i token terzi. Utile no? 🌝

Un utente avrà quindi la possibilità di creare il suo LP su Astroport, e attraverso un ASTRO Generator lo inserisce nella pool di un protocollo idoneo che sta distribuendo i token di governance, come Anchor o Mirror. A questo punto l’utente avrà la possibilità, attraverso lo staking proxy, di ricevere le reward del protocollo in aggiunta agli ASTRO. Un modo super semplice per ottenere un dual farming! 🍪🍪

Di seguito una semplice infografica che riassume il tutto:

Il contratto proxy dovrà essere creato e reso attivo dal protocollo che vuole collegarsi all’ASTRO Generator e per farlo verrà fornito un template base da Astroport stesso. Il vantaggio che un nuovo protocollo può trarre da questo tipo di integrazione deriva dalla possibilità di raggiungere tutto il bacino di utenti che già fa uso di questo AMM.

Gestione delle fee del protocollo

Come in ogni AMM l’utilizzo della funzione di swap da parte degli utenti richiede il pagamento di una commissione. Nello specifico con Astroport avremo lo 0.3% sugli swap nelle pool a prodotto costante e lo 0.05% nelle pool che implementano lo stableswap. In entrambi i casi parte delle fee verrano usate per pagare i fornitori di liquidità e l’altra parte andrà nelle tasche dell’ Assemblea Astrale! Nel caso di LBP, essendo queste indipendenti da Astroport stesso, le fee dipenderanno dalla specifica implementazione.

Ok, ma cos’è sta Assemblea Astrale?

Astral Assembly

L’obiettivo di decentralizzare un’applicazione ha visto in questi ultimi anni come soluzione quella della distribuzione dei token di governance. Questi vengono distribuiti dal protocollo agli utenti che lo mantengono in vita fornendo liquidità o partecipando al controllo dei parametri del sistema. In alcuni casi non viene usato nessun nome per indicare le persone che fanno parte di questa comunità ma nel caso generale è chiamata organizzazione autonoma decentralizzata (decentralised autonomous organization DAO). Astroport ha voluto introdurre una catalogazione, così come Mars, degli utenti che ne fanno parte di essa indicandoli con assemblea astrale. Forse permetterà di avere un maggior senso di appartenenza al protocollo? 👀 Chi lo sa..

Per entrare a far parte di questa assemblea basterà vincolare i propri ASTRO in cambio di xASTRO. Ma cosa vuol dire questo? In sostanza un detentore di xASTRO potrà partecipare nelle scelte del protocollo che avverranno attraverso delle votazioni. Una volta finito il periodo disponibile per votare una certa modifica al protocollo, o decisione da prendere, uno smart contract verrà eseguito in automatico al fine di esaudire la nuova richiesta.

Utilizzo del token ASTRO

Abbiamo detto poco fa che i membri dell’assemblea astrale sono i detentori del token xASTRO che rappresenta la propria parte degli ASTRO messi in staking. Questi token ricevuti aumenteranno automaticamente valore al fine di ricompensare il suo possessore con parte delle fee pagate nel protocollo. Per chi avesse esperienza è la stessa cosa che succede con gli aUST su Anchor.

Oltre a questo, un utente potrà mettere ancora più skin in the game andando a bloccare i proprio xASTRO per un certo periodo di tempo, ricevendo in cambio gli vxASTRO. Questi utenti è come se operassero una leva sulla governance aumentando la propria esposizione al protocollo stesso e verranno quindi ripagati maggiormente. Questa logica permetterà anche ai piccoli utenti di fare la differenza poiché anche pochi ASTRO avranno la possibilità di aumentare il proprio potere di voto e ottenere più ricompense. La differenza strutturale fra xASTRO e vxASTRO è che i primi sono liquidi e possono quindi essere scambiati mentre i secondi no.

Un altro vantaggio non da trascurare è che i possessori di vxASTRO potranno vedere i proprio guadagni derivanti da liquidity mining aumentare fino al 2.5x!

Concludiamo anche questa sezione relativa alla governance e alle fee con un’infografica. Grazie Astroport per aver messo a disposizione di tutti uno starter pack con queste belle immagini 🙏

Integrazione con Orion Money

Per chi ancora non lo conosce, Orion Money è un protocollo su Ethereum che permette agli utenti di depositare una qualsiasi stablecoin ERC20 affinché venga depositata su Anchor.

ERC20: è lo standard per i token costruiti su rete Ethereum.

Quello che avviene nel dettaglio è che la stablecoin viene convertita in una versione wrappata di UST attraverso Uniswap o Curve e poi depositata su Anchor dopo essere passata per il bridge. Questo giro è molto costoso poiché si è esposti alle gas fee di Ethereum. Integrando Astroport con Orion sarà possibile muovere su Terra la stablecoin originale attraverso un bridge per poi convertirla su Astroport e depositarla poi su Anchor. In questo modo si incentiveranno gli utenti dell’ecosistema Ethereum a interagire e a supportare la blockchain e i protocolli di Terra.

E’ davvero bello poter studiare e scrivere dei post riguardo tutti i protocolli che stanno uscendo su Terra, ma è ancora più bello quando si arriva alla fine della scrittura! 😆

Grazie ancora per essere arrivati fino in fondo a questo post. Per qualsiasi domanda scrivi pure un bel commento o contattami attraverso uno dei canali riportati nel banner di sotto. A presto! 🚀

Se apprezzi il nostro lavoro e vuoi offrirci un caffè (per stare svegli e produrre più contenuti), puoi farlo qui: terra1djqxk5lcx7shh7h5elffejgz5y2y6jr256c27d

--

--

Terra Network Italia
Terra Network Italia

Community italiana autogestita e autofinanziata. Siamo un gruppo di volontari che si è reso disponibile per traduzioni, guide e supporto sull'ecosistema Terra.