Uniswap è un insieme di programmi software eseguiti sulla blockchain di Ethereum che consentono scambi di token in maniera decentralizzata, cioè senza l’intermediazione di un provider di fiducia, che gestisce il meccanismo degli scambi tra utenti e governa il sistema sottostante. Tecnicamente Uniswap è un software “open source”, ossia verificabile da chiunque.
Il nome che è stato attribuito ai programmi software di Uniswap è “Unicorni”, da cui il logo del token stesso.
Uniswap, un po’ di storia
Il protocollo Uniswap è stato creato da Hayden Adams nel 2018. Ma la tecnologia sottostante che ha ispirato la sua implementazione è stata descritta per la prima volta dal co-fondatore di Ethereum, Vitalik Buterin.
Oltre allo scambio di tokens ETH, su Uniswap è possibile anche prestare le proprie crypto che confluiscono in c.d. liquidity pools, ossia riserve di liquidità, per guadagnare un profitto.
Le piattaforme che consentono scambi decentralizzati (DEX- decentralised exchange) non implicano intermediari né servizi di custodia per l’esecuzione delle attività di trading. Si contrappongono alle piattaforme tradizionali di scambi centralizzati che hanno da sempre supportato il mercato delle criptovalute offrendo tempi di regolamento delle transazioni rapidi, volume di scambi elevato e crescente liquidità.
Lo sviluppo di DEX in costante aumento è una sfida alla finanza centralizzata ed è in continuo divenire, infatti gli spazi di miglioramento in termini di liquidità, sicurezza ed esperienza utente sono ancora ampi.
Il protocollo Uniswap è sicuramente un pioniere in questo settore e per questo è diventato uno dei progetti di maggior successo del mondo Decentralized Finance (DeFi).
Uniswap, come funziona
Come già detto, Uniswap è un protocollo di scambio decentralizzato basato su rete Ethereum. In pratica è un protocollo di liquidità automatizzato che implica l’assenza sia di un registro ordini sia di qualsiasi parte regolatrice che controlla il meccanismo secondo cui avvengono le negoziazioni dei prezzi alla base delle operazioni di scambio. L’assenza di intermediari e l’alto grado di decentralizzazione conferisce al sistema anche una elevata resistenza alla censura.
Per far sì che gli scambi avvengano in assenza di un registro ordini, Uniswap prevede, come già detto, la creazione di pool di liquidità formati da coloro che mettono le proprie risorse a disposizione di chi le richiede. Questo sistema alimenta un meccanismo di determinazione dei prezzi decentralizzato che sostanzialmente attenua la profondità del portafoglio ordini ossia il numero di livelli di prezzo disponibili in un determinato momento sul mercato. Il design di questo tipo di software si chiama Constant Product Market Maker, ed è una variante di un modello chiamato Automated Market Maker (AMM). AMM è protocollo di exchange decentralizzato che si basa su una formula matematica per prezzare gli asset. Invece di usare un registro ordini (order book) come gli exchange tradizionali, gli asset vengono quotati seguendo un algoritmo di valutazione.
Questa formula può variare a seconda di ogni protocollo. Uniswap utilizza la seguente: x * y= k, dove x rappresenta la quantità di un token nella pool di liquidità e y la quantità dell’altro. In questa formula, k è una costante fissa, che rappresenta la liquidità totale della pool che deve sempre rimanere la stessa. Un AMM funziona in modo simile agli exchange con order book, in quanto presenta coppie di trading, ad esempio, ETH/DAI, tuttavia, per finalizzare uno scambio non è necessaria l’esistenza di una controparte (ossia un altro trader) poiché di fatto l’interazione avviene con uno smart contract che determina il prezzo di mercato. Per essere ancora più chiari, rispetto ad altri sistemi decentralizzati, in cui le operazioni avvengono direttamente tra wallet di diversi utenti ( ossia peer-to-peer (P2P) come ad esempio Binance DEX) e cioè per ogni parte che intende vendere un token, ce n’è un’altra opposta che lo vuole acquistare, nel caso dei modelli AMM non servono controparti nel senso tradizionale, in quanto le operazioni avvengono tra utenti e contratti (peer-to-contract (P2C)).
Inoltre, sempre grazie alla forma decentralizzata del protocollo, non esiste un processo di quotazione di uno specifico token, al contrario, qualsiasi token ERC-20 può essere quotato e scambiato su Uniswap fintanto che esiste un pool di liquidità a disposizione dei traders. Ulteriore conseguenza positiva di questo meccanismo, è che non esistono commissioni di quotazione.
Quindi in sostanza i market maker automatizzati sono contratti intelligenti che gestiscono riserve di liquidità (o pool di liquidità) con cui i trader possono negoziare. Queste riserve sono finanziate da chiunque voglia essere un fornitore di liquidità e depositare un valore equivalente di due token nel pool. In cambio, i trader pagano una commissione alla pool che viene poi distribuita ai fornitori di liquidità in base alla loro quota del pool.
Per fare un esempio il funzionamento concreto è il seguente:
- i fornitori di liquidità creano un mercato depositando un valore equivalente di due token. Questi possono essere ETH e un token ERC-20 o due token ERC-20. Questi pool sono comunemente costituiti da stablecoin[1] come DAI, USDC o USDT (ma questo non è un requisito indispensabile);
- in cambio i fornitori di liquidità ricevono “token di liquidità”, che rappresentano la loro quota dell’intero pool;
- questi token di liquidità possono essere riscattati per la quota che rappresentano nel pool.
Si consideri ad esempio il pool di liquidità ETH – USDT, dove:
x rappresenta la parte ETH del pool
y rappresenta la parte USDT del pool,
k la costante per cui la liquidità totale nel pool deve rimanere costante, tale che
x * y = k
Supponiamo che un utente acquisti 1 ETH per 300 USDT utilizzando il pool di liquidità ETH / USDT. In questo modo, aumenta la porzione USDT del pool e diminuisce la porzione ETH del pool. Ciò significa effettivamente che il prezzo di ETH aumenta. Perché ci sono meno ETH nel pool dopo la transazione mentre la liquidità totale (k) deve rimanere costante. Questo meccanismo determina il prezzo, ossia il prezzo pagato ETH si basa su quanto un dato scambio sposta il rapporto tra x e y.
Il modello di calcolo non scala linearmente, ossia più grande è l’ordine, più si sposta l’equilibrio tra x e y. Ciò significa che gli ordini più grandi diventano esponenzialmente più costosi rispetto agli ordini più piccoli, portando a quantità sempre maggiori di slippage[2]. Significa anche che più grande è un pool di liquidità, più facile è elaborare ordini di grandi dimensioni perché in tal caso lo spostamento tra x e y è minore.
Inoltre, se si vuole approcciare la finanza decentralizzata e utilizzare piattaforme come Uniswap per effettuare operazioni di trading è necessario comprendere bene anche il concetto di “impermanent loss” ossia di perdita temporanea di valore.
Supponiamo che un fornitore di liquidità depositi 1 ETH e 100 USDT in un pool Uniswap. Poiché la coppia di token deve essere di valore equivalente, ciò significa che il prezzo di ETH è di 100 USDT. Supponiamo allo stesso tempo, che nel pool ci siano complessivamente un totale di 10 ETH e 1.000 USDT. Ciò significa che il fornitore in questione ha una quota del 10% del pool, essendo la liquidità totale (k) ammontante a 10.000 (x * y = 10 * 1.000 = 10.000 = k).
Se il prezzo di ETH sale a 400 USDT, considerando che la liquidità totale nel pool deve rimanere costante, il rapporto tra ETH e USDT nel pool cambia e nel caso in esame risulta che il pool è composto da 5 ETH e 2.000 USDT (x * y = 5 * 2.000 = 10.000 = k) questo perché i meccanismi automatici AMM di arbitraggio aggiungeranno USDT al pool e rimuoveranno ETH da esso fino a quando il rapporto non si ribilancerà tenuto conto della variazione di prezzo intervenuta.
Quindi, se il fornitore decide di ritirare i suoi fondi, ottiene in base alla sua quota del 10%: 0,5 ETH e 200 USDT, per un totale di 400 USDT (in quanto 1 ETH vale ora 400 USDT).
Se però avesse “holdato”, ossia tenuto nel proprio wallet i propri ETH senza metterli nel pool di Uniswap ETH/USDT avrebbe 1 ETH (al prezzo di 400 USDT) e 100 USDT, per un totale di 500 USDT.
Uniswap, la definizione di perdita temporanea
Questa perdita temporanea è essenzialmente il costo opportunità di mettere in pool un token che si apprezza di prezzo. Ciò significa solo che depositando fondi in Uniswap nella speranza di guadagnare commissioni, si potrebbero perdere altre opportunità di guadagno.
Questo effetto funziona indipendentemente dalla direzione in cui cambia il prezzo dal momento del deposito.
La definizione di “perdita temporanea” per descrivere le perdite subite dai fornitori di liquidità a causa della divergenza dei prezzi, include la parola “impermanente” perché la perdita dovuta alla divergenza di prezzo può essere annullata se viene annullata anche la divergenza di prezzo. Tuttavia, l’uso di questo termine potrebbe creare l’aspettativa che sia garantito l’annullamento delle perdite, il che non è vero. È vero, comunque, che se il prezzo dei token ritorna al prezzo quando sono stati aggiunti al pool, l’effetto viene mitigato. Inoltre, poiché i fornitori di liquidità guadagnano commissioni, la perdita potrebbe essere compensata nel tempo.
Con riguardo alle commissioni di transazione, queste vanno interamente infatti ai fornitori di liquidità in maniera proporzionale alla loro partecipazione al pool come sopra detto, e non ai fondatori ella piattaforma.
Per impostazione predefinita, questi guadagni vengono aggiunti al pool di liquidità, ma i fornitori di liquidità possono riscattarli in qualsiasi momento.
Per l’utilizzo concreto di Uniswap questa è l’applicazione front end più comune. È naturalmente necessario collegare un wallet quale MetaMask, Trust Wallet o qualsiasi altro portafoglio Ethereum supportato.
Il token Uniswap (UNI)
UNI è il token nativo del protocollo Uniswap e conferisce ai suoi titolari diritti di governance. Ciò significa solo che i titolari di UNI possono votare le modifiche al protocollo.
Un miliardo di tokens UNI sono stati coniati e il 60% di questi viene distribuito ai membri della comunità Uniswap esistente, mentre il 40% è messo a disposizione dei membri del team, degli investitori e degli sviluppatori.
Parte della distribuzione della comunità avviene attraverso l’estrazione di liquidità. Ciò significa che UNI verrà distribuito a coloro che forniscono liquidità ai pool di Uniswap.
Sebbene abbia ancora diversi limiti, la DEFI potrebbe avere interessanti implicazioni nel futuro. Una volta che le soluzioni di scalabilità di Ethereum 2.0 saranno attive sulla rete, anche Uniswap potrebbe trarne vantaggio. Ryan Watkins, Senior Research Analyst presso la società di ricerca Messari, sostiene d’altra parte, che la rete Ether (ETH) potrebbe superare Bitcoin (BTC) e diventare l’asset crypto più importante, una volta completato il passaggio a Eth2 e alla Proof-of-Stake. Una enorme” e “variegata” economia si sta formando su Ethereum, tale che il settore delle applicazioni decentralizzate attirerà nuovi utenti a un ritmo maggiore rispetto a Bitcoin.
Note
- Le stablecoin sono risorse digitali progettate per imitare il valore delle valute legali come il dollaro o l’euro. Consentono agli utenti di trasferire rapidamente e in modo economico valore in tutto il mondo mantenendo la stabilità dei prezzi. ↑
- Lo slippage è la differenza tra il prezzo che un trader si aspetta di pagare o ricevere e il prezzo effettivamente pagato o ricevuto a causa dei movimenti compiuti dal mercato fino al momento in cui viene eseguita l’operazione. Ciò accade nella frazione di secondo che intercorre tra la trasmissione e il ricevimento di un ordine. ↑