Semua Pengiraan Pertanian Kecairan Uniswap v3 Anda Telah Silap! Inilah Sebabnya

2 2 x = 5

Anda tahu ia salah, tetapi apabila anda mula-mula melihatnya, anda meneka sendiri dan berfikir: "Mungkin ada yang tidak kena dengan pengiraan saya". Betul ke?

Nah, itulah yang saya rasakan apabila saya mendapati bahawa angka kecairan dan TVL (Jumlah Nilai Terkunci) yang dipaparkan pada antara muka pengguna Uniswap V3 adalah salah sama sekali.

Uniswap ialah kewangan terdesentralisasi terbesar (DeFi) projek pada Ethereum dan keseluruhannya blockchain industri. Beribu-ribu penyedia kecairan menggunakan angka ini setiap hari untuk membina strategi pelaburan mereka. Jadi bagaimana mungkin angka ini tidak tepat?

Saya telah menghabiskan masa berjam-jam cuba mencari kesilapan dalam pengiraan saya, dan rasa apa? Saya tidak melakukan sebarang kesilapan. Dan keadaannya lebih teruk daripada hanya TVL yang tidak tepat.

Tetapi mari kita pergi langkah demi langkah dan mulakan dengan masalah.

Masalah

Pertama, apakah TVL, dan bagaimana ia digunakan? Ringkasnya, TVL ditakrifkan sebagai nilai dolar bagi semua aset crypto yang kini diwakilkan oleh pengguna kepada rantaian blok atau protokol. Sebagai contoh, aset ini mungkin jumlah kecairan pertukaran terdesentralisasi, jambatan atau protokol pinjaman, atau jumlah aset dipertaruhkan blok PoS.

Pelabur pasaran kripto dan peserta lain menggunakan TVL untuk beberapa kes:

  1. Penilaian kesihatan protokol. Inilah sebabnya mengapa protokol popular membanggakan TVL mereka di halaman utama. TVL yang lebih besar = lebih banyak kepercayaan pengguna = risiko yang lebih rendah =keuntungan yang stabil.
  2. Perbandingan antara protokol. Jika saya seorang peniaga kripto, saya lebih suka menggunakan alat DeFi, seperti pertukaran terdesentralisasi atau jambatan, dengan TVL yang lebih tinggi.
  3. Pengukuran pertumbuhan protokol. Pelabur yang melihat bahawa protokol atau TVL projek sedang berkembang pesat menganggapnya sebagai isyarat untuk yakin tentang harga token protokol.

Nampaknya penting untuk diketahui tepat Nombor TVL, bukan?

Tetapi bagaimana jika saya katakan bahawa data yang paling tersedia tentang Uniswap v3 TVL mengelirukan? Namun, kejutan terbesar bagi saya ialah pegawai itu Apl Carta Uniswap juga menjadi masalah! Begini cara saya mengetahuinya.

Saya sedang mengusahakan projek analitik kecairan, membandingkan data rasmi pada Uniswap v3 dengan pengiraan saya menggunakan data blockchain mentah. Langkah ini penting untuk mematuhi piawaian kualiti data tertinggi. Untuk memulakan pengesahan, saya memilih kumpulan mudah tunai yang popular, USDC-WETH (tahap yuran 0,3%).

imej 202
MEV Bot menambah kecairan untuk Eter

Lihat kumpulan 3 pada Uniswap v3—ia mempunyai TVL yang mengagumkan sebanyak $333j (berdasarkan carta rasmi Uniswap pada masa penulisan) dan volum harian yang sihat sebanyak $61j.

Serta-merta saya menghadapi masalah: nilai TVL yang dikira saya ialah $176 juta dan bukannya $333 juta yang dilaporkan di tapak web Uniswap. Ok, jadi pepijat berlaku. Tetapi sebelum beralih ke penyahpepijatan, saya memutuskan untuk mengesahkan TVL pada peneroka blockchain Ethereum yang paling popular, Etherscan. Secara teknikal, setiap kumpulan Uniswap v3 ialah kontrak pintar. Jadi, penjelajah blokchain boleh menunjukkan baki token dalam simpanan kolam, iaitu TVL.

imej 203
Transaksi swap standard.

Saya menjangkakan baki token kolam itu lebih besar sedikit daripada TVL yang dilaporkan oleh Uniswap. Ini kerana kumpulan itu memegang kecairan serta yuran yang telah terakru tetapi belum dituntut. Tetapi baki ini hampir separuh daripada jumlah Uniswap yang dilaporkan, dan, yang mengejutkan, ia adalah angka yang sama seperti pengiraan saya!

Membandingkan kecairan, aset demi aset, juga menunjukkan perbezaan yang besar. Pada ketika ini, saya menyedari kesilapan itu tiada kaitan dengan kemahiran matematik saya.

imej 205
Dan ini adalah apa yang kita panggil "sniping kecairan".

Tetapi bagaimana ini boleh berlaku? Selepas meneliti, saya mendapati bahawa Uniswap bergantung pada perkhidmatan pengindeksan blockchain terdesentralisasi Grafik. Dengan perkhidmatan ini, mana-mana pembangun boleh menambah kod analitik peribadi (dipanggil subgraf) untuk kes penggunaan data blockchain tertentu dan menjadikan analitik tersedia melalui API.

Makmal Uniswap telah mencipta subgrafnya sendiri untuk analisis protokol Uniswap dan menjadikannya tersedia melalui Perkhidmatan Dihoskan Graf. Perkara yang baik ialah kodnya tersedia secara terbuka. Perkara buruk, bagaimanapun, adalah ralat pengiraan TVLnya.

Analisis ringkas kod menunjukkan bahawa ia mengambil kira semua peristiwa swap dan kecairan tetapi tidak mengambil kira yuran. Kolam uniswap mempunyai yuran 0.01% hingga 1% pada setiap pertukaran. Yuran ini ditolak daripada aset yang didagangkan dan terakru kepada pembekal kecairan. Sebaliknya, penyedia kecairan boleh mengutip yuran terakru pada bila-bila masa.

Subgraf Uniswap v3 semasa, walaupun, memaparkan angka seolah-olah tiada yuran yang pernah terakru dan dikutip. Jadi, angka Uniswap v3 TVL menyimpang daripada realiti dengan setiap pertukaran.

Anda mungkin tertanya-tanya: "Adakah anda menyerahkan tiket keluaran di GitHub sebelum menulis artikel ini?" Ya, itulah niat pertama saya selepas menemui kesilapan itu. Dan anda tahu apa? Isu itu ialah sudah log masuk, dicipta oleh pembangun teras pada November 2021!

Jadi mengapa masalah ini tidak diselesaikan? Saya tidak tahu. Mungkin ralat itu boleh diabaikan pada masa pepijat ini ditemui. Walau bagaimanapun, ini adalah ralat kumulatif yang berkembang dengan setiap pertukaran. Jadi, apabila yuran dan volum dagangan dalam kumpulan berkembang, percanggahan TVL yang terhasil daripada ralat akan menghasilkan perbezaan yang lebih besar daripada realiti. Dan kita dapat melihat bahawa dalam kumpulan besar seperti USDC-ETH dengan bayaran 0.3% yang lebih besar—ia telah menjadi di luar kawalan! Ia kini hampir dua kali ganda daripada angka sebenar.

Mari Sahkan Jumlah TVL

Ok, kami tahu sekarang bahawa nombor TVL dalam kumpulan individu diherotkan. Kami akan meneroka cara ini boleh menjejaskan keputusan pelaburan di bawah. Tetapi sebelum kita sampai ke perkara itu, mari kita lihat bagaimana ralat ini mempengaruhi jumlah TVL protokol Uniswap v3. TVL ini dilaporkan hampir $12b pada masa penulisan.

Anda tidak perlu menjadi saintis data untuk melihat sesuatu yang tidak kena di sini.

imej 207

Kita boleh lihat di atas bahawa TVL dilaporkan sebagai perlahan tetapi terus berkembang daripada $500m kepada $4.5b pada 6 Mac 2022. Kemudian sesuatu yang gila berlaku dan TVL dilaporkan sebagai $254b pada 7 Mac 2022. Itu 2,5x lebih daripada TVL tertinggi dari seluruh rangkaian Ethereum yang pernah ada—dalam SATU hari! Jelas sekali, ia adalah kesilapan dalam data. Pada minggu-minggu berikutnya, TVL dilaporkan sebagai $10-20b.

Pada ketika ini, saya kehilangan semua kepercayaan pada data analitis Uniswap. Tetapi bagaimana kita boleh mengetahui TVL yang sebenar? Saya mempunyai 2 pilihan.

Pilihan 1—putuskan dan betulkan subgraf Uniswap v3. Perkara buruk tentang pilihan ini ialah ia akan mengambil masa beberapa hari untuk subgraf untuk mengindeks semula. Dan saya bukan peminat bahasa GraphQL yang digunakan The Graph.

Nasib baik, saya mempunyai pilihan 2— – DatamintPangkalan data analisis berprestasi tinggi untuk semua data Uniswap v3 dan Ethereum, tersedia untuk pertanyaan dalam talian yang kompleks.

Selepas beberapa percubaan, saya telah mencipta algoritma berikut untuk pengiraan TVL yang tepat. Semak proses langkah demi langkah di bawah.

  1. Kira TVL untuk semua kumpulan Uniswap v3 sedia ada menggunakan dua langkah ini.
    1. Tambahkan semua pemindahan token ERC-20 ke dan dari kontrak kumpulan (ini termasuk semua yuran yang tidak dituntut) dan padankan baki token pada Etherscan
    2. Tambahkan semua acara kecairan, masuk dan keluar, kemudian tambahkan semua acara swap ke akaun untuk yuran
  2. Bandingkan kedua-dua kaedah dan pastikan tiada percanggahan yang tidak dapat dijelaskan kekal
  3. Alih keluar kumpulan terbengkalai dan kosong dengan kurang daripada 50 swap atau 0.00000000000001 jumlah token (dengan 7,863 kumpulan dikesan (termasuk 2,083 pasangan dengan kandang), algoritma saya mengalih keluar 112 kumpulan sebagai kosong/terbengkalai)
  4. Cari laluan ke syiling stabil untuk setiap token untuk menukar kumpulan TVL kepada nilai USD
  5. Alih keluar kumpulan mudah tunai yang rendah dengan nilai USD yang rosak kerana sesetengah kumpulan boleh menunjukkan nilai yang tidak mencukupi selepas mengalih keluar sepenuhnya kecairan (semak carta di bawah sebagai contoh)
imej 208
  1. Tukar TVL semua pasangan yang tinggal kepada nilai USD dan tambahkannya

Selepas beberapa semakan silang, saya menghasilkan pengiraan TVL. Saya memulakannya dan ingin mendapatkan kopi semasa pengiraan dilaksanakan, tetapi ia selesai sebelum saya berdiri. Ini adalah satu-satunya kelemahan untuk menggunakan pangkalan data analisis berprestasi tinggi.

Adakah anda bersedia untuk melihat hasilnya?

imej 210

Ia hampir 4 kali kurang daripada $ yang dilaporkan11,8b… Terpulang kepada anda untuk membuat kesimpulan.

Penafian: Pengiraan saya mungkin mengandungi ralat. Dalam projek data untuk pelanggan perusahaan, kami menggunakan metodologi yang didokumenkan, autoujian dan banyak alatan lain untuk mencapai kualiti data tertinggi. Alat ini akan berlebihan untuk projek penyelidikan peribadi seperti ini. Penyelidikan ini menyerlahkan masalah yang jelas dalam data yang tersedia dan bukannya menyediakan penyelesaian akhir.

Ok, Kami Akan Betulkan Pengiraan TVL—Adakah Ia Membantu?

Masalahnya bukan nombor yang salah tetapi keputusan yang kami buat berdasarkan nombor tersebut. Sebagai contoh, kebanyakan kalkulator keuntungan untuk pembekal kecairan menggunakan nombor ini untuk ramalan.

Walau bagaimanapun, ia tidak begitu sukar untuk menetapkan pengiraan TVL. Sama ada Uniswap Labs membetulkannya dalam kod subgraf mereka atau pembangun kalkulator mula menggunakan sumber data lain. Soalan terasnya ialah sama ada kita boleh yakin bahawa ramalan kalkulator adalah betul.

Saya membuat beberapa pengiraan, dan jawapan ringkasnya ialah—tak tutup pun.

Tuntutan berani, saya tahu. Banyak penyedia kecairan menggunakan kalkulator sedia ada dan mempengaruhi keputusan yang menelan belanja berpuluh-puluh juta dolar. Tetapi mari kita ikuti langkah pengiraan supaya anda boleh membuat pertimbangan anda sendiri.

Mula-mula, mari kita semak beberapa konsep teras protokol Uniswap v3.

Salah satu inovasi utamanya ialah kecairan tertumpu. Pada dasarnya, dengan Uniswap v3, anda boleh memilih julat harga yang anda mahu wang anda berfungsi sebagai pembekal kecairan. Ini adalah konsep yang menakjubkan yang boleh membawa nilai yang besar kepada pengguna protokol. Pembekal kecairan mengehadkan pendedahan mereka kepada kerugian tidak kekal, dan peniaga boleh menikmati kegelinciran harga yang lebih kecil apabila turun naik rendah. Tetapi semua ini potensi faedah datang dengan kos-kerumitan.

imej 211

Jadi, kami ingin memahami cara pendapatan penyedia kecairan Uniswap v3 dikira.

Dalam Uniswap v3, pembekal kecairan memilih julat harga untuk menyediakan kecairan. Dia akan mendapat potongan yuran swap apabila harga berada dalam julat ini. Pada pandangan pertama, penyedia kecairan ingin mempunyai julat harga kedudukan kecairannya seluas mungkin. Walau bagaimanapun, kecairan diagihkan secara berkadar pada julat ini. Jadi, semakin luas julat, semakin rendah yuran swap untuk setiap tawaran.

imej 211

Dalam contoh ini, pilihan A menunjukkan penyedia kecairan memilih julat harga yang lebih luas dan pilihan 2 menunjukkan yang lebih sempit dengan jumlah yang sama. Dengan syarat, dalam kedua-dua kes, harga berada dalam julat harga yang dipilih, pembekal kecairan mendapat 3x lebih yuran dalam pilihan B. Walau bagaimanapun, jika harga lebih tidak menentu, pembekal kecairan mungkin mendapat keuntungan yang lebih tinggi dalam pilihan A.

Jadi, pada hakikatnya, memilih julat harga yang betul bergantung pada mencari keseimbangan terbaik antara risiko kehilangan harga dan menerima pulangan yang lebih rendah pada setiap tawaran.

Satu lagi parameter mempengaruhi keuntungan penyedia kecairan dan sering diabaikan. Saya tidak mengetahui mana-mana kalkulator keuntungan LP yang menganggapnya, dan parameter ini boleh mengubah segala-galanya. Anda tertanya-tanya apakah ini sekarang. Ia adalah pengedaran LP. Pertimbangkan contoh berikut:

imej 212

Dalam contoh ini, dua pembekal kecairan (LP1 dan LP2) mempunyai kedudukan. LP1 mempunyai kedudukan sempit $3. LP2 mempunyai kedudukan luas $5. Dalam kes ini, jika harga tidak meninggalkan julat kedudukan LP1, dia akan mendapat 3x lebih yuran daripada LP2. Itu kerana LP2 hanya mempunyai $1 dalam julat ini. Dan $1 ini bersaing dengan $3 daripada LP1.

Jika anda melihat pengagihan kecairan mana-mana kumpulan Uniswap v3, anda akan melihat ia tidak seragam.

imej 213

Semakin tinggi bar, semakin tinggi persaingan. Penyedia kecairan perlu mencari keseimbangan antara memilih julat kompetitif dan julat dengan kebarangkalian harga yang lebih rendah. Itulah sebabnya pengagihan ini memainkan peranan besar dalam ramalan keuntungan LP dan pembinaan strategi. Satu-satunya masalah ialah… Saya tidak pasti pengedaran ini dikira dengan betul.

Seolah-olah Itu Tidak Cukup—Sniper Kecairan

Menjadi penyedia kecairan adalah tentang meneka harga, keadaan persaingan dan volum dagangan. Jika LP mempunyai keinginan, ia adalah untuk mengetahui masa depan dagangan untuk melaraskan kedudukan kecairan terlebih dahulu.

Tetapi bagaimana jika saya memberitahu anda ia mungkin?

Semasa menyelidik, beberapa penyedia kecairan yang luar biasa menarik perhatian saya. Mereka menambah dan mengalih keluar kedudukan mudah tunai yang ketara (melebihi $10m) banyak kali sehari. Lebih mengejutkan, mereka sentiasa menambah dan mengalih keluar kecairan dalam blok yang sama.

Mari lihat contoh:

imej 214

Kami mempunyai tiga transaksi, semuanya dalam blok 15413416, kedudukan 3-5, dilaksanakan dalam susunan bawah ke atas. Transaksi pertama, dengan kaedah Laksanakan, ialah kontrak bernama "MEV Bot," menambahkan $22j kecairan kepada kumpulan USDC-WETH.

imej 215

Transaksi kedua ialah pertukaran daripada USDC kepada DogeChain melalui WETH. Ini ialah pertukaran biasa dengan nilai lebih kurang $16,500.

imej 216

Transaksi ketiga ialah "MEV Bot" sekali lagi, mengalih keluar kecairan $22 juta daripada kumpulan USDC-WETH.

imej 217

Apa yang berlaku dalam contoh dipanggil "sniping kecairan". Biar saya terangkan bagaimana ini berfungsi:

  1. Seseorang menghantar transaksi untuk menukar USDC kepada DogeChain
  2. MEV Bot mengesan transaksi ini dalam mempool dan mengaktifkan pautan peribadi dengan kolam perlombongan menggunakan teknologi Flashbots atau sesuatu yang serupa
  3. MEV Bot membayar pelombong untuk memasukkan transaksi swap dan dua transaksi dalam susunan tertentu yang membenarkan pengekstrakan nilai
  4. MEV Bot menambahkan begitu banyak kecairan ($22m) kepada julat harga yang sangat sempit, dengan begitu berkesan, semua keuntungan yuran daripada perdagangan USDC-DogeChain khusus itu telah terakru kepadanya
  5. MEV Bot kemudian mengeluarkan kecairan dan memperoleh yuran (kira-kira $35)

Jadi, keuntungan kasarnya selepas yuran gas adalah sekitar $30. Tidak sangat? Ya, tetapi dia melaksanakan strategi ini beberapa kali seminit, yang semuanya dijumlahkan. Awak boleh semak sendiri.

Apakah maksud ini untuk anda sebagai penyedia kecairan? Ini bermakna penembak tepat kecairan boleh mengambil potongan besar keuntungan yuran anda.

Kesimpulan

Izinkan saya menyelesaikan penemuan penyelidikan saya:

  1. Angka TVL dalam Carta Uniswap v3 adalah sangat tidak tepat. Ralat yang sama wujud dalam semua alat analisis bergantung pada subgraf rasmi Uniswap v3.
  2. Jumlah Uniswap v3 TVL ialah $3,14b vs $11,8b yang dilaporkan oleh laman web rasmi (pada masa penulisan).
  3. Kalkulator untuk pembekal kecairan Uniswap v3 mempunyai sedikit nilai untuk strategi kehidupan sebenar kerana mereka tidak mengambil kira persaingan dan penembak tepat kecairan.
imej 218

Nasib baik, anda kini boleh lebih memahami cara kumpulan kecairan Uniswap v3 berfungsi dalam kehidupan sebenar dan boleh melaraskan penyelidikan anda dengan sewajarnya.

Saya tidak berada dalam kedudukan untuk memberi nasihat kewangan, tetapi saya melihat hanya 2 pilihan untuk membina strategi penyediaan mudah tunai yang menonjol:

  1. MUDAH. Gunakan data prestasi sejarah. Cuba beberapa kedudukan mudah tunai dengan pertaruhan kecil dan lihat pilihan yang berfungsi dengan lebih baik. Jelas sekali, ini hanya berfungsi di bawah andaian bahawa pasaran adalah stabil.
  2. ADVANCED. Menjalankan penyelidikan dan mengoptimumkan strategi LP dengan sewajarnya. Seperti yang telah kami bincangkan di atas, itu memerlukan pemahaman yang mendalam tentang protokol Uniswap v3, kecekapan teori matematik dan permainan serta alat analitik data yang berkuasa untuk memproses sejumlah besar data dalam masa nyata.

Kedua-dua pilihan mempunyai satu persamaan—anda mendasarkan keputusan anda pada data dan bukannya perasaan hati atau alat rawak. Kadangkala bekerja dengan data adalah sukar, tetapi ia membuahkan hasil.

Di Datamint, kami sentiasa berada di sini untuk membantu anda dengan projek data tersuai anda.

Semoga data itu bersama anda!

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