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 AMM. Mostra tutti i post
Visualizzazione post con etichetta AMM. Mostra tutti i post

giovedì 3 ottobre 2024

Ecosistema Di Gnosis: Chain, Aggregatore Aste Batch, Gnosis Pay

Gnosis Chain è una sidechain di Ethereum che funziona come un layer1. Sostanzialmente è simile a Polygon: ha un collegamento diretto con la mainnet di Ethereum ma ha un suo token, un gas token (xDai peggato a Dai), suoi validatori e un sistema di staking con il token $Gno. Venne lanciata nel 2015 come mercato di previsioni tramite una piattaforma di DeFi (simile a PolyMarket). Il mercato previsionale era basato sulla formula poi utilizzata da Uniswap e dagli AMM classici: x*y=k. Successivamente sono stati sviluppati diversi servizi terzi e dapps.


COWSWAP
Cow Swap è un aggregatore dex (di aste batch) dove gli ordini di acquisto/vendita vengono raccolti ed aggregati in un determinato periodo di tempo chiamato time-batch, al termine del quale gli stessi vengono eseguiti simultaneamente ad uno stesso prezzo uniforme nell'ambito della stessa transazione. Dunque, invece di eseguire le operazioni di trading una per una, queste aste batch raccolgono più ordini nell'intervallo di tempo definito e li eseguono in un singolo batch, aggregando la liquidità viene ridotto lo slippage. Il modello consente ai traders di negoziare più asset in un'unica asta. Avere più ordini in un singolo batch consente anche scambi P2P, che garantiscono prezzi migliori. Questo tipo di aste in batch incoraggiano i risolutori a trovare il miglior percorso di esecuzione per ogni negoziazione, ottimizzando così l'efficienza dell'esecuzione piuttosto. Un altro protocollo che utilizza questo modello è Balancer per i suoi Liquidity Bootstrapping Pools usati per raccolta di liquidità e per stabilire un prezzo dinamico che appunto varia nel tempo. Il meccanismo di asta batch riduce la possibilità di MEV, un fenomeno in cui gli esecutori possono trarre vantaggio dalle transazioni degli utenti re-ordinando o includendo transazioni proprie. Rispetto agli aggregatori Dex "classici", le aste batch raccolgono ordini e li eseguono contemporaneamente a un prezzo unico, mentre gli aggregatori come 1inch, Odos e Paraswap dividono e distribuiscono gli ordini tra vari Dex per ottenere i migliori prezzi. Ad esempio 1inch utilizza un algoritmo chiamato Pathfinder per dividere gli ordini in più segmenti (cioè trovato il miglior tasso di scambio, gli ordini vengono divisi in piccole parti), eseguendoli su diverse piattaforme per minimizzare il costo e lo slippage. Odos e Paraswap sono basati sull'ottimizzazione del routing, trovando percorsi più efficienti per la trade richiesta. Altri aggregatori di liquidità sono Kyber Network e Matcha.


GNOSIS SAFE/SAFE GLOBAL
Account multi-sig Safe Global che richiede più firme per confermare le transazioni, aumentando la sicurezza rispetto ai wallet tradizionali. Per maggiori info: Come Creare Uno Smart Contract Multi Firma (Gnosis Safe Proxy)


CONDITIONAL TOKENS
Conditional Tokens sono strumenti per la creazione di mercati di previsione e finanziari complessi. Questi token rappresentano scommesse o previsioni su eventi futuri e possono essere utilizzati per vari scopi, tra cui scommesse, assicurazioni e strumenti finanziari derivati


ZODIAC/GUILD
Si tratta di un framework modulare per le DAO, esso è basato sul concetto di "astro" (moduli) che possono essere combinati per costruire sistemi di governance personalizzati.
La modularità permette alle organizzazioni di creare sistemi di governance flessibili e adattabili utilizzando moduli predefiniti. Esso funziona anche con vari framework di governance esistenti, inclusi Gnosis Safe e altri sistemi di gestione delle risorse. Per maggiori info: Gnosis Guild


GNOSIS PAY
Gnosis Pay è un sistema di pagamento basato su blockchain che mira a facilitare i pagamenti tramite criptovaluta nella vita quotidiana. Supporta transazioni sicure collegando semplicemente Metamask ad un'app utilizzando sistemi di pagamento VISA (carta di debito che utilizza safe smart contract). Il vantaggio è holdare asset su wallet non custodial ed eseguire pagamenti trasferendo solo la somma necessaria sulla carta, il tutto senza utilizzare enti centralizzati. Utilizzando il circuito VISA è comunque richiesto il KYC. Gnosis può essere integrato con Monerium che facilita trasferimenti da fiat a mondo blockchain, mediante Iban. Inoltre supporta anche asset peggati a fiat tipo EURe. Se depositi collaterale in cripto su Aave e prendi in prestito EURe, non solo non spendi le tue cripto che holdi long term ma non generi neanche eventi tassabili. Gnosis Pay può essere anche integrato con Zeal Wallet che è focalizzato sulla privacy e la sicurezza delle transazioni, inoltre permette di gestire la carta mediante smartphone.


ALTRE DAPPS
GnosisDAO ha approvato uno spin-off di un protocollo di gestione della tesoreria DAO Karpatkey con token nativo $Kpk. Gnosis ha anche investito 1,5 milioni di dollari in Hoprnet per creare una VPN privata e decentralizzata. Inoltre ha lanciato Gnosis AI per i mercati di previsione. La chain ha un TVL di circa 280 milioni di dollari e tra le dapps principali troviamo RealT, basata su RWA per investire nel settore immobiliare comprando asset reali frazionati.

domenica 6 agosto 2023

L'Attacco A Curve Finance: Reentrant Lock e Contromisure Adottate

Curve Finance ha avuto diversi problemi negli ultimi giorni. Il peggio sembra essere passato perchè l'hacker ha iniziato a restituire i fondi rubati (a causa di una taglia) però vediamo quello che è successo, anche per comprendere meglio i rischi della DeFi.
Il 30 Luglio 2023, un hacker ha sfruttato la vulnerabilità di alcuni pool di Curve, programmati nel linguaggio di programmazione Vyper tramite un meccanismo di reentrancy lock. Sostanzialmente un reentrant lock è un meccanismo di esclusione reciproca che consente ai thread di rientrare in un blocco di una risorsa (più volte) senza una situazione di deadlock. 
Attraverso questa debolezza, l’hacker ha potuto drenare una parte dei 69M$ da diversi pool di Curve:

CRV/ETH (circa 30M)
alETH/ETH (20.5M$)
pETH/ETH (11.5M$)
msETH/ETH (1.6M$ tramite un frontrun attack attraverso un MEV Bot di un secondo attaccante ma poi i soldi sono stati restituiti)

Oltre a far perdere il peg a numerose versioni liquide di ETH, ciò ha anche ridotto di molto la liquidità del primo pool in assoluto del token CRV (CRV/ETH). Ovviamente, questo drenaggio di liquidità, oltre a creare problemi ai liquidity provider e alle DAO che hanno fornito asset a questi pool, ha anche ridotto di molto la liquidabilità dell’asset Curve. L'exploit ha coinvolto progetti come l'exchange decentralizzato Ellipsis, le piattaforme di lending Alchemix e JPEG'd e il synthetic protocol Metronome, che hanno visto sottrarsi milioni di dollari di asset dai liquidity pool. Oltre a Curve, naturalmente. Il codice che ha parzialmente risolto la vulnerabilità è il seguente:
Il codice ora assegnerà correttamente un singolo storage_slotla la prima volta che identifica una chiave di rientro duplicata. Tuttavia, non richiamerà la set_reentrancy_key_positionfunzione su ciascuna type_con lo stesso offset, il che significa che qualsiasi @nonreentrant(<key>) oltre la prima avrebbe un offset di archiviazione "non definito" da utilizzare.



SCARSA LIQUIDITA' ON CHAIN
La scarsa liquidità on chain per grossi acquisti comporta il non poter vendere/comprare l'asset ed altissimo slippage ("price impact is too high").
Ipotizziamo che il pool CRV/ETH aveva al suo interno 30M$ (15M CRV e 15M ETH). In condizioni normali se tu vuoi acquistare 5M di CRV puoi farlo. Dopo lo scambio, il pool ospiterebbe 10M$ di CRV e 20M$ di ETH.
Se un pool viene drenato invece, la scarsa liquidità rende difficoltosi/impossibili gli scambi.
A questo punto, chi volesse scambiare questi due asset fra di loro dovrebbe utilizzare delle size più piccole, oppure optare per un altro pool. Il secondo pool più grande in termini di TVL è quello creato su Uniswap, ossia CRV/ETH 0.3% (2.2M$). Questa assenza di liquidità nei principali pool che consentono lo scambio di CRV crea un grosso problema per il token CRV. Esso è diventato un asset molto illiquido on-chain e che quindi non può essere acquistato o venduto in grosse quantità.
Dopo l’exploit e il drenaggio di liquidità da parte dell’hacker, molte persone hanno avuto paura che questo potesse accadere anche in altri pool di Curve, andando così a prelevare gran parte della liquidità sul protocollo. Il TVL complessivo ha perso il 50% della liquidità complessiva. Tutto ciò si è poi propagato in maniera simile anche sui vari booster di Curve, ossia Convex, Yearn Finance, StakeDAO.


CROLLO DI CRV 
Tutta questa sfiducia ha portato di conseguenza i token dei vari protocolli, soprattutto $CRV, ad avere massive vendite a mercato. Questo ha fatto crollare il prezzo da un valore iniziale di 0,70$ a meno di 0,50$, una contrazione di circa il 35%.
Un altro problema da considerare è che la gran parte degli AMM hanno un programma di liquidity mining per chiunque decida di fornire liquidità alla piattaforma.
Curve decide ogni due settimane di emettere 100.000 CRV a mercato e di destinarli verso diversi pool della propria piattaforma. Ovviamente, chi riceve più token avrà maggiori incentivi e così aumenterà la possibilità di attrarre più TVL nei pool, che porterà inevitabilmente a maggiori trade a causa di una ridotta presenza di slippage.
Questo è ciò che da il via al meccanismo del bribing, mediante veCRV che permette di decidere a quale pool destinare maggiore quantità di token per le prossime due settimane. Questo ti fa capire come il prezzo di CRV sia molto importante perchè fornendo le solite reward in termini quantitativi, i  liquidity provider verranno pagati molto meno (perchè CRV vale meno).


PRESTITO DI MICHAEL EGOROV (CURVE CEO)
A complicare tutta questa vicenda c’è l'enorme debito del CEO di Curve, Michael Egorov, che possiede una grandissima quantità di CRV. Non potendoli dumpare a mercato, egli ha deciso qualche anno fa di collateralizzarli sui principali protocolli di lending:

AAVE (55M$ di debito)
Fraxlend(10M$ di debito)
Abracadabra(12M$ di debito)
Inverse Finance (7M$ di debito)

Totale: circa 85M$ di debito in stablecoin. Se il prezzo di CRV dovesse raggiungere un livello che va da 0,4$ a 0,37$, porterebbe gran parte delle sue posizioni a essere vendute a mercato, innescando la sua liquidazione. In generale il collaterale CRV sarebbe venduto a mercato per ripagare il debito mantenendo la piattaforma solvente.
Le varie piattaforme di lending ne beneficerebbero guadagnando una parte della sua perdita.
Tuttavia la liquidità del pool maggiormente utilizzato da questi protocolli per liquidare, e quindi convertire CRV in ETH o in asset stabili, è stato drenato. Ciò rende CRV un token illiquido; di conseguenza, se ci fosse un grosso dump del token, queste piattaforme non avrebbero una controparte per ripagare il debito trovandosi a dover creare del bad debt.
Il fatto che Aave o altre piattaforme di lending possano dare la possibilità ai propri utenti di collateralizzare delle grosse posizioni tramite asset che possono diventare illiquidi è un problema. Ciò potrebbe portare il debito a non essere ripagato, obbligando la piattaforma stessa a utilizzare parte della propria treasury/fondo d’emergenza.
In assenza di questo fondo, invece, la piattaforma dovrà farsi carico di questo bad debt e quindi gli utenti perderebbero parte della liquidità depositata.


COME AGISCONO LE PIATTAFORME DI LENDING COINVOLTE
I vari protocolli di lending coinvolti hanno preso delle precauzioni per forzare Michael Egorov a ripagare il debito. Piattaforme come Fraxlend si tutelano da questi casi utilizzando un metodo di aumento del tasso d’interesse chiamato "Time-Weighted Variable Interest Rate". Essenzialmente, questo meccanismo raddoppia l’interesse sul debito preso in prestito ogni 12 ore se il market’s utilization rate rimane del 100%.
Questa strategia è stata adottata perchè a causa della sfiducia di questa posizione e per via dell’illiquidità del token CRV, non molte persone depositeranno liquidità su Fraxlend. In questo modo Michael Egorov dovrà ripagare il proprio debito, altrimenti l’interesse raddoppierà ogni giorno finché arriverà quasi a superare il controvalore del collaterale, innescando comunque la liquidazione.
Piattaforme come Abracadabra invece non hanno questo meccanismo di aumento esponenziale del tasso d’interesse.  Inverse Finance, a differenza delle piattaforme di lending viste in precedenza, adotta il tasso fisso. Sembra quindi che stia optando per una soluzione che comprende il deposito di altro collaterale da parte dell’entità che ha preso il prestito. In questo modo si può aumentare il periodo di ripagamento del debito, mantenendo il solito tasso d’interesse.
In tutto ciò, AAVE sta pensando a una serie di proposal che possano forzare Michael Egorov a ripagare il debito. 


COME SI E' COMPORTATO IL DEBITORE EGOROV
La prima cosa che ha fatto Michael, in quanto CEO di Curve, è stata quella di creare un pool sul protocollo da lui ideato, composto dalla stablecoin crvUSD e CRV/FRAX LP. Il tutto è stato incentivato con 100k di CRV come reward. 
L’obiettivo della creazione di questo pool è quello di incentivare il raccoglimento di liquidità verso Fraxlend. In questo modo si abbasserebbe il tasso di utilizzo della posizione di debito della piattaforma di lending. Dopo poche ore dal lancio, il pool si è riempito di circa 2 milioni di dollari, riducendo di fatto il tasso di utilizzo della posizione su FRAX all’89% e non consentendo al tasso di interesse di raddoppiare ogni 12 ore. L’altra mossa fatta da Michael è stata quella di vendere CRV tramite sell OTC (over-the-counter), ossia tramite accordi presi off-chain. Così facendo non si muove verso il basso il prezzo di CRV. Al momento si contano decine di investitori e il numero di CRV venduti ammonta a 59.5M, tra cui Justin Sun, la treasure di Yearn Finance, Wintermute, Cream Finance, DWF Labs.
Non sono chiare invece le dinamiche o i vincoli che obbligano gli acquirenti a detenere i token CRV per un certo periodo di tempo. Secondo i rumors emersi, l’obbligo è di mantenere i token CRV per almeno 6 mesi, o finché il prezzo non raddoppi rispetto a quello di acquisto, arrivando quindi a 0,8$. 
Con parte dei capitali raccolti, sembra che Egorov stia ripagando le varie piattaforme di lending, partendo da Aave con un "repay" di circa 3M$.
Oltre a questo, pare che ci sia anche una proposal da parte di uno dei primi investitori di Aave di acquistare un parte di CRV. In questo modo si eviterebbe il cigno nero e nel contempo Aave aumenterebbe il potere della DAO nei confronti di Curve.
Qui trovi l'address di Egorov: Etherscan (Michael Egorov)


RESTITUZIONE DI FONDI
Uno degli hacker ha iniziato a restituire i fondi rubati, circa 5500 ETH. In cambio l'hacker ha ricevuto una taglia di 610 ETH (il 10% del totale rubato). Le conferme arrivano da JPEG'd un protocollo di lending che ha perso 11,6 milioni di dollari da questo attacco.
Il team ha dichiarato che i fondi sono stati restituiti all'indirizzo del wallet JPEG'd che fa da treasury.

"Qualsiasi ulteriore indagine o questione legale contro l'entità terminerà. Consideriamo questo avvenimento come un soccorso da parte di un white-hat", ha dichiarato il team di JPEG'd.

Il 3 agosto Curve, Metronome e Alchemix avevano annunciato congiuntamente un'iniziativa per recuperare i fondi rubati, offrendo agli hacker una taglia del 10% e nessuna azione legale se avessero restituito il restante 90% dei fondi. 
In meno di 24 ore, l'hacker ha apparentemente accettato l'accordo e ha gradualmente iniziato a restituire i fondi rubati ai vari progetti.
Oltre a JPEG'd, gli hacker hanno restituito 4.820,55 Alchemix ETH (alETH) al team Alchemix Finance ed alcuni ETH al team Curve Finance.

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.

domenica 25 dicembre 2022

La DeFi Su Arbitrum: Protocolli a 0 Emissioni con Real Yield

Il principale protocollo che sta trainando la DeFi di Arbitrum e non solo è il dex GMX inerente perpetual e derivati. Oltre ad un classico swap, è possibile fare Trading in leva e guadagnare rendite in un pool chiamato GLP che comprende un paniere di asset in cui sostanzialmente l'utente guadagna quando i traders perdono soldi e viceversa. I rendimenti sono pagati nel token di governance GMX e soprattutto in wETH (o Avax se si usa Avalanche), questo consente di attrarre liquidità senza utilizzare token inflazionistici. Tutto questo nella DeFi 2.0 viene definito come Real Yield. Qui puoi approfondire: Cos'è Il Real Yield Nella DeFi? P/E Ratio ed Alcuni Esempi
La particolarità è che si tratta di una DeFi "componibile" che utilizza strategie automatizzate mediante più piattaforme. Questo modello di liquidità condivisa è unico per GMX nel mondo dei protocolli derivati. In combinazione con l'uso di oracoli per i feed dei prezzi (Chainlink), il vantaggio è che consente di eseguire operazioni senza slippage e senza impatto sui prezzi. La piattaforma GMX non ha un portafoglio ordini, quindi le negoziazioni possono essere al prezzo corrente fornito dai feed dei prezzi degli oracoli di Chainlink. In teoria, questo significa anche una profondità di mercato infinita sul protocollo per i traders. Ciò è in contrasto con il modello di scambio centralizzato, che richiede di fornire liquidità direttamente sul portafoglio ordini. Ciò alla fine porta a un'esecuzione dei prezzi più efficiente per le negoziazioni. 


UMAMI FINANCE
Attenzione in nessun caso si tratta di consigli di investimento, nell'articolo viene descritto solo il funzionamento della piattaforma ma quando si tratta di piattaforme nuove bisogna sempre prestare la massima attenzione!
Il protocollo utilizzato da Umami Finance è stato definito DAO POL (Protocol Own Liquidity), in quanto il token nativo Umami è messo in staking, così da garantire una Treasury per eseguire strategie di arbitraggio o di farm ottenendo un rendimento.
Il token Umami non è inflazionario e soprattutto a 0 emissioni e genera valore per i suoi holders mediante lo staking nel pool Marinate, dove le ricompense vengono pagate in wETH. La sua supply massima è di 1 milione di token (di cui 125,000 bloccati in un contratto di burn), con un attuale circolante di 650,000. Per il suo funzionamento ottimale, gran parte di questi token dovrebbero rimanere bloccati in stake (è possibile prelevare solo il primo di ogni mese).
Tramite il pool "Marinate" definito "Real Yield", si deposita Umami che ci farà ottenere il token mUMAMI e in più un rendimento pagato in wETH, generato dalle fees di swap di Umami e di Arbis (Arbis Finance, un protocollo di compounding su Arbitrum) all’interno di Uniswap. Tramite il pool "Compound" è possibile mettere in stake il token mUMAMI, e in cambio ci verrà dato il token cmUMAMI, così da generare un interesse maggiore sul nostro token. Questa volta però l’interesse in wETH, viene venduto direttamente in mUMAMI comprato spot, e quest’ultimo viene messo nuovamente in stake così da effettuare automaticamente il compounding. In seguito verranno aggiunti USDC, BTC ed ETH vault.
L’USDC Vault sarà un nuovo prodotto che andrà a combinare l’utilizzo di due piattaforme diverse: GMX e TracerDAO, per impostare una strategia Delta Neutral che ci permetterà di far farmare i token USDC che depositiamo all’interno del suo pool per un 20% annuo. Dopo che USDC è depositato nel vault, il protocollo andrà su GMX per acquistare il token GLP (il paniere di asset di cui si diceva prima). Il token genera reward dalle fees e dalla liquidità persa e pagata dai traders che effettuano scambi all’interno di GMX. Le fees pagate in parte in wETH verranno swappate per USDC per creare un primo effetto di compound e poi in esGMX permettendo di fare compound del token GMX così da massimizzare i rendimenti. In seguito andrà su TracerDAO, per coprirsi in leva sia su BTC che su ETH mediante dei token creati da Tracer, così da poter coprire la nostra posizione spot generata con l’acquisto del token GLP su GMX. In più, ci permette di farmare il token TCR che viene swappato per USDC. In questo modo viene aumentato il compound e quindi il rendimento finale.
La somma delle due reward di USDC vengono poi rimesse all’interno dell’USDC Vault di Umami. In generale tutte queste strategie portano profitti alla piattaforma e il 50% viene girato agli stakers di Umami.


ALTRE PIATTAFORME INTERESSANTI
-Dopex: si tratta di una piattaforma di Opzioni che ha due prodotti principali, un pool dove viene fornita liquidità per gli utenti che desiderano acquistare opzioni call e put e i "Single Staking Option Vaults" (SSOVs) dove gli utenti possono ricevere un dividendo sulle proprie risorse in stake e bloccare i token per un certo periodo di tempo con gli SSOVs. Gli utenti potranno depositare asset in un contratto, che successivamente venderà i tuoi depositi agli acquirenti come opzioni call con strike fissi (in base alle scadenze di fine mese). Dopex ha due token: $DPX (è il token di governance che condivide le commissioni da pool, depositi e wrapper) e $rDPX (token utilizzato per coniare asset sintetici, come azioni, indici, materie prime e altro).  
-Y2K: permette di proteggersi dal depeg di una stablecoin (USDC, USDT, FRAX, MIM, DAI)
-JonesDAO: è una piattaforma di Opzioni con Metavault (con LP token) ed Option Vault (con Yield Bearing Token)
-Radiant: è un fork di Aave quindi una piattaforma di lending omnichain che permette di fornire liquidità e prendere prestiti su chain differenti, senza utilizzare bridge

martedì 18 ottobre 2022

Dex Cross Chain? Come Funziona Symbiosis Finance

Una delle sfide nel settore delle criptovalute è trasferire con facilità la liquidità da una blockchain all'altra. Dapp come Symbiosis Finance cercano di risolvere questo problema. Fondamentalmente si tratta di un AMM Multichain (rete EVM per il momento e non EVM in futuro). Symbiosis è simile ad Uniswap, PancakeSwap, QuickSwap, etc. Ma a differenza di questi AMM consente di effettuare scambi tra chains diverse. Il meccanismo di routing di Symbiosis è simile a 1inch (Ethereum/BSC) e Jupiter Aggregator (Solana) ma questi due "aggregatori di prezzi" non consentono lo scambio incrociato. Con Symbiosis, ad esempio, potrei fare uno scambio tra ETH (Ethereum Blockchain) e BNB (Binance Smart Chain):
E' possibile anche fornire liquidità cross chain e farming sempre multi-chain.
Qual è il vantaggio di eseguire uno scambio multi-chain? Maggiore velocità. Se devi utilizzare uno scambio o un bridge, ci vorranno almeno 10 minuti. Oggi, tramite un bridge, puoi passare facilmente tra catene EVM (Ethereum, BSC, Polygon, Avalanche, Cronos Chain, Fantom, ecc.) ma puoi trasferire liquidità X per liquidità X ("USDT eth format" per "USDT bsc format" ). 
Catene più complesse come Terra e Solana sono compatibili con l'EVM solo attraverso il Wormhhole ma devi sempre eseguire più passaggi. Trasferisco X e ottengo il token "wrapped". Dopo circa 10 minuti devo recarmi presso un AMM ed effettuare un altro swap. Invece con Symbiosis puoi fare tutto con un solo clic: scambiare ad esempio USDC (eth) con USDT (avax). Ridurre i tempi di attesa diminuisce anche la volatilità (che come sappiamo è nemica di ogni trader). Gli swap vengono eseguiti tramite pool di stablecoin utilizzando Uniswap, Pancakeswap, Quickswap, etc. Se stai scambiando ETH (blockchain di Ethereum) con BNB (Binance Chain), gli scambi di ETH avverranno passando mediante stablecoin e infine in BNB. Questo ti permette di ottenere il miglior prezzo possibile.

Tecnicamente avrai due transazioni:
1) Catena di origine (ETH 🡆USDC)
-Operazione di mint (ad esempio USDC 🡆sUSDC 🡆BUSD)
2) Catena di destinazione (BUSD 🡆BNB)

Questo è il funzionamento tecnico ma lo scambio avverrà in un'unica transazione.
La sicurezza della rete è mantenuta tramite il token di governance SIS (staking sul nodo di rete relayer che gestisce i volumi di scambio del nodo per elaborare gli swap utilizzando stablecoin). Questo token è stato lanciato mediante un launchpad su Bybit.

Quali sono i vantaggi che questo protocollo intende introdurre?
- Scambi multi-chain (ad oggi solo Thorchain sta facendo una cosa del genere. La differenza, però, è che Symbiosis si integra direttamente con gli AMM. Thorchain è un progetto più complesso e "rischioso", visto che hanno già subito diversi exploit. Va seguito anche Stargate che sta utilizzando un Layer Zero)
- Diminuzione dello slippage
- Diminuzione della volatilità delle coppie scambiate (a causa della grande velocità di passaggio da una catena all'altra)
-Riduzione dell'Impermanent Loss (uso di pool di stablecoin per fare scambi; un po' quello che faceva Curve in origine)
-Utilizzo di una singola commissione di gas (se usi il wormhole o qualsiasi bridge pagherai due volte il gas. Se trasferisci da Fantom a Solana pagherai il gas in Fantom e poi in Solana)
-Possibilità di utilizzare il token che stai scambiando come gas (se scambi USDC con Dai su Uniswap, ti servirà sempre il token nativo della piattaforma: in questo caso ETH)
-Utilizzo del software di sviluppo (SDK)

giovedì 16 dicembre 2021

Cosa Sono I Vampire Attack Nella DeFi?

I pool di liquidità permettono ai traders di fare Trading sulla DeFi. I trader pagano una commissione che finisce ai fornitori di liquidità (LP). Ciò crea una situazione vantaggiosa per tutti sia fornitori che traders. Quando più è competitivo un Dex a livello di APY  e commissioni tanto più sarà avvantaggiato rispetto allo concorrenza. Molte volte però essere un pioniere dà vantaggi ad un nuovo protocollo rispetto a quelli nuovi. In queste situazioni non sono rari, quelli che in gergo, si chiamano "Vampire Attack". Per dirlo in parole povere, un Vampire Attack si realizza quando un protocollo DeFi offre tariffe migliori rispetto ad un'altra piattaforma "succhiandogli" gran parte della liquidità. Uno dei più famosi avvenne con SushiSwap che succhiò liquidità ad Uniswap in breve tempo. Ciò si ripercuote su tassi d'interesse migliori, vantaggi nell'usare quel protocollo quindi migliori introiti a causa dei volumi maggiorati.


VAMPIRE ATTACK DI SUSHISWAP AD UNISWAP
SushiSwap è stato creato il 28 agosto 2020 da un anonimo chiamato Chef Nomi. Egli ha semplicemente realizzato un fork (una copia) di Uniswap, offrendo il token nativo Sushi come ricompensa per i fornitori di liquidità e fee di trade migliori. Infatti, all'inizio queste rewards arrivavano fino a 1000% di APR e in poche ore dal loro lancio hanno raggiunto oltre 150 milioni di dollari di TVL sulla loro piattaforma (1 miliardo di liquidità sottratta ad Uniswap in una settimana). Chef Nomi essendo anonimo non ha nemmeno ottenuto la fama, ma una parte delle fee del protocollo andava al suo portafoglio di sviluppatori (circa il 10% di tutti i token Sushi).
In generale una volta che una liquidità sufficiente è stata sottratta da un protocollo, il passo successivo è riuscire a migrare i token LP in stake sulla propria piattaforma. In questo modo, una nuova piattaforma può utilizzare la liquidità migrata per il proprio market maker automatizzato, rubando non solo la liquidità ma anche il volume degli scambi e gli utenti della prima piattaforma. 
La liquidità viene fondamentalmente risucchiata dalla prima piattaforma e spostata nella seconda piattaforma. Quando si è trattato di Sushi, è qui che è entrato in gioco il contratto MasterChef che una volta attivato, è stato in grado di migrare i token LP da Uniswap a Sushiswap, rubando sostanzialmente la liquidità di Uniswap. Una volta che la liquidità è stata migrata, essa è subito disponibile per il trading su SushiSwap. Come detto per incoraggiare i fornitori di liquidità a partecipare alla migrazione, sono stati previsti alcuni incentivi aggiuntivi. Innanzitutto, il programma di farming di Sushi continuò dopo la migrazione ma con un'emissione ridotta (100 Sushi per blocco). Inoltre, le persone che hanno deciso di mettere in gioco i propri token Sushi invece di venderli avrebbero ricevuto una parte delle commissioni di trading da SushiSwap. 
Il problema iniziale di Chef Nomi è che disponeva di una chiave amministratore per il contratto di migrazione, in seguito questi "poteri" sono stato trasferiti ad un contratto timelock, aggiungendo un ritardo di 48 ore per attivare qualsiasi funzione di amministrazione. 
Sebbene i contratti SushiSwap siano stati lanciati senza essere stati sottoposti a revisione, il progetto ha attirato diversi controlli da parte di alcune importanti società di sicurezza. Chef Nomi decise anche di avviare la governance di Sushi dove i token SUSHI-ETH LP sarebbero stati utilizzati per votare. 
La mania del farming è continuata. Il 1 settembre, Binance ha annunciato la quotazione di SushiSwap e questo ha portato il prezzo di Sushi a salire fino a $ 15. 
Il 4 settembre, uno dei maggiori detentori di Sushi SBK, CEO di FTX e Alameda Research, ha presentato una futura proposta per la migrazione di parte di Sushiswap su una nuova piattaforma di trading chiamata Serum, costruita sulla blockchain di Solana. 
Il prossimo grande evento inaspettato fu lo stesso ChefNomi che vendette la sua intera quota di Sushi, del valore di circa $ 14 milioni, per ETH il 5 settembre (facendo crollare il prezzo del 73%). Ciò è stato possibile perché, sebbene Sushiswap non avesse una pre-mine o un'allocazione iniziale del team, aveva un fondo di sviluppo in cui veniva allocato il 10% di tutti i token distribuiti e a cui Chef Nomi aveva accesso. Dopo il tentativo iniziale di giustificare la sua decisione come qualcosa di buono per il progetto, la comunità ha perso fiducia in Chef Nomi che in seguito ha deciso di abbandonare il progetto.  Ciò ha portato a un altro evento inaspettato in cui Chef Nomi ha sostanzialmente trasferito il controllo del progetto a SBF, che ha fornito ancora più incentivi ai fornitori di liquidità. Inoltre, SBF ha inizializzato un trasferimento della chiave di amministrazione a un indirizzo multisig. 


IL VAMPIRE ATTACK DI ENSO FINANCE
Enso Finance ha annunciato che sta lanciando un Vampire Attack della durata di un mese che potrebbe drenare circa $ 1 miliardo da sei protocolli DeFi concorrenti .
Sostanzialmente Enso è una piattaforma che consente agli utenti di combinare strategie di investimento in "metastrategie" (si tratta di indici DeFi, di Gaming, NFT, ETF, etc un po' come esporsi a più token contemporaneamente). L'attacco è rivolto a sei protocolli con un valore totale accumulato di $ 941,5 milioni bloccato. I due protocolli più grossi (400 milioni di dollari in totale) che verranno attaccati sono Set Protocol e Index Coop, che consentono agli utenti di creare i propri indici. Gli altri sono dHedge, un hedge fund decentralizzato, PowerPool, un gestore di portafoglio di token DeFi automatizzato che totalizzano rispettivamente $ 21 milioni e $ 18 milioni. PieDAO, una piattaforma per la creazione di ETF DeFi, infine Indexed, un protocollo per la gestione passiva del proprio wallet con $ 11,7 milioni di TVL. Cosa si sono inventati per incentivare la migrazione? Enso rimborserà il gas degli utenti (costi di transazione sulla rete Ethereum) mentre migrano la liquidità durante questo attacco della durata di 4 settimane. I fornitori di liquidità che migrano saranno anche premiati con NFT e il token nativo Enso.

Connor Howe (cofondatore di Enso): "In realtà penso che sia molto positivo. Perché è quello che fanno tutti. I fornitori di servizi mobili del Regno Unito, Swisscom o BT, incentivano i clienti a cambiare continuamente piano. Certo, potrebbe suonare male, potrebbe sembrare un po' aggressivo, ma a volte devi correre dei rischi. Abbiamo scelto la parola "Vampire Attac" invece di migrazione di liquidità perché fa più notizia e rimane impresso"
In un'altra intervista: "La liquidità è il carburante che alimenta la DeFi ed è l'essenza della piattaforma di Enso. Vogliamo mostrare alla community quanto siamo innovativi e non c'è modo migliore per farlo che incentivare gli utenti esistenti a migrare"

Index Coop non si è detta preoccupata perchè ha già respinto tali "attacchi", come ad aprile quando BasketDAO ha attaccato: "Per una settimana o due abbiamo visto un calo di circa 300 utenti, ma voglio dire, aggiungiamo probabilmente 400 utenti in una settimana"


VAMPIRE ATTACK DI ASTROPORT A TERRASWAP?
Anche su Terra, pare che ci sarà un Vampire Attack con sottrazione di liquidità da TerraSwap alla nuova piattaforma Astroport che garantirà rendimento altissimi a chi migrerà liquidità da TerraSswap.
Sostanzialmente TerraSwap, sino all'avvento di Astroport, era l'unico AMM presente sulla blockchain di Terra. Astroport poterà interessanti novità. Oltre ai classici pool 50/50% e a quelli senza impermanent loss (con sole stable ed asset mirror tipo Luna/bLuna, alla Curve Finance per intenderci), sarà presente anche:
1) Liquidity Bootstrapping (LBP): più UST vengono depositati nel pool, minore sarà il prezzo del token lanciato! Questa operazione limita balene e bot scoraggiando la manipolazione dei prezzi. Uno dei primi protocolli ad utilizzare questo sistema fu Balancer. La ponderazione dei token nel LBP diminuisce nel corso dell'asta durante la durata della stessa. Questo meccanismo deflazionistico dei prezzi scoraggia il front-running e lo sniping, allungando la finestra di partecipazione e riducendo la volatilità dei prezzi durante l'asta)
4) Doppio incentivo per LP 


mercoledì 13 ottobre 2021

Come Funzionano I Flash Loan Attacks Sulla DeFi (AMM)

Oggi parliamo dei flash loan attack, una piaga che affligge la DeFi e in generale i pools di liquidità degli AMM. Sostanzialmente gli AMM sono dei dex (exchange decentralizzati) dove sono gli utenti stessi a fornire liquidità nei pools e a permettere gli scambi. Su alcune piattaforme è possibile chiedere prestiti flash appunto (flash loan attack). I prestiti canonici sono collateralizzati: ovvero chiedo un prestito fornendo una garanzia. Ad esempio blocco 1 ETH (come garanzia), ottengo il 60% in stablecoin (prestito) e poi con queste ci faccio ciò che voglio (posso metterle a rendita, spenderle, comprare altro). Chiaramente sussiste una soglia di liquidazione, infatti se il prezzo di ETH scende e rende il mio prestito sotto-garantito, vengo liquidato (pagherò anche delle penali). Ovviamente posso aggiungere anche altro collaterale per evitare che accada ciò. Se invece va tutto come deve, io dovrò prima o poi ripagare il mio prestito (la soglia di liquidazione appunto, serve ad evitare che l'utente chieda un prestito e poi non sia più invogliato a restituirlo).


FLASH LOAN (NON GARANTITI)
I flash loan invece sono prestiti non garantiti e non c’è limite all’importo che l’utente può prendere in prestito, essi ove supportati possono essere presi immediatamente (a condizione che vengano rimborsati nella stessa transazione). Un flash loan permette di svolgere 3 operazioni in una unica transazione:

1) Prelevare delle somme da un pool di liquidità

2) Utilizzare tale prestito

3) Rimborsare il prestito

I prestiti flash falliscono se non viene rimborsato il debito prima della fine della transazione. Ad introdurli fu Aave, piattaforma di lending su Ethereum. Questo tipo di prestiti devono essere rimborsati nella stessa transazione, se ciò non avviene vengono bloccati. Trattandosi di prestiti flash appunto, il modo per utilizzarli è l’arbitraggio, un processo che sfrutta la differenza di prezzo di un asset in due diversi mercati consentendo agli utenti di guadagnare da ciò.  
Ad esempio acquisto un token a 10 dollari su un dex e se su un altro dex viene venduto a 11 dollari, otterrò un guadagno vendendolo nel secondo dex. Perchè sono efficaci? Perchè i prezzi sui dex non sono allineati, l'integrazione di oracoli (Chainlink, Band, Tellor) limiterebbe questo fenomeno. Una volta che è stato rimborsato il prestito al termine della transazione, io otterrò il guadagno dalla differenza di prezzo e pagherò le commissioni inerenti il prestito. Ma come avvengono i "flash loan attack?" Si ricorda l'exploit subito a maggio 2021 dalla piattaforma PancakeBunny:

1) L'utente ha preso in prestito su PancakeSwap un’enorme quantità di BNB (Binance Coin)

2) Ha poi utilizzato questi BNB per manipolare al ribasso i prezzi nei pools USDT/BNB e Bunny/BNB, riuscendo ad ottenere una grande quantità di Bunny manipolando al rialzo il pool di liquidità (6,97 milioni di Bunny per un valore superiore a 1 miliardo di dollari)

3) La grande quantità di Bunny (700.000) è stata poi venduta facendo precipitare il prezzo a $ 6 (da circa $ 146)

4) L'hacker ha chiuso poi il contratto, ripagando il prestito di BNB tramite PancakeSwap e guadagnato la differenza pari a 114.631 BNB 

L’attacco ha visto il prezzo di Bunny aumentare rapidamente sino a $ 240 prima di precipitare a $ 25 in pochi secondi provocando una perdita netta di oltre 70 milioni di dollari di capitalizzazione di mercato del token Bunny ma senza compromettere nessun conto utente.
Anche Cream Finance ha subito un attacco simile perdendo 418.311.571 AMP e 1.308,09 ETH, attraverso un reentrancy bug nello smart contract del token AMP. L'exploit è stato fermato, sospendendo i prestiti su AMP. 
La piattaforma ha specificato che l’hacker ha sottratto i token prendendo in prestito asset in una serie di 17 transazioni separate durante il trasferimento di AMP prima che si aggiornasse il primo spostamento. 

"L’hacker effettua un flash loan da 500 ETH e deposita i fondi come collaterale. Quindi, prende in prestito 19 milioni di AMP e sfrutta il reentrancy bug per riprendere in prestito 355 ETH all’interno del trasferimento di token AMP. In seguito, l’hacker liquida direttamente il prestito"

Un altro si è verificato lo scorso febbraio 2021 quando il protocollo Alpha Homora è stato prosciugato di 37 milioni di dollari utilizzando Iron Bank, la piattaforma di prestito di Cream. Il protocollo di yield farming con leva finanziaria è stato colpito da una serie flash loan.
L'hacker ha ripetutamente preso in prestito sUSD da Iron Bank tramite Alpha Homora, raddoppiando ogni volta l'importo preso in prestito. Ciò è stato fatto in un processo di due transazioni in cui l'hacker ha restituito i fondi a Iron Bank ogni volta, il che ha permesso loro di ricevere in cambio Yearn Synth sUSD (cySUSD).
Quindi, l'attaccante ha preso in prestito 1,8 milioni di USD Coin (USDC) da Aave tramite un prestito flash, quindi li ha scambiati con sUSD utilizzando Curve. sUSD è stato utilizzato per rimborsare il prestito flash e prestare ad Iron Bank, il che ha permesso di ricevere ogni volta una quantità proporzionale di cySUSD.
Fondamentalmente, gli hacker hanno ripetuto questo processo molte volte, il che ha permesso loro di rubare enormi quantità di Creamy cyUSD che a loro volta hanno usato per prendere in prestito altre criptovalute da Iron Bank. Quindi, sono stati presi in prestito 13,000 Wrapped Ethereum (WETH), 3,6 milioni di USDC, 5,6 milioni di USDT e 4,2 milioni di Dai. 
Anche Yearn Finance (YFI) a febbraio ha subito un attacco simile, ad uno dei suoi pool contenenti Dai perdendo un totale di $ 11 milioni.
L'attaccante ha utilizzato un prestito flash su Aave per prosciugare il pool. Lo sviluppatore di Yearn, Banteg, ha inoltre condiviso che l'hacker ha rubato 513.000 DAI, $ 1,7 milioni in USDT e il resto in token CRV. Il fondatore di Aave, Stani Kulechov, ha spiegato che l'attaccante ha utilizzato un complesso di 160 transazioni nidificate su più piattaforme DeFi e ha speso $ 5.000 in tasse di gas per l'attacco. È interessante notare che più di $ 3 milioni di Dai rubati sono finiti in un pool di liquidità su Curve.

domenica 5 settembre 2021

Come Funzionano Gli Sniper Bot (AMM)

Molto spesso si sente parlare di Sniper Bot negli AMM (Automated Market Maker), tipo Uniswap, 1inch o Pancake. Qui per approfondire: Come Funzionano I Dex (AMM-Automated Market Maker)
Ma cosa sono gli Sniper Bot?
In primo luogo ti consiglio di prestare attenzione quando li scarichi gratuitamente online perchè alcuni di questi Bot potrebbero essere stati infettati da Malware, in secondo luogo si possono leggere pareri positivi, appunto da chi ti sta vendendo il servizio. Sicuramente però se funzionano possono essere interessanti. Sostanzialmente uno Sniper Bot ti consente di acquistare qualsiasi token appena aggiunto da PancakwSwap e Uniswap praticamente al listing. In gergo si chiama "sniping". Il Bot collegandosi ad una certa blockchain, scansiona tutte le transazioni mempool/in sospeso, individuando l'aggiunta di nuova liquidità magari di un token appena nato (Sniper Front Running. Qui per approfondire: Come Funzionano I Bot Front-Running Sugli AMM). Generalmente questi Bot sono collegati al proprio wallet (ad esempio Metamask o Trust Wallet), dove vengono inviati i token acquistati. 
Il Bot acquista i token in base all'input/importo a cui lo configuri. Non li vende. La vendita dovrà essere effettuata manualmente tramite il dex scelto.
Alcuni Bot presentano un'impostazione MinOutput che è simile allo Slippage. Questa funzione permette al Bot di acquistare il maggior numero possibile di token con l'importo che hai inserito. Se ad esempio lo metti a 50, il bot effettuerà l'ordine di acquisto se è in grado di ottenere almeno 50 o più token. Se non può ottenere almeno 50 token, annullerà l'ordine di acquisto in modo da non acquistare troppo in alto.
Ma convengono? Sicuramente riuscire ad acquistare un token appena viene immessa la liquidità ha molti vantaggi perchè si compra il token ad un prezzo praticamente nullo. Ci sono comunque dei problemi...perchè molto spesso non si sa il momento esatto in cui verrà aggiunta la liquidità (con buona approssimazione bisognerebbe far partire il Bot 15/20 minuti prima). Inoltre alcuni AMM hanno sistemi anti-bot. L'altro problema risiede nel fatto che questi Bot comprano liquidità ma la scelta della vendita spetta sempre a colui che ha configurato il Bot.
Una possibile soluzione a bot e whales è: Il Liquidity Bootstrapping Pool (LBP)? L'Innovazione Di Balancer

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: