Svi vaši izračuni za uzgoj likvidnosti Uniswap v3 potpuno su pogrešni! Evo zašto

2 2 x = 5

Znaš da nije u redu, ali kada to prvi put vidiš, preispitaš se i pomisliš: “Možda nešto nije u redu s mojom računicom”. Pravo?

Pa, upravo sam se tako osjećao kad sam otkrio da su brojke likvidnosti i TVL (Total Value Locked) prikazane na korisničkom sučelju Uniswap V3 potpuno pogrešne.

Uniswap je najveće decentralizirano financiranje (defi) projekt na Ethereum i cjelinu blockchain industrija. Tisuće pružatelja likvidnosti svakodnevno koriste ove brojke za izgradnju svojih strategija ulaganja. Pa kako bi te brojke uopće mogle biti netočne?

Proveo sam sate pokušavajući pronaći grešku u svojim izračunima, i pogodite što? Nisam pogriješio. A situacija je još gora od samog netočnog TVL-a.

Ali idemo korak po korak i krenimo od problema.

Problem

Prvo, što je TVL i kako se koristi? Ukratko, TVL se definira kao vrijednost u dolarima svih kripto sredstava koja su trenutno delegirana od strane korisnika u blockchain ili protokol. Na primjer, ta imovina može biti ukupna likvidnost decentralizirane razmjene, protokola premošćivanja ili pozajmljivanja ili ukupna uložena imovina PoS blockchaina.

Investitori na kripto tržištu i drugi sudionici koriste TVL za više slučajeva:

  1. Procjena zdravlja protokola. Zbog toga se popularni protokoli hvale svojim TVL-om na glavnoj stranici. Veći TVL = veće povjerenje korisnika = manji rizik = stabilan profit.
  2. Usporedba između protokola. Da sam kripto trgovac, radije bih koristio DeFi alate, poput decentraliziranih razmjena ili mostova, s višim TVL-om.
  3. Mjerenje rasta protokola. Ulagači koji vide da TVL protokola ili projekta brzo raste smatraju to signalom da budu optimistični u vezi s cijenom tokena protokola.

Izgleda da je važno znati točan TVL brojevi, zar ne?

Ali što ako kažem da su najdostupniji podaci o Uniswap v3 TVL-u pogrešni? Najveće iznenađenje za mene je ipak taj službeni Aplikacija Uniswap Chart također je problem! Evo kako sam saznao.

Radio sam na projektu analitike likvidnosti, uspoređujući službene podatke na Uniswap v3 sa svojim izračunima koristeći neobrađene podatke blockchaina. Ovaj je korak ključan za usklađivanje s najvišim standardima kvalitete podataka. Za početak provjere odabrao sam popularni skup likvidnosti, USDC-WETH (razina naknade od 0,3%).

slika 202
MEV Bot dodaje likvidnost za Ether

Pogledajte bazen 3 na Uniswap v3—ima impresivan TVL od 333 milijuna dolara (na temelju službenih grafikona Uniswapa u vrijeme pisanja) i zdrav dnevni volumen od 61 milijun dolara.

Odmah sam naišao na problem: moja izračunata TVL vrijednost bila je 176 milijuna dolara umjesto 333 milijuna dolara prijavljenih na web stranici Uniswap. U redu, greške se događaju. Ali prije nego što pređem na otklanjanje pogrešaka, odlučio sam provjeriti TVL na najpopularnijem Ethereum blockchain exploreru, Etherscan. Tehnički, svaki Uniswap v3 bazen je pametni ugovor. Dakle, blockchain explorer može prikazati stanja tokena u posjedu bazena, što je TVL.

slika 203
Standardna swap transakcija.

Očekivao sam da će saldo tokena skupa biti malo veći od TVL-a koji je objavio Uniswap. To je zato što skup ima likvidnost kao i naknade koje su akumulirane, ali još nisu potražene. Ali ova je bilanca bila gotovo polovica iznosa koji je Uniswap prijavio, i, iznenađujuće, bila je ista brojka kao moji izračuni!

Usporedba likvidnosti, imovinu po imovinu, također je pokazala veliku razliku. U tom sam trenutku shvatio da pogreška nema nikakve veze s mojim matematičkim vještinama.

slika 205
I to je ono što mi zovemo "likvidnost snajpera".

Ali kako se ovo moglo dogoditi? Nakon istraživanja otkrio sam da se Uniswap oslanja na decentraliziranu uslugu indeksiranja blockchaina Grafikon. S ovom uslugom svaki razvojni programer može dodati osobni analitički kod (koji se naziva podgraf) za specifične slučajeve upotrebe podataka blockchaina i učiniti analitiku dostupnom putem API-ja.

Uniswap Labs stvorio je vlastite podgrafove za analitiku Uniswap protokola i učinio ih dostupnima putem Graph Hosted Service. Dobra stvar je što je njegov kod javno dostupni. Loša stvar su, međutim, pogreške u izračunu TVL-a.

Kratka analiza koda pokazuje da on uračunava sve zamjene i događaje likvidnosti, ali ne uračunava naknade. Uniswap skupovi imaju naknadu od 0.01% do 1% na svaki swap. Ova se naknada odbija od imovine kojom se trguje i pripisuje se pružateljima likvidnosti. Zauzvrat, pružatelji likvidnosti mogu naplatiti obračunate naknade u bilo kojem trenutku.

Trenutačni podgraf Uniswap v3, međutim, prikazuje brojke kao da nikakve naknade nikada nisu akumulirane i prikupljene. Dakle, brojke Uniswap v3 TVL odstupale su od stvarnosti sa svakom zamjenom.

Možda se pitate: "Jeste li poslali zahtjev za izdavanje na GitHubu prije pisanja ovog članka?" Da, to je moja prva namjera nakon što sam otkrio grešku. I znate što? To pitanje je već prijavljeni, kreiran od strane glavnog programera u studenom 2021.!

Pa zašto ovaj problem nije riješen? Nemam pojma. Možda je greška bila zanemariva u vrijeme kada je ovaj bug otkriven. Međutim, ovo je kumulativna pogreška koja raste sa svakom zamjenom. Dakle, kako naknada i obujam trgovanja u skupu rastu, rezultirajuće TVL odstupanje od pogreške rezultirat će većom razlikom od stvarnosti. I možemo vidjeti da je u velikom skupu kao što je USDC-ETH s većom naknadom od 0.3%—otelo kontroli! Trenutačno je gotovo duplo veća od prave brojke.

Provjerimo ukupni TVL

U redu, do sada znamo da su TVL brojevi u pojedinačnim skupovima iskrivljeni. U nastavku ćemo istražiti kako to može utjecati na investicijske odluke. Ali prije nego što dođemo do toga, pogledajmo kako ove pogreške utječu na ukupni TVL protokola Uniswap v3. Prijavljeno je da ovaj TVL iznosi gotovo 12 milijardi dolara u vrijeme pisanja.

Ne morate biti podatkovni znanstvenik da vidite da nešto ovdje nije u redu.

slika 207

Gore možemo vidjeti da je TVL prijavljen kao polagani, ali postojani rast sa 500 milijuna dolara na 4.5 milijardi dolara 6. ožujka 2022. Tada se dogodilo nešto ludo, a TVL je prijavljen kao 254 milijarde dolara 7. ožujka 2022. To je 2,5x više od najveći TVL u cijeloj mreži Ethereum ikada—u JEDNOM danu! Jasno je da se radi o grešci u podacima. Sljedećih tjedana TVL je iznosio 10-20 milijardi dolara.

U ovom trenutku sam izgubio svako povjerenje u analitičke podatke Uniswapa. Ali kako možemo znati pravi TVL? Imao sam 2 mogućnosti.

Opcija 1—odvojite i popravite podgraf Uniswap v3. Loša stvar u vezi s ovom opcijom je ta što bi bili potrebni dani da se podgraf ponovno indeksira. I nisam obožavatelj jezika GraphQL koji koristi Graph.

Srećom, imao sam opciju 2— – PodaciAnalitičke baze podataka visokih performansi za sve Uniswap v3 i Ethereum podatke, spremno dostupne za složene online upite.

Nakon nekoliko eksperimenata, stvorio sam sljedeći algoritam za točan TVL izračun. U nastavku provjerite postupak korak po korak.

  1. Izračunajte TVL za sve postojeće Uniswap v3 bazene pomoću ova dva koraka.
    1. Dodajte sve prijenose ERC-20 tokena na i iz ugovora o bazenu (ovo uključuje sve naknade za koje nije zatraženo) i uskladite stanja tokena na Etherscan
    2. Dodajte sve događaje likvidnosti, dolazne i odlazne, a zatim dodajte sve događaje zamjene u račun za naknade
  2. Usporedite dvije metode i osigurajte da nema neobjašnjivih odstupanja
  3. Uklonite napuštene i prazne skupove s manje od 50 zamjena ili 0.00000000000001 iznosa tokena (s otkrivenih 7,863 bazena (uključujući 2,083 para sa stabilnim), moj je algoritam uklonio 112 bazena kao praznih/napuštenih)
  4. Pronađite put do stabilnih kovanica za svaki token da pretvorite skupni TVL u vrijednost u USD
  5. Uklonite skupove niske likvidnosti s neispravnim vrijednostima u dolarima jer neki skupovi mogu pokazivati ​​neadekvatne vrijednosti nakon potpunog uklanjanja likvidnosti (pogledajte grafikon u nastavku kao primjer)
slika 208
  1. Pretvorite TVL svih preostalih parova u vrijednost u USD i dodajte ih

Nakon višestrukih unakrsnih provjera, došao sam do TVL izračuna. Počeo sam ga i htio sam popiti kavu dok se računanje izvodi, ali je završilo prije nego što sam ustao. Ovo je jedina mana korištenja analitičke baze podataka visokih performansi.

Jeste li spremni vidjeti rezultat?

slika 210

Skoro je 4 puta manje od prijavljenih $11,8b… Na vama je da izvučete zaključak.

Izjava o odricanju od odgovornosti: Moj izračun može sadržavati pogreške. U podatkovnim projektima za poslovne klijente koristimo dokumentiranu metodologiju, autotestove i mnoge druge alate za postizanje najviše kvalitete podataka. Ovi bi alati bili pretjerani za ovakav osobni istraživački projekt. Ovo istraživanje naglašava očite probleme u dostupnim podacima, a ne daje konačno rješenje.

U redu, popravit ćemo TVL izračune — hoće li pomoći?

Problem nisu netočni brojevi, već odluke koje donosimo na temelju tih brojeva. Na primjer, većina kalkulatora dobiti za pružatelje likvidnosti koristi ove brojke za predviđanja.

Međutim, nije tako teško popraviti izračun TVL-a. Uniswap Labs će to popraviti u svom kodu podgrafa ili će programeri kalkulatora početi koristiti druge izvore podataka. Ključno pitanje je možemo li biti sigurni da su predviđanja kalkulatora točna.

Napravio sam neke izračune i kratak odgovor je—čak ni zatvorena.

Hrabra tvrdnja, znam. Mnogi pružatelji likvidnosti koriste postojeće kalkulatore i utječu na odluke koje koštaju desetke milijuna dolara. Ali prođimo kroz korake izračuna kako biste mogli donijeti vlastitu prosudbu.

Prvo, pregledajmo neke temeljne koncepte protokola Uniswap v3.

Jedna od njegovih glavnih inovacija je koncentrirana likvidnost. U biti, uz Uniswap v3, možete odabrati raspon cijena za koji želite da vaš novac funkcionira kao pružatelj likvidnosti. Ovo je nevjerojatan koncept koji može donijeti veliku vrijednost korisnicima protokola. Pružatelji likvidnosti ograničavaju svoju izloženost nepostojanim gubicima, a trgovci mogu uživati ​​u manjem klizanju cijena kada je volatilnost niska. Ali sve ove potencijal koristi imaju svoju cijenu-složenost.

slika 211

Dakle, želimo razumjeti kako se izračunava zarada pružatelja likvidnosti Uniswap v3.

U Uniswap v3, pružatelj likvidnosti odabire raspon cijena kojem će pružiti likvidnost. Dobit će svoj dio swap naknada kada cijena bude unutar ovog raspona. Na prvi pogled pružatelj likvidnosti želi imati što širi raspon cijena svoje likvidnosne pozicije. Međutim, likvidnost se proporcionalno raspoređuje u tom rasponu. Dakle, što je širi raspon, niža je naknada za zamjenu za svaki posao.

slika 211

U ovom primjeru opcija A prikazuje pružatelja likvidnosti koji odabire širi raspon cijena, a opcija 2 prikazuje uži raspon s istim iznosom. Pod uvjetom da je u oba slučaja cijena unutar odabranog cjenovnog raspona, pružatelj likvidnosti dobiva 3x više naknada u opciji B. Međutim, ako je cijena nestabilnija, pružatelj likvidnosti može završiti s većom dobiti u opciji A.

Dakle, u stvarnosti, odabir pravog raspona cijena ovisi o pronalaženju najbolje ravnoteže između rizika od propuštanja cijene i primanja nižeg povrata na svaku ponudu.

Još jedan parametar utječe na dobit pružatelja likvidnosti i često se zanemaruje. Nije mi poznat niti jedan LP kalkulator profita koji to uzima u obzir, a ovaj parametar može sve promijeniti. Pitate se što je ovo do sada. To je distribucija LP ploča. Razmotrite sljedeći primjer:

slika 212

U ovom primjeru dva pružatelja likvidnosti (LP1 i LP2) imaju pozicije. LP1 ima usku poziciju od 3 USD. LP2 ima široku poziciju od 5 USD. U ovom slučaju, ako cijena ne napusti raspon pozicije LP1, on će dobiti 3x više naknada od LP2. To je zato što LP2 ima samo $1 u ovom rasponu. I ovaj $1 se natječe s $3 od LP1.

Ako pogledate distribuciju likvidnosti bilo kojeg Uniswap v3 skupa, vidjet ćete da nije ujednačena.

slika 213

Što je letvica viša, veća je konkurencija. Pružatelji likvidnosti moraju pronaći ravnotežu između odabira konkurentnih raspona i raspona s manjom vjerojatnošću da će cijena biti pogođena. Zato ova raspodjela igra veliku ulogu u predviđanju dobiti LP-a i izgradnji strategije. Jedini problem je... Nisam siguran da je ova distribucija ispravno izračunata.

Kao da to nije dovoljno—Snajperisti likvidnosti

Biti pružatelj likvidnosti znači pogađati cijenu, stanje konkurencije i obujam trgovine. Ako je LP imao želju, to bi bilo znati budućnost trgovanja kako bi se unaprijed prilagodile pozicije likvidnosti.

Ali što ako ti kažem da je moguće?

Dok sam istraživao, pozornost su mi privukli neki neobični pružatelji likvidnosti. Dodavali su i uklanjali značajne pozicije likvidnosti (preko 10 milijuna dolara) mnogo puta dnevno. Što je još iznenađujuće, uvijek su dodavali i uklanjali likvidnost u istom bloku.

Pogledajmo primjer:

slika 214

Imamo tri transakcije, sve u bloku 15413416, pozicije 3-5, izvršene odozdo prema gore. Prva transakcija, s metodom Execute, je ugovor pod nazivom "MEV Bot," koji dodaje 22 milijuna USD likvidnosti USDC-WETH skupu.

slika 215

Druga transakcija je zamjena s USDC-a na DogeChain putem WETH-a. Ovo je obična zamjena u vrijednosti od približno 16,500 USD.

slika 216

Treća transakcija ponovno je "MEV Bot", uklanjajući 22 milijuna dolara likvidnosti iz USDC-WETH skupa.

slika 217

Ono što se dogodilo u primjeru naziva se "likvidnost snajpera". Dopustite mi da objasnim kako je ovo funkcioniralo:

  1. Netko je poslao transakciju za zamjenu USDC-a u DogeChain
  2. MEV Bot otkrio je ovu transakciju u mempoolu i aktivirao privatnu vezu s bazenom za rudarenje koristeći Flashbots tehnologiju ili nešto slično
  3. MEV Bot je plaćao rudarima da uključe swap transakciju i dvije transakcije u određenom redoslijedu koji je omogućio izvlačenje vrijednosti
  4. MEV Bot dodao je toliko likvidnosti (22 milijuna USD) u vrlo uski raspon cijena, tako da je sva zarada od naknada od te specifične USDC-DogeChain trgovine pripisana njemu
  5. MEV Bot je zatim uklonio likvidnost i zarađene naknade (oko 35 USD)

Dakle, njegova bruto dobit nakon naknade za plin bila je oko 30 USD. Ne puno? Da, ali on ovu strategiju provodi više puta u minuti, što se sve zbraja. Možeš provjerite sami.

Što to znači za vas kao pružatelja likvidnosti? To znači da bi snajperisti likvidnosti mogli znatno smanjiti vašu zaradu od naknada.

Zaključak

Dopustite mi da zaključim svoja istraživanja:

  1. Brojke TVL-a na grafikonima Uniswap v3 krajnje su netočne. Iste pogreške postoje u svim analitičkim alatima koji se oslanjaju na službeni podgraf Uniswap v3.
  2. Ukupni Uniswap v3 TVL iznosi 3,14 milijardi dolara u odnosu na 11,8 milijardi dolara prema službenoj web stranici (u vrijeme pisanja).
  3. Kalkulatori za pružatelje likvidnosti Uniswap v3 imaju malu vrijednost za strategije stvarnog života jer ne uzimaju u obzir konkurenciju i snajperiste likvidnosti.
slika 218

Srećom, sada možete bolje razumjeti kako Uniswap v3 skupovi likvidnosti funkcioniraju u stvarnom životu i prema tome možete prilagoditi svoje istraživanje.

Nisam u poziciji davati financijske savjete, ali vidim samo 2 opcije za izgradnju istaknute strategije za pružanje likvidnosti:

  1. JEDNOSTAVNA. Koristite povijesne podatke o izvedbi. Pokušajte s nekim pozicijama likvidnosti s malim ulozima i pogledajte koje opcije bolje funkcioniraju. Očito, ovo funkcionira samo pod pretpostavkom da je tržište stabilno.
  2. NAPREDNI. Provedite istraživanje i prema tome optimizirajte strategiju LP-a. Kao što smo gore opisali, to zahtijeva dubinsko razumijevanje protokola Uniswap v3, kompetencije u matematici i teoriji igara te snažan alat za analizu podataka za obradu ogromnih količina podataka u stvarnom vremenu.

Obje opcije imaju jednu zajedničku stvar - svoje odluke temeljite na podacima, a ne na osjećaju ili nasumičnim alatima. Ponekad je rad s podacima težak, ali se isplati.

U Datamintu smo uvijek tu da vam pomognemo s vašim prilagođenim projektima podataka.

Neka podaci budu s vama!

Izvor: https://www.cryptopolitan.com/uniswap-v3-liquidity-farming-calculations/