Liquidità su Uniswap
L'architettura di progettazione del protocollo Uniswap è diversa dal modello dei tradizionali scambi di risorse digitali. La maggior parte delle borse tradizionali mantiene un portafoglio ordini e lo utilizza per abbinare acquirenti e venditori di un particolare asset. E Uniswap utilizza le **riserve di liquidità** per realizzare la transazione di asset digitali nell'accordo.
Le riserve di liquidità per i contratti di negoziazione sono fornite dai fornitori di liquidità nella rete. Questi fornitori di liquidità depositano token ETH ed ERC20 equivalenti in specifici contratti di scambio di token ERC20. Il primo fornitore di liquidità a fornire liquidità a un contratto di scambio imposterà innanzitutto il tasso di cambio tra ETH e il token ERC20 corrispondente in quel contratto di scambio. I fornitori di liquidità stabiliscono questo tasso di cambio depositando quello che credono sia l’equivalente di ETH e del token ERC20 garantito dal contratto. Se il tasso di cambio fissato dal fornitore di liquidità non è coerente con il più ampio mercato di scambio delle criptovalute, i trader di arbitraggio porteranno il tasso di cambio tra i token ETH ed ERC20 a quello che il mercato ritiene sia il tasso di cambio corretto. Pertanto, tutti i successivi fornitori di liquidità utilizzeranno il tasso di cambio quando depositano attività per depositare liquidità.
Uniswap utilizza anche i cosiddetti **"liquidity token" (token di liquidità), che sono essi stessi conformi a ERC20. Questi token possono essere visti come una rappresentazione del contributo del fornitore di liquidità al contratto di trading. La logica alla base della limitazione di Uniswap di supportare un solo token ERC20 per contratto di trading è quella di incoraggiare i fornitori di liquidità a raggruppare le loro attività di liquidità in un'unica riserva**. Uniswap tiene traccia della percentuale relativa di ciascun fornitore di liquidità che contribuisce alla riserva totale coniando token di liquidità. I fornitori di liquidità possono bruciare i propri token di liquidità in un momento di loro scelta in modo da poter ritirare una quota proporzionale dei propri token ETH ed ERC20 dal contratto di scambio.
I fornitori di liquidità possono scegliere di vendere o trasferire i propri token di liquidità senza rimuovere liquidità dal contratto di scambio. Tuttavia, i token di liquidità di Uniswap sono strettamente assegnati a un contratto di scambio. Non esiste una singola risorsa digitale nativa associata al protocollo Uniswap. I fornitori di liquidità possono anche depositare liquidità nei contratti di trading richiamando la funzione addLiquidity(). Come ricompensa per aver fornito liquidità, i fornitori di liquidità riceveranno una certa percentuale delle commissioni di transazione quando la transazione viene eseguita
Fai trading su Uniswap: scambio ETH ⇄ ERC20 Un tipo di transazione che può essere eseguita nel protocollo Uniswap è lo scambio di ETH per qualsiasi token ERC20 specifico. Come accennato in precedenza, il tasso di cambio tra ETH e un determinato token ERC20 si basa sul relativo dimensione di ciascun pool di liquidità di attività nel contratto di negoziazione. Il tasso di cambio si basa sull'invariante di Uniswap: ETH pool token pool = invariante (invariante). Durante l'esecuzione di qualsiasi transazione sul protocollo Uniswap, un invariante (invariante) rimane invariato. Inoltre, gli invarianti cambiano solo quando la liquidità nei contratti negoziati aumenta o diminuisce.
Esempio ETH ⇄ BAT: Bob vuole avviare una transazione per scambiare 1 ETH con token ERC20 BAT. Bob utilizzerà un contratto di scambio esistente sul protocollo Uniswap per eseguire questa transazione. Il fornitore di liquidità ha depositato una certa quantità di ETH e BAT nel contratto di scambio, per questo esempio diciamo 10 ETH e 500 BAT. L'invariante sottostante è impostato come: ETH pool *BAT pool = invariante (invariante), ovvero:
Pool ETH = 10 BAT
piscina = 500
Invarianti = 10 * 500 = 5.000
Bob avvia la sua transazione inviando 1 ETH al pool ETH del contratto di transazione e detrae su questa base lo 0,3% come commissione per i fornitori di liquidità. I restanti 0,997 ETH sono stati aggiunti al pool ETH. Quindi, dividi l'invariante per il nuovo ETH totale per determinare l'ultima dimensione del pool BAT. I restanti token BAT vengono quindi inviati all'acquirente, in questo caso Bob. Questo è:
Pool ETH = 10 BAT
piscina = 500
Invarianti = 10 * 500 = 5.000 Bob
avvia la sua transazione inviando 1 ETH al pool ETH del contratto di transazione e detrae su questa base lo 0,3% come commissione per i fornitori di liquidità. I restanti 0,997 ETH sono stati aggiunti al pool ETH. Quindi, dividi l'invariante per il nuovo ETH totale per determinare l'ultima dimensione del pool BAT. I restanti token BAT vengono quindi inviati all'acquirente, in questo caso Bob. Questo è:
Bob invia: 1 ETH
Commissione di gestione: 0,003 ETH
Pool ETH = 10 + (1 – 0,003) = 10,997
Pool BAT = 5000/10,997 = 454,67
Bob riceve: 500 – 454,67 = 45,33 BAT
La commissione di gestione pagata al fornitore di liquidità è stata detratta quando Bob ha avviato la transazione e ora questa commissione di gestione viene aggiunta al pool di liquidità (il che significa che l'invariante aumenterà). Ciò funge da pagamento ai fornitori di liquidità, che possono riscuotere quando rimuovono i loro contributi di liquidità dal mercato. Poiché questa commissione viene aggiunta nuovamente dopo il calcolo del prezzo, man mano che viene eseguita ogni transazione sul contratto di scambio, l'invariante aumenta gradualmente, rendendo l'atto di depositare liquidità in un contratto di scambio importante per la liquidità. Si tratta di un'attività redditizia per i fornitori di sesso. in questo momento:
Pool ETH = 10,997 + 0,003 = 11
Pool BAT = 454,67 nuovi
invariante = 5.001,37
In questa transazione, Bob ottiene le BAT al tasso di cambio di 45,33 BAT/ETH.
Ingresso: 1 ETH
Risultato: 45,33 BAT
Tasso di cambio = 45,33 BAT/ETH
Trading su Uniswap: Trading ERC20 ⇄ ERC20
Un altro tipo di transazione che può essere eseguita nel protocollo Uniswap è lo scambio di un token ERC20 con un altro token ERC20. Poiché ETH viene utilizzato come coppia di scambio pubblica per tutti i token ERC20, Uniswap utilizza ETH come asset intermediario per le transazioni dirette tra ERC20 ed ERC20. Ad esempio, Uniswap può convertire i token BAT in ETH in un determinato contratto di transazione, quindi convertire questa parte di ETH in OMG in un altro contratto di transazione, tutti completati in un'unica transazione, in modo che sia possibile due scambi qualsiasi tra token ERC20.
Questa formula funziona in modo molto simile a un normale mercato in quanto più token acquisti, maggiore è il tasso di cambio marginale che devi pagare per acquistare un'unità in più di token.


