Visi jūsu Uniswap v3 likviditātes lauksaimniecības aprēķini ir ļoti nepareizi! Lūk, kāpēc

2 x 2 = 5

Jūs zināt, ka tas ir nepareizi, bet, kad pirmo reizi to redzat, jūs pats uzminējat un domājat: “Varbūt kaut kas nav kārtībā ar manu aprēķinu”. Pa labi?

Nu, tieši tā es jutos, kad atklāju, ka Uniswap V3 lietotāja interfeisā redzamie likviditātes un TVL (Total Value Locked) rādītāji ir pilnīgi nepareizi.

Uniswap ir lielākā decentralizētā finanse (DEFI) projekts uz Ethereum un viss blockchain nozare. Tūkstošiem likviditātes nodrošinātāju katru dienu izmanto šos skaitļus, lai izveidotu savas ieguldījumu stratēģijas. Tātad, kā šie skaitļi varētu būt neprecīzi?

Esmu pavadījis stundas, mēģinot atrast kļūdu savos aprēķinos, un uzmini ko? Es nepieļāvu nevienu kļūdu. Un situācija ir vēl sliktāka nekā vienkārši neprecīza TVL.

Bet ejam soli pa solim un sāksim ar problēmu.

Problēma

Pirmkārt, kas ir TVL un kā to lieto? Īsāk sakot, TVL tiek definēts kā visu kriptovalūtu aktīvu dolāra vērtība, ko lietotāji pašlaik ir deleģējuši blokķēdei vai protokolam. Piemēram, šie aktīvi var būt decentralizētas apmaiņas, tilta vai aizdevuma protokola kopējā likviditāte vai kopējie PoS blokķēdes aktīvi.

Kripto tirgus investori un citi dalībnieki TVL izmanto vairākos gadījumos:

  1. Protokola veselības novērtējums. Tāpēc populārie protokoli lepojas ar savu TVL galvenajā lapā. Lielāks TVL = lielāka lietotāju uzticība = mazāks risks = stabila peļņa.
  2. Protokolu salīdzinājums. Ja es būtu kriptovalūtu tirgotājs, es labprātāk izmantotu DeFi rīkus, piemēram, decentralizētas biržas vai tiltus ar augstāku TVL.
  3. Protokola pieauguma mērīšana. Investori, kuri redz, ka protokola vai projekta TVL strauji aug, uzskata, ka tas ir signāls būt vērienīgam attiecībā uz protokola simbolisko cenu.

Šķiet, ka tas ir svarīgi zināt precīzs TVL numuri, vai ne?

Bet ko darīt, ja es saku, ka visvairāk pieejamie dati par Uniswap v3 TVL ir maldinoši? Tomēr lielākais pārsteigums man bija tas, ka amatpersona Atvienot diagrammas lietotni arī ir problēma! Lūk, kā es to uzzināju.

Es strādāju pie likviditātes analīzes projekta, salīdzinot oficiālos datus par Uniswap v3 ar saviem aprēķiniem, izmantojot neapstrādātus blokķēdes datus. Šis solis ir ļoti svarīgs, lai nodrošinātu atbilstību augstākajiem datu kvalitātes standartiem. Lai sāktu verifikāciju, es izvēlējos populāru likviditātes fondu USDC-WETH (maksas līmenis 0,3%).

attēlu 202
MEV Bot pievieno Ether likviditāti

Apskatiet Uniswap v3 3. kopu — tā iespaidīgais TVL ir 333 miljoni USD (pamatojoties uz Uniswap oficiālajām diagrammām rakstīšanas laikā) un veselīgs ikdienas apjoms 61 miljons USD.

Tūlīt man radās problēma: mana aprēķinātā TVL vērtība bija 176 miljoni USD, nevis 333 miljoni USD, par ko ziņots Uniswap vietnē. Labi, tātad kļūdas notiek. Bet, pirms pārietu uz atkļūdošanu, es nolēmu pārbaudīt TVL populārākajā Ethereum blokķēdes pārlūkā, Ēteru kanāls. Tehniski katrs Uniswap v3 pūls ir vieds līgums. Tātad, blokķēdes pētnieks var parādīt baseina īpašumā esošos marķieru atlikumus, kas ir TVL.

attēlu 203
Standarta mijmaiņas darījums.

Es gaidīju, ka pūla žetonu atlikums būs nedaudz lielāks par Uniswap ziņoto TVL. Tas ir tāpēc, ka pūlam ir likviditāte, kā arī maksas, kas ir uzkrātas, bet vēl nav pieprasītas. Bet šis atlikums bija gandrīz puse no Uniswap ziņotās summas, un pārsteidzošā kārtā tas bija tāds pats skaitlis, kā es aprēķinos!

Salīdzinot likviditāti pa aktīviem, arī tika uzrādīta milzīga atšķirība. Šajā brīdī es sapratu, ka kļūdai nav nekāda sakara ar manām matemātikas prasmēm.

attēlu 205
Un tas ir tas, ko mēs saucam par "likviditātes snaipingu".

Bet kā tas varēja notikt? Pēc izpētes es atklāju, ka Uniswap paļaujas uz decentralizēto blokķēdes indeksēšanas pakalpojumu Grafiks. Izmantojot šo pakalpojumu, jebkurš izstrādātājs var pievienot personīgo analītikas kodu (sauktu par apakšgrafiku) konkrētiem blokķēdes datu izmantošanas gadījumiem un padarīt analīzi pieejamu, izmantojot API.

Uniswap Labs ir izveidojis savus apakšgrafikus Uniswap protokola analīzei un padarījis tos pieejamus, izmantojot Grafika mitinātais pakalpojums. Labi ir tas, ka tā kods ir Publiski pieejama. Sliktā lieta tomēr ir tās TVL aprēķinu kļūdas.

Īsa koda analīze liecina, ka tajā ir ņemti vērā visi mijmaiņas darījumi un likviditātes notikumi, bet netiek ņemtas vērā maksas. Unswap pūliem ir jāmaksā no 0.01% līdz 1% par katru mijmaiņas darījumu. Šī maksa tiek atskaitīta no tirgotajiem aktīviem un uzkrāta likviditātes nodrošinātājiem. Savukārt likviditātes nodrošinātāji jebkurā laikā var iekasēt uzkrātās maksas.

Tomēr pašreizējā Uniswap v3 apakšgrafikā tiek parādīti skaitļi tā, it kā nekad nebūtu uzkrātas un iekasētas maksas. Tātad Uniswap v3 TVL skaitļi novirzījās no realitātes katrā mijmaiņas reizē.

Iespējams, jums rodas jautājums: “Vai pirms šī raksta rakstīšanas GitHub iesniedzāt izdošanas biļeti?” Jā, tas ir mans pirmais nodoms pēc kļūdas atklāšanas. Un zini ko? Tas jautājums ir jau pieteicies, kuru 2021. gada novembrī izveidoja galvenais izstrādātājs!

Tātad, kāpēc šī problēma netika novērsta? Man nav ne jausmas. Varbūt kļūda bija nenozīmīga brīdī, kad tika atklāta šī kļūda. Tomēr šī ir kumulatīvā kļūda, kas pieaug ar katru mijmaiņas darījumu. Tātad, pieaugot maksai un tirdzniecības apjomam pūlā, rezultātā TVL neatbilstība kļūdai radīs lielāku atšķirību no realitātes. Un mēs varam redzēt, ka tādā lielā baseinā kā USDC-ETH ar lielāku maksu par 0.3% — tas ir kļuvis nekontrolējams! Pašlaik tas ir gandrīz divas reizes lielāks par patiesajiem skaitļiem.

Pārbaudīsim kopējo TVL

Labi, mēs zinām, ka TVL numuri atsevišķos fondos ir izkropļoti. Tālāk mēs izpētīsim, kā tas var ietekmēt ieguldījumu lēmumus. Bet pirms mēs nonākam pie tā, redzēsim, kā šīs kļūdas ietekmē kopējo Uniswap v3 protokola TVL. Tiek ziņots, ka šī TVL šī raksta tapšanas laikā ir gandrīz USD 12 miljardi.

Jums nav jābūt datu zinātniekam, lai redzētu, ka šeit kaut kas nav kārtībā.

attēlu 207

Iepriekš redzams, ka 500. gada 4.5. martā TVL tika ziņots par lēnu, bet stabilu pieaugumu no USD 6 miljoniem līdz USD 2022 miljardiem. Tad notika kaut kas traks, un 254. gada 7. martā TVL tika ziņots par USD 2022 miljardiem. Tas ir 2,5 reizes vairāk nekā visu laiku augstākais TVL no visa Ethereum tīkla — VIENAS dienas laikā! Skaidrs, ka tā ir kļūda datos. Nākamajās nedēļās TVL tika ziņots kā USD 10-20 miljardi.

Šajā brīdī es zaudēju jebkādu uzticību Uniswap analītikas datiem. Bet kā mēs varam zināt patieso TVL? Man bija 2 varianti.

1. iespēja — izņemiet un labojiet apakšgrafu Uniswap v3. Šīs opcijas sliktā īpašība ir tāda, ka apakšgrafikas atkārtotai indeksēšanai būtu vajadzīgas dienas. Un es neesmu Graph lietotās GraphQL valodas cienītājs.

Par laimi, man bija 2. variants — Datamintaugstas veiktspējas analītiskās datu bāzes visiem Uniswap v3 un Ethereum datiem, kas ir viegli pieejamas sarežģītiem tiešsaistes vaicājumiem.

Pēc dažiem eksperimentiem precīzam TVL aprēķinam esmu izveidojis šādu algoritmu. Pārbaudiet tālāk norādīto soli pa solim aprakstīto procesu.

  1. Aprēķiniet TVL visiem esošajiem Uniswap v3 pūliem, izmantojot šīs divas darbības.
    1. Pievienojiet visus ERC-20 marķieru pārskaitījumus uz pūla līgumu un no tā (tas ietver visas nepieprasītās maksas) un saskaņojiet marķieru atlikumus Ēteru kanāls
    2. Pievienojiet visus ienākošos un izejošos likviditātes notikumus, pēc tam pievienojiet visus mijmaiņas darījumus norēķināties par nodevām
  2. Salīdziniet abas metodes un pārliecinieties, ka nepaliek neizskaidrojamas neatbilstības
  3. Noņemt pamestos un tukšos pūlus ar mazāk nekā 50 mijmaiņas darījumiem vai 0.00000000000001 marķiera summu (ar atklātiem 7,863 pūliem (tostarp 2,083 pārus ar staļļiem), mans algoritms noņēma 112 pūlus kā tukšus/pamestus)
  4. Atrodiet ceļu uz stabilām monētām katram žetonam, lai konvertētu kopas TVL uz USD vērtību
  5. Noņemiet zemas likviditātes pūli ar bojātām USD vērtībām, jo ​​daži pūli var uzrādīt neatbilstošas ​​vērtības pēc pilnīgas likviditātes noņemšanas (skatiet tālāk redzamo diagrammu kā piemēru).
attēlu 208
  1. Konvertējiet visu atlikušo pāru TVL USD vērtībā un pievienojiet tos

Pēc vairākām kontrolpārbaudēm es izdomāju TVL aprēķinu. Es to sāku un gribēju padzert kafiju, kamēr tika veikts aprēķins, bet tas beidzās, pirms es piecēlos. Tas ir vienīgais trūkums, izmantojot augstas veiktspējas analītisko datubāzi.

Vai esat gatavs redzēt rezultātu?

attēlu 210

Tas ir gandrīz 4 reizes mazāk nekā ziņots $11,8 b… Secinājumu izdarīšana ir jūsu ziņā.

Atbildības noraidīšana: Manā aprēķinā var būt kļūdas. Datu projektos uzņēmumu klientiem mēs izmantojam dokumentētu metodiku, automātiskos testus un daudzus citus rīkus, lai sasniegtu augstāko datu kvalitāti. Šie rīki būtu pārspīlēti tādam personīgam pētniecības projektam kā šis. Šis pētījums izceļ acīmredzamās problēmas pieejamajos datos, nevis sniedz galīgo risinājumu.

Labi, mēs labosim TVL aprēķinus — vai tas palīdzēs?

Problēma nav nepareizi skaitļi, bet drīzāk lēmumi, ko pieņemam, pamatojoties uz šiem skaitļiem. Piemēram, lielākā daļa peļņas kalkulatoru likviditātes nodrošinātājiem izmanto šos skaitļus prognozēm.

Taču izlabot TVL aprēķinu nav nemaz tik grūti. Vai nu Uniswap Labs to izlabo savā apakšgrafa kodā, vai arī kalkulatoru izstrādātāji sāk izmantot citus datu avotus. Galvenais jautājums ir par to, vai mēs varam būt pārliecināti, ka kalkulatora prognozes ir pareizas.

Es veicu dažus aprēķinus, un īsā atbilde ir:pat nav slēgts.

Drosmīgs apgalvojums, es zinu. Daudzi likviditātes nodrošinātāji izmanto esošos kalkulatorus un ietekmē lēmumus, kas maksā desmitiem miljonu dolāru. Bet veiksim aprēķinu darbības, lai jūs varētu izdarīt savu spriedumu.

Vispirms apskatīsim dažus Uniswap v3 protokola pamatjēdzienus.

Viens no tā galvenajiem jauninājumiem ir koncentrēta likviditāte. Būtībā, izmantojot Uniswap v3, jūs varat izvēlēties cenu diapazonu, kurā vēlaties, lai jūsu nauda darbotos kā likviditātes nodrošinātājs. Šī ir pārsteidzoša koncepcija, kas var sniegt lielu vērtību protokolu lietotājiem. Likviditātes nodrošinātāji ierobežo pastāvīgus zaudējumus, un tirgotāji var baudīt mazāku cenu novirzi, ja nepastāvība ir zema. Bet visas šīs potenciāls ieguvumiem ir jāmaksāSākot nosarežģītība.

attēlu 211

Tātad, mēs vēlamies saprast, kā tiek aprēķināti Uniswap v3 likviditātes nodrošinātāja ieņēmumi.

Programmā Uniswap v3 likviditātes nodrošinātājs izvēlas cenu diapazonu, kuram nodrošināt likviditāti. Viņš saņems savu samazinājumu no mijmaiņas maksas, tiklīdz cena būs šajā diapazonā. No pirmā acu uzmetiena likviditātes nodrošinātājs vēlas, lai viņa likviditātes pozīcijas cenu diapazons būtu pēc iespējas plašāks. Tomēr likviditāte tiek proporcionāli sadalīta šajā diapazonā. Tātad, jo plašāks diapazons, jo mazāka ir mijmaiņas maksa par katru darījumu.

attēlu 211

Šajā piemērā A opcija parāda, ka likviditātes nodrošinātājs izvēlas plašāku cenu diapazonu, bet 2. opcija parāda šaurāku cenu diapazonu ar tādu pašu summu. Ar nosacījumu, ka abos gadījumos cena ir izvēlētajā cenu diapazonā, likviditātes nodrošinātājs saņem 3 reizes lielākas maksas variantā B. Tomēr, ja cena ir nepastāvīgāka, likviditātes nodrošinātājs var iegūt lielāku peļņu A variantā.

Tātad patiesībā pareizā cenu diapazona izvēle ir atkarīga no vislabākā līdzsvara atrašanas starp cenu nokavēšanas risku un zemākas atdeves saņemšanu no katra darījuma.

Vēl viens parametrs ietekmē likviditātes nodrošinātāja peļņu, un tas bieži tiek ignorēts. Man nav zināms neviens LP peļņas kalkulators, kas to ņemtu vērā, un šis parametrs var visu mainīt. Jūs domājat, kas tas ir tagad. Tā ir LP izplatīšana. Apsveriet šādu piemēru:

attēlu 212

Šajā piemērā diviem likviditātes nodrošinātājiem (LP1 un LP2) ir pozīcijas. LP1 ir šaura pozīcija 3 USD. LP2 ir plaša pozīcija 5 USD apmērā. Šajā gadījumā, ja cena neatstās LP1 pozīcijas diapazonu, viņš saņems 3x vairāk maksas nekā LP2. Tas ir tāpēc, ka LP2 šajā diapazonā ir tikai USD 1. Un šis $1 konkurē ar $3 no LP1.

Ja paskatās uz jebkura Uniswap v3 pūla likviditātes sadalījumu, jūs redzēsit, ka tas nav vienmērīgs.

attēlu 213

Jo augstāka latiņa, jo lielāka konkurence. Likviditātes nodrošinātājiem ir jāatrod līdzsvars starp konkurētspējīgu diapazonu izvēli un diapazonu ar mazāku cenu krituma varbūtību. Tāpēc šim sadalījumam ir liela nozīme LP peļņas prognozēšanā un stratēģijas veidošanā. Vienīgā problēma ir... Es neesmu pārliecināts, ka šis sadalījums ir pareizi aprēķināts.

It kā ar to nepietiktu — likviditātes snaiperi

Likviditātes nodrošinātājs nozīmē cenas, konkurences stāvokļa un tirdzniecības apjoma uzminēšanu. Ja VP būtu vēlme, tā būtu zināt darījumu nākotni, lai iepriekš pielāgotu likviditātes pozīcijas.

Bet ja es jums saku, ka tas ir iespējams?

Pētot manu uzmanību piesaistīja daži neparasti likviditātes nodrošinātāji. Viņi pievienoja un noņēma ievērojamas likviditātes pozīcijas (vairāk nekā 10 miljonus USD) daudzas reizes dienā. Vēl pārsteidzošāk, viņi vienmēr pievienoja un noņēma likviditāti vienā blokā.

Apskatīsim piemēru:

attēlu 214

Mums ir trīs darījumi, visi blokā 15413416, pozīcijās 3-5, kas tiek izpildīti secībā no apakšas uz augšu. Pirmais darījums ar Execute metodi ir līgums ar nosaukumu “MEV Bot”, kas USDC-WETH pūlam pievieno 22 miljonus USD likviditāti.

attēlu 215

Otrais darījums ir mijmaiņas maiņa no USDC uz DogeChain, izmantojot WETH. Šis ir parasts mijmaiņas darījums, kura vērtība ir aptuveni 16,500 XNUMX USD.

attēlu 216

Trešais darījums atkal ir “MEV Bot”, kas no USDC-WETH pūla likvidē USD 22 miljonus.

attēlu 217

To, kas notika piemērā, sauc par “likviditātes snaipingu”. Ļaujiet man paskaidrot, kā tas darbojās:

  1. Kāds nosūtīja darījumu, lai apmainītu USDC uz DogeChain
  2. MEV Bot atklāja šo darījumu mempool un aktivizēja privātu saiti ar ieguves baseinu, izmantojot Flashbots tehnoloģiju vai kaut ko līdzīgu
  3. MEV Bot maksāja kalnračiem, lai tie iekļautu mijmaiņas darījumu un divus darījumus noteiktā secībā, kas ļāva iegūt vērtību
  4. MEV Bot pievienoja tik daudz likviditātes (22 miljoni USD) ļoti šauram cenu diapazonam, tāpēc viņam tika uzkrāta visa maksas peļņa no konkrētā USDC-DogeChain tirdzniecības.
  5. Pēc tam MEV Bot noņēma likviditāti un nopelnīja maksas (apmēram 35 USD)

Tātad viņa bruto peļņa pēc gāzes maksas bija aptuveni 30 USD. Ne pārāk? Jā, bet viņš šo stratēģiju izpilda vairākas reizes minūtē, kas summējas. Jūs varat pārbaudi pats.

Ko tas nozīmē jums kā likviditātes nodrošinātājam? Tas nozīmē, ka likviditātes snaiperi var ievērojami samazināt jūsu honorāru peļņu.

Secinājumi

Ļaujiet man pabeigt savus pētījumu rezultātus:

  1. TVL skaitļi Uniswap v3 diagrammās ir ļoti neprecīzi. Tādas pašas kļūdas pastāv visos analītiskajos rīkos, kas balstās uz oficiālo Uniswap v3 apakšgrafiku.
  2. Kopējais Uniswap v3 TVL apjoms ir 3,14 miljardi ASV dolāru salīdzinājumā ar 11,8 miljardiem ASV dolāru, par ko ziņoja oficiālā vietne (raksta rakstīšanas laikā).
  3. Kalkulatori Uniswap v3 likviditātes nodrošinātājiem ir maz vērtīgi reālās dzīves stratēģijām, jo ​​tie neņem vērā konkurenci un likviditātes snaiperi.
attēlu 218

Par laimi, tagad varat labāk izprast, kā Uniswap v3 likviditātes pūli darbojas reālajā dzīvē, un attiecīgi pielāgot savu pētījumu.

Es nevaru sniegt finanšu konsultācijas, taču redzu tikai divas iespējas, kā izveidot ievērojamu likviditātes nodrošināšanas stratēģiju.

  1. SIMPLE. Izmantojiet vēsturiskos veiktspējas datus. Izmēģiniet dažas likviditātes pozīcijas ar nelielām likmēm un noskaidrojiet, kuras iespējas darbojas labāk. Acīmredzot tas darbojas tikai tad, ja tiek pieņemts, ka tirgus ir stabils.
  2. ADVANCED. Veiciet izpēti un atbilstoši optimizējiet LP stratēģiju. Kā minēts iepriekš, tam ir nepieciešama padziļināta izpratne par Uniswap v3 protokolu, matemātikas un spēļu teorijas kompetencēm un jaudīgu datu analīzes rīku, lai reāllaikā apstrādātu milzīgus datu apjomus.

Abām opcijām ir viena kopīga iezīme — jūs pieņemat lēmumus, pamatojoties uz datiem, nevis uz prātu vai nejaušiem rīkiem. Dažreiz darbs ar datiem ir grūts, taču tas atmaksājas.

Uzņēmumā Datamint mēs vienmēr esam gatavi jums palīdzēt ar pielāgotajiem datu projektiem.

Lai dati ir ar jums!

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