Загрузка...

Все ваши расчеты ликвидности Uniswap v3 совершенно неверны! Вот почему

2 х 2 = 5

Вы знаете, что это неправильно, но когда вы впервые видите это, вы догадываетесь и думаете: «Может быть, что-то не так с моим расчетом». Верно?

Что ж, именно так я себя чувствовал, когда обнаружил, что показатели ликвидности и TVL (общая заблокированная стоимость), отображаемые в пользовательском интерфейсе Uniswap V3, совершенно неверны.

Uniswap — крупнейший проект децентрализованного финансирования ( DeFi ) на Ethereum и всей блокчейнов . Тысячи поставщиков ликвидности ежедневно используют эти цифры для построения своих инвестиционных стратегий. Так как же эти цифры могут быть неточными?

Я часами пытался найти ошибку в своих расчетах, и знаете что? Я не сделал никаких ошибок. И ситуация еще хуже, чем просто неточное ТВЛ.

Но давайте пошагово и начнем с проблемы.

Проблема

Во-первых, что такое ТВЛ и как его использовать? Короче говоря, TVL defi как долларовая стоимость всех криптоактивов, делегированных в настоящее время пользователями блокчейну или протоколу. Например, эти активы могут представлять собой общую ликвидность децентрализованной биржи, моста или протокола кредитования или общие активы блокчейна PoS.

Инвесторы крипторынка и другие участники используют TVL в нескольких случаях:

  1. Оценка работоспособности протокола. Вот почему популярные протоколы хвастаются своим TVL на главной странице. Больше TVL = больше доверия пользователей = меньше рисков = стабильная прибыль.
  2. Сравнение протоколов. Если бы я был криптотрейдером, я бы предпочел использовать инструменты DeFi , такие как децентрализованные биржи или мосты, с более высоким TVL.
  3. Измерение роста протокола. Инвесторы, которые видят, что TVL протокола или проекта быстро растет, считают это сигналом для оптимизма в отношении цены токена протокола.

Похоже, важно знать точные цифры TVL, верно?

Но что, если я скажу, что самые доступные данные о Uniswap v3 TVL вводят в заблуждение? Однако самым большим сюрпризом для меня стало то, что официальное приложение Uniswap Chart также является проблемой! Вот как я узнал.

Я работал над проектом аналитики ликвидности, сравнивая официальные данные Uniswap v3 с моими расчетами с использованием необработанных данных блокчейна. Этот шаг жизненно важен для соблюдения самых высоких стандартов качества данных. Для начала проверки я выбрал популярный пул ликвидности USDC-WETH (уровень комиссии 0,3%).

изображение 202
MEV Bot добавляет ликвидность для эфира

Посмотрите на пул 3 в Uniswap v3 — у него впечатляющий TVL в размере 333 млн долларов (на основе официальных графиков Uniswap на момент написания статьи) и солидный дневной объем в 61 млн долларов.

Сразу же я столкнулся с проблемой: моя рассчитанная стоимость TVL составила 176 миллионов долларов вместо 333 миллионов долларов, указанных на веб-сайте Uniswap. Хорошо, так что ошибки случаются. Но прежде чем перейти к отладке, я решил проверить TVL в самом популярном обозревателе блокчейнов Ethereum Etherscan . Технически каждый пул Uniswap v3 представляет собой смарт- trac . Таким образом, обозреватель блокчейна может показать баланс токенов во владении пула, что и является TVL.

изображение 203
Стандартная сделка своп.

Я ожидал, что баланс токенов в пуле будет немного больше, чем TVL, о котором сообщает Uniswap. Это связано с тем, что пул содержит ликвидность, а также комиссии, которые были начислены, но еще не востребованы. Но этот баланс был почти вдвое меньше суммы, которую сообщил Uniswap, и, что удивительно, это была та же цифра, что и мои расчеты!

Сравнение ликвидности по активам также показало огромную разницу. В этот момент я понял, что ошибка не имеет ничего общего с моими математическими способностями.

изображение 205
И это то, что мы называем «снайперской ликвидностью».

Но как это могло произойти? Проведя исследование, я обнаружил, что Uniswap полагается на децентрализованную службу индексации блокчейна The Graph . С помощью этой услуги любой разработчик может добавить код личной аналитики (называемый подграфом) для конкретных случаев использования данных блокчейна и сделать аналитику доступной через API.

Uniswap Labs создала собственные подграфы для аналитики протокола Uniswap и сделала их доступными через The Graph Hosted Service . Хорошо, что его код общедоступен . Плохо, однако, его ошибки расчета TVL.

Краткий анализ кода показывает, что он учитывает все свопы и события ликвидности, но не учитывает комиссии. Пулы Uniswap имеют комиссию от 0,01% до 1% при каждом обмене. Эта комиссия вычитается из торгуемых активов и начисляется поставщикам ликвидности. В свою очередь, поставщики ликвидности могут в любой момент взимать начисленные комиссии.

Однако текущий подграф Uniswap v3 отображает цифры так, как будто комиссии никогда не начислялись и не взимались. Таким образом, цифры TVL Uniswap v3 отклонялись от реальности с каждым обменом.

Вы можете задаться вопросом: «Отправляли ли вы заявку на GitHub перед написанием этой статьи?» Да, это мое первое намерение после обнаружения ошибки. И знаешь, что? Эта проблема уже зарегистрирована , она создана основным разработчиком в ноябре 2021 года!

Так почему же эту проблему не решили? Не имею представления. Возможно, ошибка была незначительной в то время, когда эта ошибка была обнаружена. Однако это кумулятивная ошибка, которая растет с каждым свопом. Таким образом, по мере роста комиссии и объема торгов в пуле результирующее отклонение TVL от ошибки приведет к большему расхождению с реальностью. И мы видим, что в таком большом пуле, как USDC-ETH с большей комиссией в 0,3%, ситуация вышла из-под контроля! В настоящее время это почти вдвое превышает реальные цифры.

Давайте проверим общий TVL

Хорошо, мы уже знаем, что цифры TVL в отдельных пулах искажены. Ниже мы рассмотрим, как это может повлиять на инвестиционные решения. Но прежде чем мы перейдем к этому, давайте посмотрим, как эти ошибки влияют на общий TVL протокола Uniswap v3. На момент написания этой статьи TVL оценивается почти в 12 миллиардов долларов.

Не нужно быть специалистом по данным, чтобы увидеть, что здесь что-то не так.

изображение 207

Выше мы видим, что TVL медленно, но неуклонно росла с 500 млн долларов до 4,5 млрд долларов 6 марта 2022 года. Затем произошло что-то сумасшедшее, и 7 марта 2022 года сообщалось, что TVL составляет 254 млрд долларов. Это в 2,5 раза больше, чем самый высокий TVL всей сети Ethereum за ОДИН день! Явно ошибка в данных. В последующие недели TVL составлял 10–20 миллиардов долларов.

В этот момент я потерял всякое доверие к аналитическим данным Uniswap. Но как мы можем узнать истинный TVL? У меня было 2 варианта.

Вариант 1 — раскошелиться и исправить подграф Uniswap v3. Плохая сторона этого варианта заключается в том, что переиндексация подграфа может занять несколько дней. И я не фанат языка GraphQL, который использует The Graph.

К счастью, у меня был вариант 2 — высокопроизводительные аналитические базы данных Datamint Ethereum , легко доступные для сложных онлайн-запросов.

После некоторых экспериментов я создал следующий алгоритм для точного расчета TVL. Проверьте пошаговый процесс ниже.

  1. Рассчитайте TVL для всех существующих пулов Uniswap v3, используя эти два шага.
    1. trac пула и из него (включая все невостребованные комиссии) и сопоставьте балансы токенов на Etherscan
    2. Добавьте все события ликвидности, входящие и исходящие, затем добавьте все события свопа для учета комиссий.
  2. Сравните два метода и убедитесь, что не осталось необъяснимых расхождений.
  3. Удалить заброшенные и пустые пулы с менее чем 50 свопами или количеством токенов 0,00000000000001 (при обнаружении 7863 пулов (включая 2083 пары со стабильными), мой алгоритм удалил 112 пулов как пустых/заброшенных)
  4. Найдите путь к стабильным монетам для каждого токена, чтобы конвертировать TVL пула в стоимость в долларах США.
  5. Удалите пулы с низкой ликвидностью с неверными значениями в долларах США, поскольку некоторые пулы могут показывать неадекватные значения после полного удаления ликвидности (см. приведенную ниже диаграмму в качестве примера).
изображение 208
  1. Преобразуйте TVL всех оставшихся пар в стоимость USD и добавьте их

После нескольких перекрестных проверок я пришел к расчету TVL. Я запустил его и хотел выпить кофе, пока выполнялся расчет, но он закончился до того, как я встал. Это единственный недостаток использования высокопроизводительной аналитической базы данных.

Вы готовы увидеть результат?

изображение 210

Это почти в 4 раза меньше заявленных $ 11,8 млрд… Вывод делать вам.

Отказ от ответственности : мой расчет может содержать ошибки. В проектах данных для корпоративных клиентов мы используем документированную методологию, автотесты и многие другие инструменты для достижения высочайшего качества данных. Эти инструменты были бы излишними для личного исследовательского проекта, подобного этому. Это исследование выдвигает на первый план очевидные проблемы в имеющихся данных, а не предлагает окончательное решение.

Хорошо, мы исправим расчет TVL — поможет ли это?

Проблема не в неверных цифрах, а в решениях, которые мы принимаем на основе этих цифр. Например, большинство калькуляторов прибыли для поставщиков ликвидности используют эти цифры для прогнозов.

Однако исправить расчет TVL не так уж и сложно. Либо Uniswap Labs исправляют это в своем коде подграфа, либо разработчики калькуляторов начинают использовать другие источники данных. Основной вопрос заключается в том, можем ли мы быть dent в правильности предсказаний калькулятора.

Я сделал некоторые расчеты, и краткий ответ — даже не близко .

Смелое заявление, я знаю. Многие поставщики ликвидности используют существующие калькуляторы и влияют на решения, которые стоят десятки миллионов долларов. Но давайте пройдемся по шагам расчета, чтобы вы могли сделать собственное суждение.

Во-первых, давайте рассмотрим некоторые основные концепции протокола Uniswap v3.

Одно из его главных нововведений — концентрированная ликвидность. По сути, с Uniswap v3 вы можете выбрать ценовой диапазон, в котором вы хотите, чтобы ваши деньги работали в качестве поставщика ликвидности. Это удивительная концепция, которая может принести большую пользу пользователям протокола. Поставщики ликвидности ограничивают свою подверженность непостоянным убыткам, а трейдеры могут enj меньшим проскальзыванием цены при низкой волатильности. Но за все эти потенциальные преимущества приходится платитьсложностью .

изображение 211

Итак, мы хотим понять, как рассчитывается прибыль поставщика ликвидности Uniswap v3.

В Uniswap v3 поставщик ликвидности выбирает ценовой диапазон для предоставления ликвидности. Он получит свою долю комиссии за своп, как только цена окажется в этом диапазоне. На первый взгляд, поставщик ликвидности хочет, чтобы ценовой диапазон его позиции ликвидности был как можно шире. Однако ликвидность распределяется пропорционально в этом диапазоне. Таким образом, чем шире диапазон, тем ниже комиссия за своп по каждой сделке.

изображение 211

В этом примере вариант А показывает, что поставщик ликвидности выбирает более широкий ценовой диапазон, а вариант 2 показывает более узкий диапазон с той же суммой. При условии, что в обоих случаях цена находится внутри выбранного ценового диапазона, поставщик ликвидности получает в 3 раза больше комиссионных в варианте B. Однако, если цена более волатильна, поставщик ликвидности может получить более высокую прибыль в варианте A.

Таким образом, в действительности выбор правильного ценового диапазона зависит от нахождения наилучшего баланса между риском упустить цену и получением более низкой прибыли по каждой сделке.

Еще один параметр, влияющий на прибыль поставщика ликвидности, часто упускается из виду. Я не знаю ни одного калькулятора прибыли LP, который бы это учитывал, а этот параметр может все изменить. Вам уже интересно, что это такое. Это раздача пластинок. Рассмотрим следующий пример:

изображение 212

В этом примере у двух поставщиков ликвидности (LP1 и LP2) есть позиции. LP1 имеет узкую позицию в размере 3 долларов. У LP2 широкая позиция $5. В этом случае, если цена не выйдет за пределы позиции LP1, он получит в 3 раза больше комиссионных, чем LP2. Это потому, что LP2 имеет только 1 доллар в этом диапазоне. И этот $1 конкурирует с $3 LP1.

Если вы посмотрите на распределение ликвидности любого пула Uniswap v3, вы увидите, что оно неравномерно.

изображение 213

Чем выше планка, тем выше конкуренция. Поставщикам ликвидности необходимо найти баланс между выбором конкурентных диапазонов и диапазоном с меньшей вероятностью ценового удара. Вот почему это распределение играет большую роль в прогнозировании прибыли LP и построении стратегии. Единственная проблема в том, что… я не уверен, что это распределение рассчитано правильно.

Как будто этого недостаточно — снайперы ликвидности

Быть поставщиком ликвидности — значит угадывать цену, состояние конкуренции и объем торгов. Если бы у LP было желание, оно должно было бы знать будущее сделок, чтобы заранее скорректировать позиции ликвидности.

Но что, если я скажу вам, что это возможно?

Во время исследования мое внимание привлекли некоторые необычные поставщики ликвидности. Они добавляли и удаляли значительные позиции ликвидности (более 10 миллионов долларов) много раз в день. Что еще более удивительно, они всегда добавляли и удаляли ликвидность в одном и том же блоке.

Давайте посмотрим на пример:

изображение 214

У нас есть три транзакции, все в блоке 15413416, позиции 3-5, выполняемые в восходящем порядке. Первая транзакция с методом Execute — это trac под названием «MEV Bot», добавляющий 22 миллиона долларов ликвидности в пул USDC-WETH.

изображение 215

Вторая транзакция — это обмен с USDC на DogeChain через WETH. Это обычный своп стоимостью около 16 500 долларов.

изображение 216

Третья транзакция снова называется «MEV Bot», удаляя 22 миллиона долларов ликвидности из пула USDC-WETH.

изображение 217

То, что произошло в примере, называется «снайпер ликвидности». Позвольте мне объяснить, как это работало:

  1. Кто-то отправил транзакцию для обмена USDC на DogeChain
  2. MEV Bot обнаружил эту транзакцию в мемпуле и активировал приватную ссылку с майнинг-пулом, используя технологию Flashbots или что-то подобное
  3. MEV Bot платил майнерам за то, чтобы они включали своп-транзакцию и две транзакции в определенном порядке, что позволяло trac ценность.
  4. MEV Bot добавил так много ликвидности (22 миллиона долларов) в очень узкий ценовой диапазон, что фактически вся комиссионная прибыль от этой конкретной сделки USDC-DogeChain была начислена ему.
  5. Затем MEV Bot удалил ликвидность и заработал комиссионные (около 35 долларов США).

Таким образом, его валовая прибыль после оплаты газа составила около 30 долларов. Не очень много? Да, но он применяет эту стратегию несколько раз в минуту, и все это суммируется. Вы можете проверить это сами .

Что это означает для вас как поставщика ликвидности? Это означает, что снайперы ликвидности могут значительно сократить вашу комиссионную прибыль.

Заключение

Позвольте мне подвести итоги моего исследования:

  1. Цифры TVL в диаграммах Uniswap v3 крайне неточны. Одни и те же ошибки есть во всех аналитических инструментах, опирающихся на официальный подграф Uniswap v3.
  2. Общий TVL Uniswap v3 составляет 3,14 млрд долларов против 11,8 млрд долларов, о которых сообщает официальный сайт (на момент написания статьи).
  3. Калькуляторы для поставщиков ликвидности Uniswap v3 не имеют большого значения для реальных стратегий, поскольку они не учитывают конкуренцию и снайперов ликвидности.
изображение 218

К счастью, теперь вы можете лучше понять, как пулы ликвидности Uniswap v3 работают в реальной жизни, и соответствующим образом скорректировать свои исследования.

Я не в состоянии давать финансовые советы, но вижу только 2 варианта построения выдающейся стратегии обеспечения ликвидности:

  1. ПРОСТО . Используйте исторические данные о производительности. Попробуйте некоторые позиции ликвидности с небольшими ставками и посмотрите, какие варианты работают лучше. Очевидно, это работает только при условии, что рынок стабилен.
  2. РАСШИРЕННЫЙ . Проведите исследование и соответствующим образом оптимизируйте стратегию LP. Как мы уже говорили выше, для этого требуется глубокое понимание протокола Uniswap v3, знания математики и теории игр, а также мощный инструмент анализа данных для обработки огромных объемов данных в режиме реального времени.

У обоих вариантов есть одна общая черта: вы основываете свои решения на данных, а не на интуиции или случайных инструментах. Иногда работать с данными сложно, но это окупается.

Да пребудут с вами данные!

Поделиться ссылкой:

Иван Вахмянин

Иван Вахмянин — специалист по аналитике и визуализации данных (BI, Big Data, Data Science) с многолетним опытом. Он также является адептом блокчейна и Web 3.0, предоставляя данные по цепочке с ведущих платформ блокчейна ( Ethereum , BNB Smart Chain, Solana и т. д.) для анализа. Иван увлечен обменом опытом, разрабатывая образовательные программы и программы в области Data-driven Management для специалистов и руководителей.

Самые читаемые

Загрузка самых читаемых статей...

Будьте в курсе новостей криптовалюты, получайте ежедневные обновления на свой почтовый ящик.

Связанные новости

Илон Маск продолжает разрушать наследие Твиттера и теперь хочет, чтобы вы заплатили, прежде чем твитнуть
Криптополит
Подпишитесь на КриптоПолитан