Метод ранжирования пулов криптовалют на примере платформы Curve Finance

Автор: Караваев П.С., Курочкин П.С., Мастинен Н.В.

Журнал: Экономика и бизнес: теория и практика @economyandbusiness

Статья в выпуске: 3-1 (109), 2024 года.

Бесплатный доступ

В статье представлен метод приоритизации пулов криптовалют на примере платформы Curve Finance. Он может быть применён как для определения привлекательности пулов для пользователей, так и для определения важности пулов для платформы: для распределения пользователями весовых голосов между пулами и для распределения платформой дополнительных награждений между пользователями системы обмена криптовалютами. Также разобраны некоторые математические аспекты работы пулов криптовалют в Curve Finance.

Криптовалюты, модель приоритизации, пул криптовалют

Короткий адрес: https://sciup.org/170203015

IDR: 170203015   |   DOI: 10.24412/2411-0450-2024-3-1-140-147

Текст научной статьи Метод ранжирования пулов криптовалют на примере платформы Curve Finance

В последнее десятилетие криптовалюты набирают популярность. Многочисленные пользователи криптовалютных платформ и систем заинтересованы в обмене различных токенов. Один из инструментов обмена - пулы криптовалют.

Пулы представляют собой интерфейс для обмена токенов. Они являются аб- страктной сущностью с некоторой ликвидностью, в которой существуют запасы нескольких типов токенов. На протоколе Uniswap V2 реализован один из основных видов пулов. В случае для двух токенов пользователи могут обменивать некоторое количество одного токена на другой, поддерживая инвариант запасов пула [1]:

% ■ у = const

(здесь %, у - запасы первого и второго токенов соответственно). Также существует вариант пула, который поддерживает константной сумму количеств токенов. Такие пулы подходят для обмена стейбл- коинов с константными ценами (например USDT, USDC, DUSD) и описываются следующей формулой в случае двух токенов в пуле:

% + у = const

Платформа Curve Finance предприняла попытку модификации формулы, на которой основывается обмен в пулах [1]. Их формула для вида пулов Stableswap является комбинацией формул (1) и (2):

  • 1)    Сначала определяется параметр D -условный (константный) запас всех токе-

  • Z! D

нов в пуле, определяемый суммой количеств всех токенов пула в случае равных цен.

Формула (1) переписывается в следующем виде:

Формула (2) переписывается в следующем виде:

П=(У) п                     (4)

(здесь х i - количества токенов в пуле).

  • 2)    Далее инвариант пула определяется линейной комбинацией формул (3) и (4):

  • £-^-1-^ + П*; =£'°n + Q               (5)

(здесь р - константа).

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

о _ Д -п^

р = у^                         (6)

(здесь Д - константа).

  • 3)    Соответственно, итоговая формула — формула (5) с учётом модификации (6) – выглядит так:

    Д - п п


    -2


    ^


    + D = Д - D - пп +


    у П + 1 пп - п Xt



Характерная уникальная кривая связывания, применяемая платформой Curve Finance, больше похожа на сторону восьмиугольника, чем на изогнутую линию. В случае пула из двух токенов формула (7) проиллюстрирована на рисунке.

Рис. График инварианта количеств токенов в пуле Stableswap [1]

Одной из основных проблем, которые решает платформа Curve Finance с помощью Stableswap, является уменьшение проскальзывания. Теоретически проскальзывание уменьшается в 100 раз в сравнении с Uniswap V2 [1].

Проскальзывание – частое явление на биржах, с которым можно столкнуться при покупке. Часто возникает ситуация, когда по текущей рыночной цене можно приобрести 100 токенов, в то время как следующие 100 могут стоить уже на 5% дороже. Это повышение цены вследствие непреднамеренной покупки валюты у более дорогих продавцов, называется проскальзыванием.

Платформа Curve Finance может похвастаться чрезвычайно низким проскальзыванием благодаря своей уникальной кривой связывания и невероятно большим объёмам криптовалюты, предоставляемым поставщиками ликвидности. Команда Curve утверждает, что на платформе Curve Finance можно совершить сделку на сумму более 5 млн $ США при проскальзывании менее 0,4%.

Постановка задачи

Пользователи платформы Curve Finance могут предоставить ликвидность, вложив криптовалюты в пулы. За это они получают LR-токены 3CRV, количество которых соответствует их доле вклада. Полученные токены 3CRV пользователи могут заморозить на определённое время, получая некоторое количество токенов veCRV. Токены veCRV предоставляют следующие привилегии:

  • 1.    могут быть напрямую обменены на токены CRV;

  • 2.    предоставляют возможность управлять платформой Curve Finance (соответствуют пропорциональному количеству голосов при принятии решений);

  • 3.    пропорционально их количествам распределяются полученные платформой комиссии.

Комиссии взимаются с пользователей, обменивающих криптовалюты в пулах: 50% комиссий распределяется между поставляющими ликвидность пользователями в соответствующем пуле, оставшиеся

50% получает платформа – вторую половину распределяют между обладателями токена veCRV.

Одной из основных задач является построение механизма распределения токенов 3CRV. Пользователям, поставляющим ликвидность в пулы, раздаются токены CRV из эмиссии в объемах, определяемых так называемыми весовыми голосами (gauge weights). Каждый пользователь выбирает, сколько процентов его голоса идет за какие пулы. В свою очередь, платформа может понести убыток, если каждый индивидуальный пользователь проголосует так, чтобы максимизировать свой доход. Для противодействия этому часть эмиссии может быть направлена на «подкупание» (награждение) пользователей – тогда они будут замотивированы голосовать оптимально.

Эти процессы напрямую связаны с ранжирование пулов. На Curve Finance имеется много пулов, агрегирующих в себе ликвидность по разным парам (группам) токенов. Разные пулы имеют разную доходность (которая приносится комиссиями от торгов) и зависимость доходности от размера пула. Поэтому приоритизация пулов для распределения весовых голосов пользователями или распределения награждений платформой является одной из ключевых задач.

Основная часть

В каком случае бирже выгодно, чтобы поставщики ликвидности поддерживали пулы? Утверждается, что это выгодно, когда в пуле используется такой токен, который имеет популярность на блокчейне (в том числе, на других криптовалютных биржах), но недостаточно популярен на Curve Finance. Платформа заинтересована в получении максимально большой доли оборота таких токенов относительно всего рынка на блокчейне. Для этого нужно повышать ликвидность пулов, содержащих эту валюту, чтобы уменьшить проскальзывание, которое отталкивает пользователей, обменивающих токены.

Будем использовать следующие параметры:

  • 1)    x1,x2,x3,. - токены, которые используются на платформе.

  • 2)    P1,P 2 ,P3, — — пулы токенов платформы Curve Finance.

  • 3)    6(x j') - средний дневной оборот токена X j на платформе. Под оборотом подразумевается сумма количеств токена X j по всем транзакциям.

  • 4)    8 (x ^ - средний дневной оборот токена X j на блокчейне.

  • 5)    k(X j ) - коэффициент, характеризующий актуальность токена. Будем считать его равным количеству пользователей блокчейна, которые когда-либо делали транзакции с этим токеном за последний месяц.

  • 6)    RT(.X t ) - риски, связанные с использованием токена X j - положительная величина, которая, может быть обратно пропорциональная количеству аудитов безопасности, которые были проведены с данным токеном. Для упрощённой модели будем считать риски одинаковыми.

  • 7)    R p (P j) - риски, связанные с использованием пула P j - положительная величина, обратно пропорциональная корню из стоимости всех токенов пула (например,

переведённых в доллары посредством USDT).

  • 8)    r^XpP j ) = RT(Xj) • RP(Pj) - совокупный риск использования пула P j и его токена X j . В рамках упрощения рассматриваемой модели можно считать, что r(X j ,P j ) = R p (P f ) .

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

Мотивация введения параметра k(X j ) заключается в том, чтобы не допускать невыгодных для платформы ситуаций, когда пользователи блокчейна создают пул ликвидности на Curve Finance, а затем производят множество искусственных транзакций, что нерационально повышает ранг этого пула. Также отметим, что может быть выбран практически любой промежуток времени вместо месяца.

Обозначим через S(x , ) долю владения (платформой Curve Finance) оборотом токена X j :

S(Xj)

9(Xj)

6(Xj)

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

U(x рл =___УД)___ (9)

Теперь пусть пул P j состоит из токенов X 1 2 , ... ,х . Определим его ранг следующим образом:

W(P j ) = minj = 1 .

, д (u(X j , P j) + С • ^/(x^V) •...•U(Xn,P j) )

Использование первого слагаемого – минимального токена в пуле – объясняется тем, что наиболее существенное влияние на пул в целом оказывает наиболее непривлекательный токен, который обычно яв- ляется нестабильным или ненадёжным. Например, пул, состоящий из трёх токенов Tokemak, ETH и USDT, является нестабильным и связан с большим риском именно из-за токена Tokemak со сравни- тельно маленькой капитализацией. В свою очередь пулы без Tokemak – состоящие из двух токенов ETH и USDT – являются надёжными и потому пользуются большой популярностью.

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

Таким образом, ранг пула демонстрирует, насколько он перспективен для платформы (Curve Finance). Чем больше значение ранга пула W, тем более вероятно, что платформе будет выгоднее, чтобы провайдеры ликвидности вкладывались именно в этот пул. Одновременно с этим, чем больше ранг, тем более он стабилен или надёжен, то есть будет более популярен среди пользователей, обменивающих токены.

Применение формулы

Применим предложенную систему ранжирования к существующим на платформе Curve Finance пулам (все данные собраны 23 ноября 2023 года). Основные параметры выбранных 10 пулов представлены в таблицах №1 и №2. Данные были взяты непосредственно с платформы Curve Finance.

Информация об используемых в этих пулах токенах представлена в таблицах №3, №4 и №5. Данные об оборотах собраны с помощью сервиса CoinMarketCap [2], данные о количестве пользователей блок-чейна собраны с помощью сервиса Glassnode [3]. Сбор данных проходил единовременно со сбором данных о пулах (23 ноября 2023).

Формульные параметры параметры представлены в таблицах №6, №7, №8 и №9. Для упрощения записи среднего геометрического был введён параметр G, равный второму слагаемому в формуле (10):

G = nJu(x1,P j ) ....■ U(xn,Pj)

Риски, связанные с использованием пула, подсчитывались по следующей формуле:

rpW) =

^(ликвидность)

Для подсчёта итогового веса был выбран параметр С = 0,1. Округление производилось до целых или до трёх значащих цифр.

Таблица 1. Информация о пулах, часть 1.

Пул

P1

P2

P3

P4

P5

Обмениваемые криптовалюты

DAI USDT USDC

USDC crvUSD

crvUSD ETH CRV

ETH

LDO

ETH toke

Цена первого токена (в $)

0.99

1

0.99

2078

2078

Цена второго токена (в $)

1

0.99

2078

2.59

0.81

Цена третьего токена (в $)

1

-

0.58

-

-

Таблица 2. Информация о пулах, часть 2.

Пул

P6

P7

P8

P9

P10

Обмениваемые криптовалюты

DAI USDT USDC

YFI

ETH

GEAR ETH

FRAX

USDC

ETH MATIC

Цена первого токена (в $)

0.99

8575

0.0077

0.99

2078

Цена второго токена (в $)

1

2078

2078

0.99

0.77

Цена третьего токена (в $)

0.99

-

-

-

-

Таблица 3. Информация о токенах, часть 1

Токен

X1

X2

X3

X4

название

USDT

USDC

DAI

crvUSD

0(x t )

2259810

31349960

17427010

13012869

S^x t )

39334625277

5048898232

5346773679

16387434

0,0000575

0,00621

0,00326

0,794

k(xt)

529286

162611

24700

192

U(xbP j ) •r(xbPJ)

9212839342

26188435

7578197

242

Таблица 4. Информация о токенах, часть 2

Токен

X5

X6

X7

X8

название

ETH

CRV

LDO

toke

0(x t )

15320139

122613

171410

103

5(xt)

11986734408

66900260

109464525

1419552

S(xt)

0,00128

0,00183

0,00157

0,0000728

k(x^

2234463

3017

2601

54

U(x t ,P j ) -r^x t .P j )

1748281430

1646139

1661030

742063

Таблица 5. Информация о токенах, часть 3.

Токен

X9

X10

X11

X12

название

YFI

GEAR

FRAX

MATIC

0(x t )

105058

128418

1492146

66372

S(x t )

86172107

1629243

10171587

398919324

S(xt)

0,00122

0,0788

0,147

0,000166

k(xt)

922

132

383

17057

U(x t ,P j ) •r(x t ,P j )

756255

1675

2611

102518636

Таблица 6. Формульные параметры, часть 1.

U(x t ,P,-)

X1

X2

X3

X4

X5

P1

128747693697

365978444

105903871

-

-

P2

-

156143253

-

1442

-

P3

-

-

-

1165

8423019628

P4

-

-

-

-

1352828711

P5

-

-

-

-

1842574173

P6

41160933039

117004148

33857711

-

-

P7

-

-

-

-

3279211638

P8

-

-

-

-

2317294112

P9

-

301102866

-

-

-

P10

-

-

-

-

3390730876

Таблица 7. Формульные параметры, часть 2.

U^.P,)

X6

X7

X8

X9

X10

X11

X12

P1

-

-

-

-

-

-

-

P2

-

-

-

-

-

-

-

P3

7930911

-

-

-

-

-

-

P4

-

1285313

-

-

-

-

-

P5

-

-

782085

-

-

-

-

P6

-

-

-

-

-

-

-

P7

-

-

-

1418491

-

-

-

P8

-

-

-

-

2220

-

-

P9

-

-

-

-

-

30018

-

P10

-

-

-

-

-

-

198831320

Примечание к таблицам №8 и №9: G = Ju(x 1 ,P j ) -...- U(xn,P j ), где х 1 , х2,...,хп — токены, из которых состоит пул P j .

Обсуждение результатов

Среди проанализированных пулов наибольший ранг имеют P1 и P10. Действительно, P1 является типичным представителем пулов платформы Curve Finance: он имеет одну из наибольших ликвидностей и состоит из стейблкоинов. Пулы такого же типа являются ключевой особенностью платформы: Curve Finance позволяет обменивать стейблкоины, используя собственный эффективный метод определения обменного курса. Важность и приоритетность пула P1 и подобных ему подтверждается в построенной модели ранжирования.

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

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

На второй позиции рекомендуется пул, состоящий из ETH и MATIC – двух токенов, которые являются нативными (основными, то есть используются для комиссий за транзакции) в сетях Ethereum и Polygon. С одной стороны, Polygon – популярная и проверенная сеть, обладающая низкими

Таблица 8. Формульные параметры, часть 3.

Параметры

P1

P2

P3

P4

P5

Ликвидность (в $)

195295358

35548997

23212020

598774

1110778

Rp(pj)

0,0716

0,168

0,208

1,292

0,949

min U(x t ,Pj)

105903871

1442

1165

1285313

782085

G

1708843404

474447

4269354

41699028

37961169

W(p j )

276788211

48886

428100

5455216

4578202

Таблица 9. Формульные параметры, часть 4.

Параметры P6 P7 P8 P9 P10 Ликвидность (в $) 19961052 3518165 1756870 132193678 3761525 Rp(pj) 0,224 0,533 0,754 0,0870 0,516 min U(xt,Pj) 33857711 33857711 2220 30018 198831320 G 546321157 68202144 2267997 3006410 821086777 W(pj) 88489826 40677925 229019 330659 280939998 комиссиями, но, с другой стороны, ликвидность MATIC на Curve мала, то есть этот качественный популярный в блокчей-не токен не популярен на Curve, что и обнаруживает наша модель. На Curve Finance нужно продвинуть токен MATIC, то есть больше наград будут получать поставщикам, а также будут привлекаться нове пользователи, обменивающих MATIC.

Далее идут P7, P4 P5 – парные пулы, частично состоящие из токенов относительно новых проектов, но уже успевших набрать популярность. Затем – P3, P9, P8, P2 – пулы, содержащие менее популярные токены. В частности, на момент написания статьи относительно новый токен crvUSD еще не набрал популярность вне Curve, поэтому пулы с ним модель оценивает довольно низко. Одно из возможных дальнейших улучшений модели заключается в учитывании собственных токенов плат-

формы Curve (crvUSD, CRV и другие), в популярности которых биржа имеет отдельный интерес, что подразумевает продвижение (завышение рангов) соответствующих пулов, содержащих такие токены.

Заключение

Таким образом, была представлена модель ранжирования пулов с одним варьируемым параметром. Задача, схожая с рассмотренной в статье, была предложена в рамках кейс-чемпионата Phystech Business Solutions (2022 г.). Решение, аналогичное описанному в статье, было представлено на кейс-чемпионате командой авторов (в том же составе) и было награждено призовым местом. Соответствующие идеи и формулы взяты за основу при написании этой статьи.

Статья научная