Visualizzazioni Totali

TRA I PRIMI IN ITALIA A PARLARE DI BITCOIN (DAL 2012!): PER ESSERE SEMPRE AGGIORNATI SULLE NOVITA' TECNOLOGICHE DEL WEB SEGUITE LA PAGINA FACEBOOK (LINK A SINISTRA)
Visualizzazione post con etichetta LP. Mostra tutti i post
Visualizzazione post con etichetta LP. Mostra tutti i post

lunedì 6 marzo 2023

Cos'è La Liquidità Concentrata In DeFi? Range e Fee (CLMM)

La "concentrated liquidity" su Uniswap V3 (o Raydium) è una nuova funzionalità introdotta nell'aprile del 2021. Vengono chiamati CLMM (concentrated liquidity market maker) e migliorano l'uso dell'efficienza dei capitali per i LP, riducendo lo slippage per gli swap.
Per capire di cosa si sta parlando faccio un riepilogo veloce sul funzionamento dei pools di liquidità. Il motore di qualsiasi AMM è la liquidità quindi l'utente deve essere incentivato a fornirla, altrimenti gli scambi non potrebbero avvenire. Sostanzialmente scelgo una coppia (ad esempio wBTC/wETH oppure USDT/USDC) e la fornisco come liquidità. Su questa coppia guadagnerò swap fee e in alcuni casi il token nativo della piattaforma. Questo modello adottato da quasi tutti gli AMM non è ben ottimizzato perchè lavora su intervalli di prezzo da 0 ad infinito (sostanzialmente paga swap fee su tutto l'intervallo ma la rendita è minore rispetto a quello che potrebbe essere). A ciò, si aggiunge anche l' Impermanent Loss quando i due token scelti divergono troppo di prezzo (quando fornisco liquidità, a meno di utilizzare pool con 3 token tipo quelli di Balancer, metterò 50% di un token e 50% dell'altro. Il pool si autobilancia quando i due token variano di prezzo uno rispetto all'altro, questa divergenza è nota come Impermanent Loss e rappresenta la differenza che sussiste tra fornire liquidità ed holdare questi token semplicemente nel wallet, a cui vanno però aggiunte swap fee e farming token). Come avrai capito, unici pools senza Impermanent Loss, sono quelli di stablecoin a meno che una delle due non perda il peg. Impermament Loss è sempre temporanea e si aggiorna continuamente in base alla volatilità dei due token, diventa però permanente quando prelevo.


LIQUIDITA' CONCENTRATA E COMMISSIONI A GRADINI
Qui sussiste la rivoluzione portata da Uniswap che genera talmente utili (quindi fee) che non ha necessità di fornire il suo token Uni. Gli utenti ricevono solo swap fee che sono molto elevate.
Infatti in Uniswap V3, gli utenti possono fornire liquidità a coppie di token specifiche utilizzando una "gamma" di prezzo personalizzata (concentrata appunto). 
In pratica, gli utenti possono specificare un range di prezzo entro cui desiderano fornire liquidità e possono concentrare questa liquidità in una particolare zona. Questo consente loro di guadagnare rendimenti maggiori rispetto alla fornitura di liquidità su una gamma di prezzi indefinita (da 0 ad infinito). In questo caso, tutto il mio capitale sarà concentrato in quel range (e non disposto in un intervallo infinito).
Per esempio, supponiamo che un utente voglia fornire liquidità per la coppia wBTC/USDT e che il prezzo attuale sia di 21000 USDT per wBTC. L'utente potrebbe decidere di fornire liquidità solo per il range di prezzo tra 19000 e 23000 USDT per wBTC, concentrandosi quindi in quella fascia. Ciò significa che se il prezzo di wBTC dovesse oscillare all'interno di quel range, l'utente guadagnerebbe maggiori rendimenti rispetto a coloro che forniscono liquidità su un prezzo infinito (non concentrato). Le fees che si ricevono dipendono dalla quantità di liquidità fornita dall'utente, dal volume degli scambi e dal prezzo degli asset scambiati. Quando gli utenti forniscono liquidità con una coppia di asset specifica, ricevono in cambio degli LP che rappresentano la loro quota di partecipazione alla liquidità di quella coppia. Ogni volta che avviene uno scambio in quella coppia di asset, una parte delle commissioni di scambio viene prelevata dal protocollo e una parte distribuita tra gli utenti che forniscono liquidità in quella coppia, in modo proporzionale alla quota fornita. 
Inoltre, in questi modelli, le commissioni vengono calcolate in base alla posizione dell'utente sulla "gamma" di prezzo che ha scelto di fornire liquidità. In pratica, gli utenti che forniscono liquidità in una zona più "concentrata" della gamma di prezzo guadagnano commissioni maggiori rispetto a quelli che forniscono liquidità su un intervallo più ampio di prezzi.
Sostanzialmente si tratta di un modello di commissione "a gradini", in cui il tasso di commissione varia in base alla gamma di prezzo in cui si fornisce liquidità. In generale, le zone di prezzo più concentrate tendono ad avere guadagni più alti rispetto alle zone di prezzo più ampie. Per esempio, scegliendo di fornire liquidità per una coppia di asset con una gamma di prezzo (range) molto ampia, a parità di pool (quindi dei 2 token scelti) otterrebbero commissioni più basse rispetto a un utente che fornisce liquidità con una gamma di prezzo più concentrata (intervallo più ristretto).


SCELTA DELLE FEES
In Uniswap v3, gli utenti possono anche scegliere il livello di tasso di commissione che desiderano applicare ai loro pools, selezionando uno dei quattro "fee tier" disponibili: 

1) 0,01% (consigliato per stablecoin: USDC/USDT)
2) 0,05% (potresti usarlo per wETH/wBTC, cripto ad alti volumi ed alta market cap)
3) 0,3% (ad esempio wETH/USDC, per la maggior parte dei pools)
4) 1% (per pools esotici integranti token con market cap molto diversa, tipo wETH/BOSON)

La scelta del "fee tier" dipende dalla coppia di asset scelta e dal tipo di token fornito in liquidità (stablecoin o token esotici). In generale, le coppie di stablecoin come USDC/USDT o DAI/USDC, dovrebbero avere fee tier più bassi rispetto a coppie di token come ETH/UNI o wBTC/COMP o peggio tra ETH e token a bassissima market cap. La scelta tuttavia spetta all'utente, chi mi vieta di scegliere commissioni più elevate? E'  importante ricordare che i fee tier più elevati comportano un maggior rischio, in quanto si fornisce liquidità solo in una zona di prezzo più stretta e si corre il rischio di non guadagnare rewards o di iimpermanent loss elevata (al di fuori del range). Dunque fee più elevate vuol dire range più ristretto. Un range per una stablecoin potrebbe essere 0.99$-1.01$. In particolare, il range di prezzo in cui gli utenti forniscono liquidità su Uniswap è definito da due parametri: "tick lower" e "tick upper". I "tick" sono posizioni sulla scala di prezzo logaritmico per definire il range di prezzo. In sostanza, a ogni "tick" corrisponde una posizione specifica sulla scala di prezzo. Quindi, ad esempio, se si sceglie un fee tier del 1%, il range di prezzo in cui si fornisce liquidità sarà più ristretto rispetto a un fee tier del 0,05%, poiché il primo implica una gamma di tick lower e tick upper più stretta rispetto al secondo. Ciò significa che l'utente che sceglie il fee tier del 1% guadagnerà commissioni più elevate sugli scambi effettuati all'interno della zona di prezzo fornita, ma si esporrà anche a un maggior rischio di perdita di liquidità in caso di movimenti di prezzo al di fuori della zona di prezzo fornita. Un tool per farsi aiutare nella scelta delle fee è questo: Uniswap Fish


TOKEN BASE E TOKEN QUOTE: CONFRONTO RAYDIUM ED UNISWAP
Su Raydium, i pools CLMM sono costituiti ovviamente da due token: il token base e il token quote. Il token base è il token che viene scambiato con il token quote nel pool, ad esempio, nel caso di una coppia di trading wBTC/USDT, wBTC è il token base (il primo che compare nella coppia di trading). Il token quote, invece, è quello che viene utilizzato come riferimento per determinare il prezzo del token base nel pool e in questo esempio è USDT (secondo token della coppia).
Nel pool CLMM, i trader possono scambiare il token base e il token quote a un prezzo determinato dalla quantità di ciascun token presente nel pool.
Dunque, il token base è quello scambiato nel pool, mentre il token quote è il token di riferimento utilizzato per determinare il prezzo di quello base.
Invece su Uniswap V3, il funzionamento è leggermente diverso rispetto ai pool CLMM di Raydium.
Qui il token base e il token quote sono determinati in base alla posizione dell'intervallo di prezzo nel pool. In particolare, il token base è il token che si trova nella parte inferiore dell'intervallo di prezzo del pool, mentre il token quote è il token che si trova nella parte superiore dell'intervallo di prezzo del pool. Ad esempio, se consideriamo un pool Uniswap V3 per la coppia ETH/USDC, l'intervallo di prezzo potrebbe essere definito come $1400-$1900 per 1 ETH. Se il prezzo di 1 ETH è inferiore a $1400, allora USDC sarebbe il token base e ETH sarebbe il token quote. Al contrario, se il prezzo di un ETH è superiore a $1900, allora ETH sarebbe il token base e USDC sarebbe il token quote.
In sostanza, il token base e il token quote in Uniswap v3 dipendono dalla posizione dell'intervallo di prezzo del pool rispetto al prezzo corrente del token scambiato.
Questo significa che, invece di avere un intervallo di prezzo continuo come in Uniswap V3, i pools CLMM di Raydium hanno diverse fasce di prezzo definite dai LP. A differenza di Uniswap V3, il token base e il token quote non sono determinati dalla posizione dell'intervallo di prezzo nel pool, ma piuttosto dalla quantità dei token base e quote depositati in ciascuna fascia di prezzo.
In questo caso, Raydium utilizza fasce di prezzo definite dai fornitori di liquidità, mentre Uniswap V3 ha un intervallo di prezzo continuo determinato dal prezzo corrente del token. 
Su Raydium il prezzo della coppia di token cambierà man mano che i token vengono scambiati. Se il prezzo viene scambiato al di sotto del prezzo minimo della posizione, la posizione sarà composta al 100% da token base. Se il prezzo viene scambiato al di sopra del prezzo massimo, la posizione venderà effettivamente il token di base e quindi sarà composta al 100% dal quote token. Questo è leggermente diverso da Uniswap V3 e nettamente diverso da un AMM classico, in cui la liquidità di tutti gli utenti è distribuita lungo una curva da 0 ad infinito.

martedì 21 giugno 2022

Bancor Network e La Protezione Da Impermanent Loss

Bancor Network è un dex (AMM) che protegge i depositi quindi i liquidity provider dall'Impermanent Loss. Esso si è diffuso nella grande DeFi summer del 2020. Ricordo che quando viene inserita liquidità in un pool (che sia 50 e 50% o in proporzioni diverse) avrò sempre Impermament Loss. Cos'è l'Impermanent Loss? E' la differenza di prezzo che avrei avuto tra la situazione in cui mi trovo (liquidità in un pool) e se avessi semplicemente holdato quei token nel wallet in un tempo X. Se io compongo un pool 50 e 50%, i due token devono essere sempre bilanciati (ad esempio ipotizzando un pool ETH/USDC, se 1 ETH vale 1000 dollari, dovrò inserire anche 1000 USDC), nel momento in cui ETH sale di prezzo (o scende) ho Impermanent Loss. Che è sempre temporanea, sino a che non prelevo. Se ETH sale a 1100 dollari ho Impermanent Loss ma se ritorna sui 1000 dollari, essa si annulla (io avevo depositato appunto 1000 USDC quindi 1000 dollari). Questi pools quindi permettono di guadagnare con le fee che il protocollo genera (sulle trade) e con eventuale farming (ed appunto se non si utilizza un pool di stablecoin, dovrò sottrarre da quei profitti, l'Impermanent Loss).
Chiaramente LP token aumenta (il controvalore in dollari, dipende. Nell'esempio riportato dipende da ETH). 
Se ti interessa sapere come funzionano i pools misti (pesi diversi e non 50 e 50%): Cos'è Il Liquidity Bootstrapping Pool (LBP)? L'Innovazione Di Balancer


COME FUNZIONA BANCOR NETWORK
Bancor è noto perchè "rimborsa" il rischio Impermanent Loss e lo trasferisce al suo stesso protocollo. Il protocollo utilizza le commissioni guadagnate per compensare la perdita. Sostanzialmente fornisco liquidità (un solo token) che mi viene accoppiato con BNT (tipo Thorchain). Mentre alcuni pool possono avere Impermanent Loss alta e commissioni basse, altri possono avere Impermanent Loss bassa e commissioni elevate. Se non ci sono commissioni sufficienti per compensare completamente l'Impermanent Loss di un LP al momento del ritiro, il protocollo conia BNT per coprire il delta (la differenza). Quando un utente effettua un nuovo deposito, la copertura offerta dalla sua polizza assicurativa aumenta ad un tasso dell'1% ogni giorno e matura fino alla copertura completa dopo 100 giorni. Dopo questo periodo, qualsiasi perdita temporanea verificatasi nei primi 100 giorni o in qualsiasi momento successivo è coperta dal protocollo al momento del prelievo.
I prelievi prima della scadenza di 100 giorni sono ammissibili solo con un risarcimento parziale. Ad esempio, i prelievi dopo 60 giorni nel pool ricevono un risarcimento del 60% su qualsiasi perdita temporanea subita. Non è previsto alcun compenso per prelievi entro i primi 30 giorni; il LP è soggetto alla stessa Impermanent Loss che avrebbe avuto in un AMM standard.
Ciò significa che anche se un token aumentasse di prezzo, un LP ha il diritto di prelevare l'intero valore dei propri token come se li tenesse nel portafoglio, a condizione che l'LP abbia maturato una protezione completa (ovvero almeno 100 giorni di deposito). Ad esempio, se un LP punta 1 ETH e il prezzo di ETH raddoppia, l'LP può comunque prelevare almeno il valore equivalente di 1 ETH indietro, più commissioni e rewards (ciò è possibile perchè ci viene dato il token BNT che compensa la perdita che ho avuto).


SISTEMA DI IMPERMANENT LOSS PROTECTION SOSPESO
A causa delle condizioni "ostili" di mercato, Bancor ha sospeso la protezione dalle perdite temporanee e i depositi sulla piattaforma. Un po' quello che ha fatto Celsius. Probabilmente sono stati proprio i due protocolli Celsius e Three Arrows Capital a provocare questa situazione, in quanto pare che utilizzavano Bancor ed avrebbero prelevato tutta la loro liquidità.
Sono stati aperti nel mentre anche degli short sul token BNT sull'exchange FTX. Short vuol dire, in parole povere, vendere allo scoperto, ovvero guadagnarci sui ribassi del mercato. Probabilmente quest'azione è stata svolta da una grossa entità che ha prelevato liquidità da Bancor, ha ottenuto i token BNT (come protezione dall'Impermanent Loss), ha aperto lo short e poi li ha anche venduti a mercato per ETH. In poche parole, i token BNT hanno rimborsato le perdite, lo short ha permesso loro anche di guadagnarci ulteriormente. Il token BNT ovviamente è crollato (-49%) nel giro di 1 giorno.
Questo sistema ha chiare falle perchè più gente preleva da Bancor, oltre ad esserci una carenza di liquidità, il protocollo deve rimborsare tutte le perdite con BNT che venduto a mercato continua a dumpare. Scendendo sempre di prezzo, i pools sono sempre a maggior Impermanent Loss (perchè i token forniti sono accoppiati con BNT) quindi sempre più fuga di liquidità, emissione di BNT e dump del token.

venerdì 31 dicembre 2021

Come Funziona Tokemak: Reattori, Core e Liquidity Director (DeFi 2.0)

Tokemak è un protocollo decentralizzato abbastanza rivoluzionario che funziona tramite market maker chiamati reattori (simili a pool di liquidità con un asset X+Toke) progettati per creare rendimenti efficienti e sostenibili nel tempo. Il nome Tokemak deriva da Tokamak che è appunto un reattore nucleare a fusione (a camera toroidale).
Il token nativo di Tokemak, Toke, funge da liquidità tokenizzata, consentendo agli staker di dirigere il TVL del protocollo su vari protocolli DeFi (ad esempio SushiSwap, Uniswap, Balancer e 0x). Chi sceglie dove dirigere la liquidità? Vengono votati da chi mette Toke in staking sul reattore in questione (ovvero dai cosiddetti Liquidity Director). Sempre tramite DAO vengono create altre votazioni per aggiungere nuovi asset ai reattori estendendo la liquidità disponibile sulla piattaforma. Anche gli stessi protocolli, detenendo Toke, possono diventare Liquidity Director fornendo liquidità e mantenendo il TVL più stabile. Sostanzialmente anche per l'utente comune, gli APY sono più stabili, evitando il passaggio da una piattaforma di farming all'altra alla ricerca del miglior rendimento. Si tratta quindi di un aggregatore di liquidità che poi viene ridiretta su vari protocolli. I farmers depositano i propri asset e guadagnano un APR nei genesis pool (ETH ed USDC) e in TOKE/ETH LP (Pair Reactor). Di volta in volta vengono aggiunti nuovi reattori (evento "C.o.R.E.", anche qui è importante avere token Toke per decidere quale asset di una piattaforma può essere inserito nel reattore). In generale si punta al bilanciamento tra i vari asset e Toke (il token Toke viene pompato aumentando l'APR).
Ad esempio io deposito il token Frax nel reattore e guadagno l'APR che si legge (16%). Chi mette in staking i Toke in questo reattore prende il 26% di APR e decide dove va a finire questa liquidità distribuendola su vari protocolli.
Tokemak bilancia automaticamente la fornitura di token (Pair Reactors) come DAI, FEI e FRAX ed ottimizza anche le singole forniture all'interno di ciascun raggruppamento (coppia e token).
Le equazioni di ricompensa che governano Tokemak pagano i premi globali massimi solo se tutti i partecipanti (Liquidity Director e Liquidity Provider) hanno correttamente allocato per il conseguimento dell'APR massimale. 
In altre parole, il farming di Tokemak è minimo quando il tutto funziona in modo inefficiente quindi le emissioni di Toke sono inferiori.
Le equazioni bilanciano tre gruppi: LP nei reattori token, LP nei reattori a coppia e LD in tutti i reattori. In parole povere, se consideriamo LP e LD, ognuna delle parti controlla l'altra. Le equazioni sono accoppiate. Metti in staking più Toke per aumentare i premi per i LP ed attirare più token nel reattore. Deposita più token per aumentare i premi per i LD che puntano Toke su quel reattore. Sostanzialmente se ho una minore quantità di Toke rispetto all'altro asset, avrò un APR (Toke) più alto. Se invece ho una maggiore quantità di Toke rispetto all'altro, avrò un APR (Toke) più basso. Tutto sarà bilanciato dato che farmers e chi mette in staking cercano sempre i rendimenti più alti. Io posso fornire liquidità in un solo asset (ad esempio Frax) e ricevere l'APR in Toke. Depositando un solo asset, non avrò impermanent loss. La piattaforma per la compravendita di voti è Votemak: i protocolli mettono a disposizione i loro token e li distribuiscono a tutti quelli che tramite i loro Toke votano il reattore del protocollo o indirizzano la loro liquidità in determinati pools.

venerdì 13 agosto 2021

Come Funzionano I Dex (AMM-Automated Market Maker)

Riguardo come avvengono gli ordini limite sugli exchange ne avevamo già parlato qui: Come Leggere Un Order Book e La Depth Chart (Exchange Cripto), oggi parliamo degli AMM (Automated Market Maker) che sono sostanzialmente dei Dex (exchange decentralizzati). Il riferimento è ad Uniswap, 1inch, PancakeSwap, Open Ocean, Quickswap, Raydium, Zilswap, etc
In generale si tratta di servizi automatici, attivi 24 ore su 24, disposti a quotare sempre il prezzo tra due asset. Alcuni usano una formula semplice come Uniswap, mentre altri tipo Balancer utilizzano soluzioni più complicate. Usando un AMM, non solo puoi comprare e vendere, ma puoi anche fare da banco fornendo liquidità ad una pool diventando un market maker (ricevendo fee sugli scambi degli utenti).


FORMULA AMM
Un AMM si basa su una formula matematica per prezzare gli asset. Invece di usare un order book come gli exchange tradizionali (cioè setto un ordine di vendita o di acquisto e qualcuno compra o offre quel token), gli asset vengono quotati tramite un algoritmo. Questa formula può variare a seconda di ogni protocollo. Per esempio, Uniswap utilizza 

x * y= k

Dove x rappresenta la quantità di un token nel pool di liquidità e y la quantità dell'altro che verrà scambiato. Invece k è una costante fissa, quindi la liquidità totale del pool deve sempre rimanere la stessa. Sostanzialmente si tratta di un'iperbole.
K è una costante anche se continua a crescere a causa delle fee sulle trade. Se ipotizziamo che Cake ed Link abbiano lo stesso prezzo e li metto in una pool, avrò 50 e 50%. Ad esempio 10 Cake e 10 Link. Ovvero 1 Cake=1 Link. Se io voglio comprare da questo pool 1 Link, in cambio di 1 Cake, cosa succederà? Avremo una diminuzione di token Link ed un aumento di token Cake (11 Cake e 9 Link). Se all'inizio x/y=1 (10/10=1), in questo caso avrò 11/9=1.22 (cioè un Link varrà più di un Cake ed effettivamente io ho acquistato Link quindi il prezzo dovrebbe aumentare). Stessa cosa vale al contrario. Se avessi venduto 1 Link e comprato 1 Cake avrei avuto 9/11=0.81 (ovvero 1 Link vale meno di 1 Cake e non è più in rapporto 1:1).
Altri AMM utilizzano formule differenti per i casi d'uso specifici a cui si rivolgono. Il fattore comune tra tutte le piattaforme, però, è il fatto che determinano i prezzi algoritmicamente. 
Un altro meccanismo è quello di Curve che utilizza pool di stablecoin o comunque con asset senza impermanent loss (perchè i due asset hanno valore costante). Questo meccanismo abbassa anche lo slippage rispetto ai classici AMM. L'effetto negativo riguarda la perdita del peg di una delle stablecoin che porterebbe uno slippage elevatissimo. Come si può vedere nell'immagine sopra, il grafico di Curve assomiglia al lato di un ottagono e mostra una curva di legame unica e permette di acquistare senza subire lo slippage. Se si nota invece la l'iperbole di Uniswap si vede che man mano viene acquistato il prezzo di un token e più il prezzo sale, teoricamente all'infinito. La formula utilizzata da Curve, è quella di sotto, dove Xi è la quantità di stablecoin, Wi il peso normalizzato. Curve ha poi combinato due invarianti con lo scalare S per ottenere un invariante che tenga conto delle proprietà delle stablecoin (ovvero non variare di prezzo). Se manteniamo C costante otteniamo una funzione che è equivalente al prodotto costante invariante (quando S =0) e che si avvicina alla somma costante invariante quando S tende all'infinito. A differenza di Uniswap o Balancer, Curve non cerca di mantenere i valori degli asset sempre uguali o proporzionali tra loro (cioè bilanciati). Ciò consente a Curve di concentrare la liquidità vicino al prezzo ideale (in un rapporto 1:1) per avere liquidità dove è più necessaria.
Balancer ha un meccanismo molto più complesso per prezzare gli asset e per depositi e prelievi. Tutti gli AMM utilizzano un algoritmo per gestire la liquidità, ma tradizionalmente gli AMM utilizzano una formula di prodotto costante che limita i pool di liquidità a due attività con un rapporto 50 e 50. Ad esempio, in un pool di liquidità di Dai ed ETH, man mano che si verificano operazioni che disturbano l'equilibrio DAI to ETH, il contratto del pool faciliterà le operazioni di contro-bilanciamento, riportando il rapporto 50 e 50.
Ciò che rende Balancer diverso è che i suoi pool intelligenti utilizzano una formula media costante, che consente più di due risorse e pesi al di fuori del 50 e 50. I pool di bilanciamento sono in grado di includere fino a 8 token di qualsiasi quantità. La formula della media costante consente anche strutture tariffarie adattive che possono reagire alle forze di mercato come la volatilità e la domanda. 
Per saperne di più: Balancer Whitepaper (Math)


COME AVVENGONO GLI SCAMBI
Anche un AMM presenta coppie di Trading, ad esempio, BNB/BUSD. Tuttavia, non è necessario avere una controparte (un altro trader) dal lato opposto per effettuare l'operazione. Al suo posto, interagisci con uno smart contract (ecco perchè prima di qualsiasi operazione eseguo uno o più smart contract). Su un exchange decentralizzato, le operazioni avvengono direttamente tra wallet degli utenti. Se vendi BNB per BUSD su Binance, c'è qualcun altro dalla parte opposta della negoziazione che compra BNB con BUSD (transazione peer-to-peer: P2P). Invece, gli AMM sono peer-to-contract (P2C). Qui le operazioni avvengono tra utenti e smart contract. Dato che non esiste un order book, su un AMM non troverai alcun tipo di ordine limite (anche se 1inch su Ethereum ha qualcosa di simile). Il prezzo di un asset che vuoi comprare o vendere è determinato da una certa formula. 


CHI FORNISCE LA LIQUIDITA'?
Ma se è tutto decentralizzato, la liquidità che compro o vendo, da dove salta fuori? La liquidità nello smart contract viene fornita dagli utenti stessi chiamati fornitori di liquidità (LP) che hanno incentivi a fare ciò. I fornitori di liquidità aggiungono fondi ai pool (utilizzati per negoziare e fare scambi). Come ricompensa per la liquidità fornita al protocollo, gli LP ricevono rewards dalle operazioni che avvengono nel loro pool (commissioni di trade) ed altre dal liquidity mining (di solito il token della piattaforma stessa). Ad esempio posso fornire liquidità nel pool di BTC/USDC: mettendo 50% e 50% (e riceverò commissioni su queste trade e in più il token della piattaforma dove sto fornendo liquidità). Esistono pure pool con 3 o 4 asset (tipo su Curve) o con % diverse (tipo su Balancer).


SLIPPAGE
A causa del funzionamento degli AMM, più liquidità è presente nel pool, meno sarà il potenziale slippage su grandi ordini. A sua volta, questo potrebbe attirare maggiori volumi sulla piattaforma. I problemi di slippage variano a seconda della struttura adottata dagli AMM, ma è senza dubbio un fattore da tenere in considerazione. 
Semplificando le cose, il prezzo è determinato da come cambia il rapporto tra i token nel pool di liquidità dopo un'operazione. Se il rapporto cambia in modo significativo, lo slippage sarà considerevole.
Qui puoi approfondire su un problema che capita spesso sugli AMM: "Insufficient Output Amount" Su Pancake/Uniswap? Ecco Come Risolvere


POSSO COMPRARE TUTTI I TOKEN DI UN POOL?
Ipotizziamo un pool BNB/BUSD, potrei svuotare tutti i BNB presenti nel pool? No.
In primo luogo dovremmo pagare un prezzo esponenzialmente più alto per tutti i vari BNB comprati, ma non riusciremmo comunque a comprare l'intera quantità presente nel pool. Perché? A causa della formula x * y = k.
Se x o y  scendono a zero, quindi ci sono zero BNB o BUSD nel pool, l'equazione non ha più senso.


IMPERMANENT LOSS
E' un fattore che abbiamo già trattato altrove ma va sempre ricordato.
L'Impermanent Loss avviene quando il rapporto di prezzo dei token depositati (come LP) cambia di molto dopo averli depositati nel pool. Più grande è il cambiamento, maggiore sarà la perdita. È per questo che gli AMM funzionano al meglio con coppie di token con valori simili, come le stablecoin (USDT/DAI o USDC/BUSD, etc) o i Wrapped token (BTC/WBTC o ETH/WETH, etc Puoi approfondire qui: A Che Servono Wrapped Bitcoin, Wrapped Ether e BTCB Sulla BSC?). Se il rapporto di prezzo della coppia rimane in un range relativamente piccolo di variazione, questa perdita è comunque trascurabile (a fronte dell'APY ricevuto per aver fornito liquidità).
Invece, se il rapporto subisce variazioni notevole, i fornitori di liquidità potrebbero guadagnare maggiormente conservando semplicemente i token nel proprio wallet, piuttosto che aggiungere fondi ad un pool. Ovviamente le perdite sono momentanee sino a quando non prelevo. Se i miei due token iniziano a convergere come all'inizio (erano 50 e 50%, ad esempio 1000 e 1000$), la perdita si annulla. Se invece prelevo quando la divergenza è elevata (a causa di grosse variazioni di prezzo dei due token sia verso l'alto che verso il basso), la perdita diviene permanente.


RUG PULLS
Oltre ad eventuali bug degli smart contract, uno dei problemi più grandi di questi dex e in generale dei pools di liquidità sono i Rug Pulls.
Sostanzialmente creo un token con supply di 1.000.000.000, vado a creare una coppia di scambio su PancakeSwap ed inserisco tutti i miei token più 10 BNB (così facendo sto settando anche il prezzo di acquisto del mio token, visto che tutti quei token valgono 10 BNB). Faccio un po' di pubblicità e la gente compra alcuni dei miei token. Ipotizziamo che rimangano 500.000.000 di token e 30 BNB vengano aggiunti al pool grazie agli acquisti del token. Io creatore del token posso usare i miei token LP svuotando il pool di liquidità e guadagnando 20 BNB rendendo tutti i token immessi sul mercato senza valore (poiché non c'è più liquidità con cui scambiarli. Il pool si riequilibria 50 e 50 e va a 0).
I token LP di chi ha fornito liquidità dovrebbero avere un blocco temporale di terze parti o essere bruciati. L'opzione di blocco temporale credo sia la migliore perché offre al team di sviluppo la possibilità in futuro di spostare la liquidità su un altro protocollo proteggendo anche gli utenti.
Se io immetto il mio token in coppia con BNB ed inserisco 100,000 dollari di liquidità (50,000 del mio token e 50,000 di BNB), anche con un acquisto di 10,000 dollari il mio token farà a grandi linee un rialzo di circa il 20% (va considerato però che meno liquidità immetto e maggiore sarà lo slippage rendendo difficoltosi gli acquisti).
Altri metodi di truffa sono i classici "Pump & Dump", in cui il team di sviluppatori, e talvolta loro amici e colleghi, otterranno una parte iniziale della supply del token, o almeno avranno la possibilità di acquistarli ad un costo molto basso.
Dopo che tutte le allocazioni iniziali sono state distribuite, il resto dei token viene aggiunto ad un pool di liquidità e il team inizierà a pubblicizzare e convincere le persone ad acquistare i token affinchè aumenti rapidamente il prezzo. Una volta che tutti i primi holders inizieranno a fare soldi, questi cominciano a vendere le loro posizioni, facendo crollare il valore.
Un buon modo per proteggersi da questa truffa è guardare l'elenco degli holders e vedere quanti wallet stanno detenendo grandi posizioni. Le persone che detengono il 2% o più, potrebbero facilmente far crollare il prezzo vendendo le loro posizioni, quindi cerca quanti ce ne sono e se hanno acquistato i loro token dalla coppia di scambio o se gli sono stati assegnati dall'account del deployer.
È anche importante tenere conto degli indirizzi di eventuale Burn. Alcuni dev conieranno una quantità eccezionalmente ampia di token e ne bruceranno la maggior parte, per nascondere l'effettiva % di offerta circolante che detengono i grandi portafogli. Se vedi un indirizzo dedito al burn che contiene una porzione significativa di un token premined, devi chiederti perché? Se i dev volevano una quantità inferiore di token, perché non usarne direttamente di meno?
Un'altra tecnica è la modifica di codice dello smart contract, settando l'impossibilità a chiunque di poter vendere i token, tranne che a sè stesso (sostanzialmente i token possono essere comprati e non venduti). Oppure diranno che devi pagare un importo X per sbloccare la possibilità di vendere i token. 
Una grande bandiera rossa è quando il progetto non rilascia il codice sorgente per lo smart contract (o se è rilasciato su Github, magari viene eseguito in modo diverso sulla blockchain. Se non viene convalidato su  blockchain explorer, molto probabilmente è diverso da come dovrebbe essere).
Per eseguire dei checks sui token, puoi andare a quest'articolo: Riconoscere Scam e Rug Pulls Di Token (Smart Contract)


Altri articoli:

martedì 9 febbraio 2021

Cos'è L'Impermanent Loss? E Quali Sono I Rischi?

Quando in un Dex si fornisce liquidità (pool/farm con coppia di token) per ricevere delle rewards uno dei rischi maggiori è l'Impermanent Loss. Per approfondire sullo Yield Farming vi rimando a questo articolo: Cos'è Lo Yield Farming? Le Piattaforme Migliori
Questo fenomeno si verifica soprattutto in tempi in cui c'è elevata volatilità di mercato, sostanzialmente si verifica un guadagno minore rispetto ad una strategia buy & hold (tutto questo grazie allo slippage).
Bisogna partire dal concetto che in questi Dex ma in generale anche su exchange centralizzati la liquidità è tutto.
Con Uniswap (ma anche Bancor, Yearn Finance, Curve, Pancake etc) chiunque può fornire liquidità e ricevere delle rewards (commissioni pagate dagli utenti che sfruttano la liquidità del protocollo). Ad esempio, Uniswap opera attraverso riserve di liquidità che consentono al protocollo di agire come Automated Market Maker (AMM), senza la necessità di un order book.
Tuttavia, fornendo coppie di token in un determinato pool, si può verificare il fenomeno della "Impermanent Loss" che rappresenta un disincentivo per chi vorrebbe fornire liquidità nei vari pool. Questi pool comunque cercano di minimizzare le divergenze di prezzo dei token riducendo il rischio di perdite temporanee. In sostanza, si tratta di perdite temporanee che si verificano quando si fornisce liquidità. Quando il fornitore di liquidità (LP) deposita due token in un determinato rapporto di solito 50% e 50% (ad esempio 40 Cake e 1 BNB), questo rapporto deve mantenersi più o meno costante nel tempo. Se uno dei due token è troppo volatile rispetto all'altro (ovvero aumenta o diminuisce troppo) avviene questo fenomeno dove il valore espresso in termini di valuta fiat magari aumenta pure ma in misura minore rispetto ad una strategia buy and hold. In poche parole potrei fornire 10,000 dollari e a un certo punto arrivare a 11,000 (tuttavia con il semplice holding ne avrei avuti, magari 11,200. Perchè? Semplicemente perchè la coin che è pompata è stata "limitata" cioè ne è diminuita la quantità).
L' Impermanent Loss è quindi la differenza tra mantenere i tuoi token in un market maker automatizzato (tipo Uniswap) e tenerli nel tuo portafoglio.
Maggiore è la divergenza del prezzo di un token rispetto all'altro, maggiore è la perdita temporanea.
Quando i valori dei due token immessi nel pool tornano allo stato in cui si trovavano quando sei entrato nell'AMM o comunque nel pool, la perdita scompare.

Ad esempio se fornisco liquidità con coppia DAI / ETH su un dex, cosa succede?

1) Se ETH aumenta di valore, il pool deve fare affidamento su sistemi di arbitraggio che mantengano lo stesso valore complessivo per entrambi i token nel pool. Questo fondamentalmente porta a una situazione in cui il profitto, derivante dal token "apprezzato", viene sottratto al fornitore di liquidità. A questo punto, se il LP decide di ritirare i suoi token, la perdita temporanea diventa permanente.

2) Se, d'altra parte, il rapporto tra i due token in un pool di liquidità tende a rimanere costante, i fornitori di liquidità hanno impermanent loss trascurabile e le commissioni di negoziazione garantiscano loro sicuramente un profitto maggiore (rispetto al semplice "holdare" quei token nel proprio wallet privato)

In altre parole, il modo più intuitivo per eliminare il rischio di perdita permanente (nel momento in cui prelevo) è quello di utilizzare pool di liquidità costituiti da una coppia di scambio in cui il prezzo di un token non si apprezza o diminuisce troppo rispetto all'altro.
Se qualcuno vuole avere un'idea di quanto potrebbe essere, si può utilizzare: Impermanent Loss Calculator
Devo inserire le variazioni di un token (ad esempio +15% oppure -57%) e dell'altro (se uno dei due token è una stablecoin inserirò 0). 
Ancora più completo questo: Upoint (che presenta una doppia calcolatrice dove nella prima vengono inserite le quantità iniziali dei due token con le successive variazioni, oltre all'impermanent loss, verrà visualizzato anche cosa sarebbe successo se si fosse fatto semplicemente holding nel wallet con il profitto netto inserendo anche token farmati; con la seconda calcolatrice invece è possibile calcolarla senza inserire le somme iniziali inserite nel pool).
Per pool tripli e misti, consiglio questo (per Balancer ad esempio): Baller
In generale dove ho sempre Impermanent Loss? Ovviamente in un pool token volatile/stablecoin (perchè le stable non variano di valore) e in uno con token volatile/token volatile (sia se i due token aumentano troppo uno rispetto all'altro sia se uno sale e l'altro scende sia se dumpano entrambi).
In generale prendendo due token con market cap simile che realizzano più o meno gli stessi rialzi, l'IL è quasi nulla. L'Impermanent Loss diventa permanente solo quando rimuovo i due token dal pool, in caso contrario varia continuamente.


MIRROR ASSET
Esistono pool con "mirror asset" che consentono ai fornitori di liquidità di guadagnare delle commissioni (minori evidentemente) sapendo che il rapporto tra i token rimarrà più o meno stabile.
1) Ad esempio il pool sETH / ETH rappresenta il prototipo:

-sETH è la versione Ether del protocollo Synthetix (un derivato di Ether) e ha un rapporto 1: 1 rispetto a ETH. In generale, una parte di SNX sommata all'offerta totale attraverso una meccanica inflazionistica viene distribuita come ricompensa agli utenti che forniscono liquidità nella coppia sETH / ETH su Uniswap. Sia che il prezzo di Ether aumenti o diminuisca, i fornitori di liquidità non devono temere che uno dei token si apprezzerà drasticamente rispetto all'altro e che il loro guadagno possa essere influenzato da una perdita temporanea. 

2) Un altro esempio simile è dato dai pool costituiti da una criptovaluta e dalla sua forma "wrapped". L'esempio tipico è la coppia di scambio wETH / ETH. WETH, o Wrapped Ether, è la versione tokenizzata di Ether. È un token ERC20 generato dall'inserimento di Ether in uno smart contract (esiste anche Wrapped Bitcoin! Viene utilizzato per portare Bitcoin negli smart contract, sfruttando la funzionalità dei token Erc20). Lo stesso vale per BNB/wBNB e varianti simili. Vai qui per approfondire: A Che Servono Wrapped Bitcoin, Wrapped Ether e BTCB Sulla BSC?

3) Per quanto riguarda soluzioni che sfruttano i pool di liquidità con rapporto costante, va citata ovviamente Curve. Curve è uno exchange decentralizzato come Uniswap, ma progettato per lo scambio soprattutto di stablecoin (DAI, USDC, etc). Questo strumento consente agli utenti di fare trading tra stablecoin e guadagnare commissioni dai fornitori di liquidità. 
Questi pool di liquidità vengono utilizzati anche nel protocollo Compound (o su Yearn.finance), dove genera un rendimento ancora maggiore per i fornitori di liquidità. Poiché i pool di liquidità su Curve sono costituiti da stablecoin, puoi sapere in anticipo che il rapporto di scambio dopo il prelievo sarà sempre 1: 1. Curve è in grado di offrire alcuni dei tassi di prestito più alti sul mercato, in particolare aggregando rendimenti in tutto l'ecosistema di lending trovando i tassi più redditizi.


4) Bancor Network: questo protocollo "rimborsa" il rischio Impermanent Loss per i LP e lo trasferisce al suo stesso protocollo Bancor. Il protocollo utilizza le commissioni guadagnate dai suoi pool per compensare le perdite. Mentre alcuni pool possono avere Impermanent Loss alto e commissioni basse, altri possono avere Impermanent Loss basso e commissioni elevate. Se non ci sono commissioni sufficienti per compensare completamente le perdite di un LP al momento del prelievo, il protocollo conia BNT per coprire il delta. Quando un utente effettua un nuovo deposito, la copertura offerta dalla sua polizza assicurativa aumenta ad un tasso dell'1% ogni giorno in cui la deposito rimane attivo e matura alla copertura completa dopo 100 giorni.
Dopo questo periodo, qualsiasi perdita temporanea verificatasi nei primi 100 giorni o in qualsiasi momento successivo è coperta dal protocollo al momento del prelievo.
I prelievi prima della scadenza di 100 giorni sono ammissibili solo per un risarcimento parziale. Ad esempio, i prelievi dopo 60 giorni nel pool ricevono un risarcimento del 60% su qualsiasi perdita temporanea subita. Non è previsto alcun compenso di IL per prelievi entro i primi 30 giorni; il LP è soggetto alla stessa IL che avrebbe avuto in un AMM standard.
Ciò significa che anche se un token aumentasse di prezzo, un LP ha il diritto di prelevare l'intero valore dei propri token come se li tenesse nel portafoglio, a condizione che l'LP abbia maturato una protezione completa. Ad esempio, se un LP punta 1 ETH e il prezzo di ETH raddoppia, l'LP può comunque prelevare almeno il valore equivalente di 1 ETH indietro, più commissioni e rewards (la differenza di prezzo sarebbe coperta dal token BNT).

lunedì 21 dicembre 2015

Cos'è La Digital Dark Age: Il Medioevo Digitale

“Prendete in mano un polveroso floppy disk riposto in qualche cassetto: le informazioni esistono all’interno di quel supporto che potrebbe apparire un pezzo di museo per i nativi digitali. 
Dati che però sono illeggibili con i moderni supporti. Andate un po’ oltre. E pensate a quanti oggetti digitali si potrebbero perdere nelle viscere dell’evoluzione tecnologica del prossimo secolo.
Se non si trova una soluzione, il Ventunesimo secolo sarà un enorme buco nero. Se avete una foto alla quale tenete davvero, stampatela”. 

Questa la dichiarazione del vice capo di Google, Vinton Cerf (uno dei fondatori d'internet, avendo inventato il protocollo IP/TCP).
Ma a cosa allude Cerf? Semplicemente al progredire della tecnologia quindi all'impossibilità di leggere foto, documenti ma anche software ormai datati per via dell'obsolescenza digitale provocata da formati e supporti ormai datati quindi inaccessibili.
Tutto ciò va sotto il nome di "Digital Dark Age" ("Medioevo Digitale").
Si parlò anche di ciò nella conferenza della International Federation Of Library Associations And Institutions nel 1997 e poi nel 1998 al convegno Time And Bits.
Si è usato il termine "Dark Ages", riferendosi all'Alto Medioevo, proprio per una relativa mancanza di documenti scritti (in proporzione a quelli digitali), la citazione è dovuta anche al fatto che dal punto di vista storico il medioevo è quasi inaccessibile.
Per obsolescenza digitale ci si riferisce non all'inaccessibilità di una risorsa digitale causata dal naturale/accidentale deterioramento del supporto su cui era registrata l'informazione ma quanto alla mancanza di un supporto fisico (o software) in grado di leggere tale dato.
Pur essendoci un supporto fisico, un qualsiasi lettore, comunque potremmo essere impossibilitati per via di driver o software ormai non più supportati.
Un giorno, anche i documenti Word, potrebbero non essere più supportati.

“Pensando a 1000, 3000 anni nel futuro, dobbiamo domandarci: come preserviamo tutti i bit di cui avremo bisogno per interpretare correttamente gli oggetti che abbiamo creato? Senza neanche rendercene conto, stiamo gettando tutti i nostri dati in quello che rischia di diventare un buco nero dell’informazione. Nei secoli a venire chi si farà delle domande su di noi incontrerà delle enormi difficoltà, dal momento in cui la maggior parte di ciò che ci lasceremo dietro potrebbe essere solo bit non interpretabili”.

Cerf porta l’esempio anche di un libro scritto da Doris Kearns Goodwin sul presidente americano Lincoln (“Team Of Rivals: The Political Genius Of Abraham Lincoln”).
Per scriverlo, Kearns ha consultato intere librerie contenenti copie della corrispondenza scritta tra Lincoln e le persone che lo circondavano.
“Immaginiamo che ci sia una Doris Kearns Goodwin del ventiduesimo secolo, che voglia scrivere un libro sull’inizio del ventunesimo secolo cercando di avvalersi delle conversazioni di quel tempo. Scoprirebbe che enormi quantità di contenuti digitali sono o evaporati, perché nessuno li ha salvati, o a disposizione ma non interpretabili, perché creati con software vecchi di cento anni”.
Il digitale ci ha sedotto con l’idea che il bit sia immortale, motivo per cui quando abbiamo qualcosa a cui davvero teniamo, corriamo subito a digitalizzarlo: foto, vecchi filmini di famiglia, lettere d’amore, documenti, etc. Peccato, però, che anche i bit possano "marcire", diventa tecnicamente impossibile leggerli.


ESEMPI FAMOSI
Negli anni 80, era routine salvare i documenti sui Floppy Disk, caricare il videogioco “Jet Set Willy” da una cassetta al Sinclair ZX Spectrum, uccidere alieni con un joystick Quickfire II e avere delle cartucce Atari Games in soffitta.
O guardare le videocassette (VHS).
Oggi, anche se i dischetti e le cassette sono in buone condizioni, in molti casi l’equipaggiamento necessario per utilizzarli si trova principalmente solo nei musei.
O ad esempio un caso famoso è avvenuto con i dati delle immagini dello sbarco su Marte del Viking nel 1976, conservati dalla NASA: per oltre un decennio, i nastri magnetici non sono stati utilizzati. Quando furono analizzati di nuovo, i dati risultarono illeggibili perché codificati in un formato sconosciuto e i programmatori originali erano morti.
Le immagini furono poi estratte dopo molti mesi in cui si rese necessaria l'analisi dei dati e dei metodi di registrazione con le apparecchiature originali.
Un altro esempio è stato il progetto BBC Domesday, un censimento nazionale digitale compilato 900 anni dopo il Domesday Book (problema poi risolto nel 2002 con l'implementazione di un emulatore in grado di rendere leggibili le informazioni registrate sui dischi anche da computer moderni).


PRESERVAZIONE DI DATI DIGITALI
Secondo Cerf, l’unica via d’uscita è iniziare a pensare sul serio al problema della preservazione del digitale. Una soluzione possibile è ciò che ha definito “manoscritto digitale”, un concetto su cui stanno lavorando gli ingegneri della Carnegie Mellon University di Pittsburgh.
In sostanza si tratta di fare delle “istantanee digitali” (“snapshot”) di tutti i processi che in futuro saranno necessari per riprodurre il dato oggetto, incluso il software e il sistema operativo.
L’istantanea potrebbe poi essere utilizzata per visualizzare la foto, il testo o il gioco in un computer “moderno”, anche a distanza di secoli.
Certo, si potrebbe ribattere che, a livello di collettività, i documenti più importanti saranno comunque copiati e adattati per i nuovi media, e che quindi non dovremmo farci carico della preoccupazione storica.
Ma Cerf ha una risposta anche per questo, prendendo in prestito una delle convinzioni più profonde degli storici: a distanza di secoli, anche documenti apparentemente irrilevanti possono rivelarsi importantissimi per la comprensione di un’epoca, con la sua sensibilità e il suo punto di vista.


INTERNET ARCHIVE
Fondata nel 1996 in California(San Francisco), Internet Archive, è una organizzazione creata appositamente per costruire una Biblioteca Internet.
Lo scopo è quello di offrire accesso permanente a ricercatori, studiosi, scienziati, curiosi e nostalgici a vere e proprie collezioni in formato digitale.
Trattasi sempre di dati ed informazioni digitali ma lo scopo è quello di archiviare files e siti internet che invece si sarebbero "persi" online(in quanto eliminati o non più accessibili).
Verso la fine del 1999 la struttura è cresciuta enormemente ed ha cominciato ad arricchirsi di grosse collezioni.
Le biblioteche esistono per conservare, custodire e preservare le opere di ingegno e dare accesso ad esse.
Questa è l’era digitale e devono quindi diventare digitali.
L’Internet Archive ha salvato anche molti filmati che sarebbero andati perduti o dimenticati.
I creatori dell’Archivio intendono conservare ogni documento filmico, sonoro o cartaceo che sia stato prodotto al mondo.
Insomma, quando cercate qualcosa, spesso Internet Archive potrebbe essere la soluzione.
L’Archivio lavora per preservare tutto ciò che passa su Internet o che può essere conservato in rete (pur non essendo stato prodotto per essa) ma che merita di essere preservato.
Con Internet Archive si vuole affermare il diritto a ricordare.
Senza le biblioteche cartacee sarebbe difficile esercitare un diritto del genere.
Del resto una civiltà come la nostra che vuole essere digitale(e ricordata) corre il rischio di perdere la sua memoria.