November 5, 2021

Циклический арбитраж на децентрализованных биржевых рынках

Первая версия перевода статьи https://arxiv.org/pdf/2105.02784.pdf от телеграмм канала https://t.me/gaserdblog

Децентрализованные биржи (DEX), такие как UniSwap, позволяют пользователям создавать торговые пулы между любой парой криптовалют.

Курс обмена каждого торгового пула является независимым, что открывает арбитражные возможности при торговле разными криптовалютами: Трейдеры могут торговать криптовалютами циклически: Трейдер может обменять валюту 𝐴 на 𝐵, затем 𝐵 на 𝐶, и наконец 𝐶 на 𝐴 снова через три различных торговых пула. Почти наверняка три плавающих обменных курса не являются идеально синхронизированными, что открывает арбитражные возможности для циклической торговли.

В данной работе мы изучаем циклический арбитраж на DEX с помощью данных на уровне транзакций на сайте Uniswap. Uniswap, измеряя 285 127 циклических арбитражей за девять месяцев. Мы проводим теоретический анализ и эмпирическую оценку для систематического понимания циклических арбитражей. Мы изучаем размер рынка (доход и затраты) циклических арбитражей, влияние циклических арбитражей и реализацию циклических арбитражей.

Помимо понимания циклических арбитражей, в данной работе предлагается, что с технологией смарт-контрактов и репликации машин состояний в Ethereum, арбитражные стратегии легче реализовать на DEXes, чем на централизованных биржах (CEX). Мы обнаружили, что использование частных смарт-контрактов для реализации циклического арбитража более устойчивы к атакам с опережением, чем применение циклического арбитража через публичные (с открытым исходным кодом) смарт-контракты.

ВВЕДЕНИЕ

Мы являемся современными свидетелями того, что может стать серьезным сбоем в работе рынков и торговли. Это все началось с того, что некоторые пользователи Reddit предположили, что короткие продажи акций GameStop достигли неестественно высоких значений. В конце января 2021 года различные популярные биржевые брокеры приостановили возможность покупки (но не продажи) акций GameStop. Национальные регуляторы ценных бумаг Соединенных Штатов даже рассматривали возможность изъятия акций GameStop с рынка. Началось бурное обсуждение теорий заговора и многие люди начали задаваться вопросом, не подстроена ли вся финансовая система.

Несмотря на то, что Нью-Йоркская фондовая биржа считается свободным рынком, где цена акций регулируется самими участниками торгов, централизованные торговые платформы (в данной работе мы называем их CEX - Centralized Exchange), очевидно, могут манипулировать торговой деятельностью на рынке. В таких условиях инвесторы не могут защитить свои права, поскольку их активы находятся под контролем операторов CEX.

Чтобы устранить доминирование бирж CEX и обеспечить свободные транзакции между трейдерами, в криптовалютных экосистемах появились децентрализованные биржи (DEX) на основе блокчейна. DEX обеспечивают децентрализованную торговлю без ограничений. Трейдеры продают и покупают активы на DEX, взаимодействуя со смарт-контрактами DEX посредством транзакций на цепочке, записываемых в блоки, при этом не имея централизованных органов власти на протяжении всего процесса. Учитывая недавнее развитие CEX, DEX могут стать будущим.

Uniswap является наиболее ярким примером DEX криптовалют. В первый год своего существования Uniswap привлекла объем торгов более 1 миллиарда долларов США в день. Многие CEX по-прежнему имеют гораздо больший обьем, но DEX догоняют их. Uniswap - это DEX с автоматическим маркет-мейкером (AMM), который использует алгоритмические механизмы для создания рынка, т.е. позволяет осуществлять покупку и продажу криптовалют (токенов) и автоматически устанавливает цены для каждой сделки. В AMM DEXes курс обмена между криптовалютами каждой сделки определяется заранее заданными алгоритмами и запасами рыночной ликвидности. Вся информация является общедоступной для всех благодаря прозрачной природе блокчейн. Поэтому арбитражеры могут заранее определить цену каждой предстоящей сделки заранее и использовать разницу в цене в своих интересах на разных рынках.

В данной работе мы исследуем новое арбитражное поведение в криптовалютных экосистемах - циклический арбитраж. Отметим, что циклический арбитраж был невозможен в первоначальной версии Uniswap. Начиная с версии 2, пользователи могут создавать торговые пулы между любыми парами токенов. Каждый пул затем позволяет автоматически торговать между парой токенов. Предположим, что у нас есть три валюты 𝐴, 𝐵, 𝐶, и три пула ликвидности между любыми двумя токенами: 𝐴 ⇌ 𝐵, 𝐵 ⇌ 𝐶 и 𝐶 ⇌ 𝐴. Каждый из этих пулов имеет обменный курс, который меняется со временем в зависимости от зарезервированной ликвидности и последних сделок в этом пуле. Учитывая эти три пула, арбитражеры теперь могут торговать валютами циклически: Трейдер может обменять валюту 𝐴 на 𝐵 в 𝐴 ⇌ 𝐵, затем 𝐵 на 𝐶 в 𝐵 ⇌ 𝐶, и, наконец, 𝐶 на 𝐴. в 𝐶 ⇌ 𝐴 снова, чтобы извлечь выгоду для себя из отклонений обменных курсов (частный случай с тремя жетонами называется треугольным арбитражем). Комбинация этих трех обменов (свопов) токенов представляет собой циклический арбитраж (транзакцию). На рисунке 1 показан пример циклического арбитража проведенного 30 октября 2020 года. Арбитражер продал 285,71 USDC в Uniswap через четыре различных пула ликвидности через USD Coin, Tether USD, Seal Finance, Keep3rV1, и в итоге получил 303,68 USDC. Доход от этого циклического арбитража составил 17,97 USDC (18 USD).

Рисунок 1

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

Благодаря прозрачности DEXов, Uniswap - это первая реальная возможность изучить циклическую торговлю количественно. Насколько нам известно, это первая работа, изучающая поведение трейдеров на основе данных на уровне транзакций для понимания циклического арбитража, и первая работа, изучающая циклический арбитраж. данных на уровне транзакций для понимания циклических арбитражей и первая работа, изучающая циклические арбитражи на DEX. Мы проводим исследование смешанным методом, включающее теоретический анализ и эмпирическую оценку. Мы анализируем, когда циклический арбитраж является прибыльным в AMM DEXes, каков оптимальный объем торговли циклического арбитража, как циклический арбитраж изменяет рыночные цены, и как циклические арбитражеры влияют на других участников. Мы также оцениваем размер рынка (доходы и расходы) циклических арбитражей и их реализации. Мы считаем, что наши выводы могут отчасти способствовать пониманию циклической торговли и на CEX.

Мы измерили транзакции, произошедшие в Uniswap с 4 мая 2020 года по 23 января 2021 года. Более значительные отклонения в курсах обмена между криптовалютами в Uniswap между различными торговыми пулами указывают на множество потенциальных арбитражных возможностей для циклических сделок. Если произведение обменных курсов (арбитражный индекс) вдоль торгового цикла больше, чем продукты комиссий за транзакции, то арбитражеры могут получить положительный доход от циклических сделок. Мы классифицируем 21 830 282 сделки в Uniswap по 29 235 торговым пулам и наблюдаем 285 217 циклических сделок в течение девяти месяцев. С мая 2020 года по январь 2021 года общий доход от циклического арбитража превышает 31 727,11 ETH, в то время как ежедневная сумма арбитражного дохода часто превышает 200 ETH.

Стоимость реализации арбитражных стратегий является еще одним фундаментальным фактором для понимания циклических арбитражей. Как и другие внутрицепочечные транзакции в Ethereum, майнеры запрашивают плату за выполнение циклических транзакций. Кроме того, арбитражникам также приходится платить комиссию за транзакцию поставщикам ликвидности, которые резервируют криптовалюты в торговых пулах. Кроме того, существует риск того, что циклическая сделка не была прибыльной в момент исполнения. Это может произойти, если обменные курсы изменились между подачей заявки на сделку и ее исполнением, например, если другая (циклическая) сделка арбитражера была заключена раньше. В этом случае трейдеры могут отменить сделку, чтобы избежать необходимых потерь от выполнения таких невыгодных циклических сделок, в то время как майнеры по-прежнему будут требовать плату за неудачное исполнение.

Мы измеряем доход, затраты, процент успеха и чистую прибыль для всех циклических операций. Более 93% успешных транзакций имеют положительную прибыль. Общая стоимость выполнения циклических составляет 9 520,23 ETH, что составляет лишь 30% от дохода от циклических транзакций. Мы также обнаружили значительное различие в показателях успешности двух различных реализаций циклических транзакций, т.е. развертывание частных смарт-контрактов и прямое обращение к функциям, предоставляемым публичной платформой (с открытым исходным кодом) смарт-контрактов Uniswap, что дает 62% и 28,4% соответственно. Поскольку трудно злоумышленникам трудно распознать торговое поведение частных смарт-контрактов, циклические транзакции в этой реализации более устойчивы к атакам с опережением, в то время как другие которые напрямую вызывают публичный смарт-контракт Uniswap из EOA, могут быть легко перехвачены.

Частое проведение циклических арбитражей также влияет на рыночные цены и на других участников рынка. Циклические арбитражи уравновешивают обменные курсы по всему рынку, повышая общую эффективность рынка, что хорошо для трейдеров (которые торгуют на справедливом рынке). Как следствие, циклические арбитражи также хороши для поставщиков ликвидности, так как эти арбитражи также увеличивают объем торговли и, следовательно, их доход от комиссионных.

Данная статья вносит следующий вклад в изучение циклического арбитража на DEXes. Во-первых, мы даем представление о торговом поведении циклических арбитражеров на развивающемся рынке DEX, изучая новый источник данных об уровне транзакций на криптовалютных рынках. Мы расширяем сферу исследования с потенциальных арбитражных возможностей до реальных арбитражных реализаций. Во-вторых, мы предлагаем модель циклического арбитража на DEXах AMM и анализируем существование, оптимальный объем торгов, и влияние циклического арбитража на рынок. В-третьих, мы проводим измерение современных показателей извлечения стоимости и извлекаемой стоимости майнера (MEV) (циклических) арбитражей в DEXes. В-четвертых, мы анализируем устойчивость различных реализаций торговых стратегий к атакам с опережением, что вдохновляет на дальнейшие исследования по предотвращению атаки с опережением. Наконец, мы предполагаем, что DEXes могут способствовать новому пониманию торгового поведения на финансовых рынках, поскольку трейдеры могут свободно обмениваться своими активами, не завися от третьей стороны, а технологии блокчейн позволяют трейдерам исследовать больше торговых стратегий.

ИСТОРИЯ

Ethereum

Ethereum - это публичная блокчейн-платформа, которая поддерживает функции смарт-контракта, завершенного по Тьюрингу. По сравнению с более ранними блокчейн-системами, такими как Bitcoin, Ethereum не только позволяет осуществлять децентрализованные одноранговые транзакции, но и реализует "мировой компьютер". Умные контракты - это "программное обеспечение" работающее на этом "компьютере". Ethereum развертывает децентрализованную виртуальную машину, т.е. Ethereum Virtual Machine (EVM), для выполнения кода смарт-контрактов.

В Ethereum существует два вида счетов, а именно: счета, принадлежащие внешнему владельцу (EOA), т.е, которые контролируются пользователями-людьми с соответствующим закрытым ключом, и счета смарт-контрактов (CA), контролируемые исполняемым кодом. Каждый аккаунт имеет фиксированный адрес, который служит идентификатором счета в системе Ethereum. Система хранит состояния счетов для каждого счета. Состояние EOA - это текущий баланс ETH, а состояние CA также содержит значение его переменных. Состояния счетов хранятся в независимой базе данных с ключевыми значениями, т.е. stateDB.

Транзакция Ethereum транслируется пользователем EOA в сеть Ethereum. EOA могут отправлять три типа транзакций: простая транзакция, получателем которой является другой адрес (аккаунт), чтобы перевеси валюту ETH; транзакция создания смарт-контракта, получателем которой является нулевой адрес для создания нового смарт-контракта; транзакция исполнения смарт-контракта, получателем которой является адрес смарт-контракта для выполнения определенной функции этого контракта. Когда транзакция записывается в блоки майнерами, операция, соответствующая сообщению, вступает в силу. Майнер который создает блок, изменяет состояние соответствующих счетов на основе сообщений. Каждый шаг операции майнера потребляет определенное количество газа, и количество потребляемого газа в каждом блоке ограничено. Пользователям необходимо указывать цену газа для выполнения операции при отправке транзакций. Плата, которую инициатор транзакций выплачивает майнерам, определяется количеством потребленного газа и ценой газа (плата за газ = цена газа × потребление газа). Майнер включает в себя квитанцию о выполненных транзакциях в блоки Ethereum, включая информацию о том была ли транзакция выполнена успешно, плату за газ, идентификационные данные транзакции и блока, а также другую информацию, полученную в ходе выполнения.

Смарт-Контракты и ERC-20 токены

Смарт-контракт - это набор программ, написанных на языках высокого уровня, например, Solidity. Создатели компилируют их в исполняемый байт-код и отправляют их в рамках транзакции на нулевой адрес, объявляя о создании смарт-контракта, при этом исходный код не публикуется. Адрес контракта будет определяться адресом отправителя и nonce транзакции. После того как контракт опубликован, все адреса могут отправлять транзакции новому смарт-контракту для вызова функций. Когда смарт-контракт исполняется на Ethereum, он может генерировать события в квитанции транзакции, чтобы объявить статус выполнения. Эти события будут включены в блоки Эфириума. Основываясь на поддержке смарт-контракта, пользователи могут создавать криптовалюту, отличную от ETH на Ethereum. Эти смарт-контракты должны следовать некоторым стандартам, и наиболее широко используемым из них является стандарт ERC20, который требует наличия функции approve и функции transferFrom. Когда адрес (счет) 𝑎𝑑𝑑𝑟𝑎 вызывает функцию approve(𝑎𝑑𝑑𝑟𝑏, 𝑣), то адрес 𝑎𝑑𝑑𝑟𝑏 может передать не более 𝑣 токенов в общей сложности с 𝑎𝑑𝑑𝑟𝑎 на другие счета. После этого разрешения 𝑎𝑑𝑑𝑟𝑏 может перевести 𝑣′токены с 𝑎𝑑𝑑𝑟𝑎 на другой счет 𝑎𝑑𝑑𝑟𝑐, вызвав функцию transferFrom(𝑎𝑑𝑑𝑟𝑎, 𝑎𝑑𝑑𝑟𝑐,𝑣′), где Í𝑣′ ≤ 𝑣.

AMM DEXes

DEXes - это смарт-контракты на Ethereum. Пользователи отправляют сообщения на адреса DEXes, чтобы вызвать функции для выполнения рыночных операций. AMM DEXes поддерживают три вида операций относительно пары токенов, т.е. создание торгового пула (ликвидности) между парой, добавление/удаление ликвидности и обмен токенами. Мы рассматриваем Uniswap в качестве примера для представления этих операций.

Создание пулов ликвидности. В AMM DEXes обмен между двумя токенами осуществляется через пул ликвидности, т.е. смарт-контракт, который хранит пару токенов. Есть два участника на рынке: поставщик ликвидности и трейдер. Поставщики резервируют свои токены в пуле ликвидности, а трейдеры обменивают свои токены с пулом ликвидности. Поскольку поставщики вносят свой вклад в ликвидность рынка, они получают выгоду от комиссий за транзакции, понесенных при совершении сделок на DEXes.

Предположим, у нас есть два токена 𝐴 и 𝐵, и мы хотим создать пул ликвидности между 𝐴 и 𝐵 на Uniswap. Сначала мы отправляем транзакцию исполнения смарт-контракта с адресом смарт-контракта ERC20 с адресами 𝐴 и 𝐵 на Uniswap, чтобы заявить о создании пула ликвидности 𝐴 ⇌ 𝐵. Интеллектуальный контракт затем проверит, существует ли пул между 𝐴 и 𝐵 в соответствии с адресами двух токенов. Если нет, смарт-контракт Uniswap создаст новый пул ликвидности 𝐴 ⇌ 𝐵, т.е. новый смарт-контракт, резервирующий эти два токена.

Добавление/удаление ликвидности. После создания пула ликвидности между 𝐴 и 𝐵, поставщики ликвидности могут предоставить пару токенов в пул ликвидности. Поставщики ликвидности должны одобрить адрес Uniswap для передачи своих токенов 𝐴 и 𝐵 со своего адреса на адрес пула ликвидности. Когда контракт Uniswap получает вызов добавления ликвидности от поставщиков ликвидности, он будет вызывать функцию transferFrom в контрактах ERC20 для перевода токенов с адреса поставщика на адрес пула ликвидности.

Если в пуле ликвидности нет зарезервированных токенов, поставщики ликвидности могут внести любое количество 𝐴 и 𝐵 в пул, и пул вернет токены lp в качестве подтверждения депозита. Если суммы 𝐴 и 𝐵, предоставленные провайдерами, составляют 𝑎 и 𝑏, соответственно, то провайдер получит √ 𝑎 × 𝑏 lp (ликвид провайдер токены) токены. Между тем, общее предложение lp-токенов составляет 𝑙 = √ 𝑎 × 𝑏.

Если в пуле ликвидности уже есть 𝑎 токена 𝐴 и 𝑏 токена 𝐵, провайдер может зарезервировать 𝛿𝑎 из своего актива 𝐴 и 𝛿𝑏 своего актива 𝐵 в пуле ликвидности одновременно, где 𝛿𝑎/𝛿𝑏 = 𝑎/𝑏 . Тогда он заработает 𝛿𝑙 = 𝑙 * 𝛿𝑎/𝑎 токены lp из 𝐴 ⇌ 𝐵 и общее предложение токенов lp становится 𝑙 + 𝛿𝑙 .

Поставщики также могут удалить свои токены из пула ликвидности. Количество токенов, которые провайдеры могут выкупить, связано с количеством токенов lp, которыми они владеют. Предположим, что у провайдера есть 𝛿𝑙 токенов lp из пула ликвидности 𝐴 ⇌ 𝐵, а общее предложение lp-токенов составляет 𝑙. Провайдер может вывести 𝛿𝑎 из 𝐴 и 𝛿𝑏 из 𝐵 из 𝐴 ⇌ 𝐵 пула с 𝛿′𝑙 ≤ 𝛿𝑙 lp-токен, где 𝛿𝑎/𝑎 = 𝛿𝑏/𝑏 =𝛿′𝑙/𝑙 𝛿′𝑙 lp-токен будет сожжен (уничтожен) после того, как он выкупит деньги, и общее предложение lp-токенов станет 𝑙 - 𝛿 ′ 𝑙 .

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

Предположим, что трейдер хочет обменять 𝛿𝑎 токенов 𝐴 на токены 𝐵, а ликвидность 𝐴 и 𝐵 составляет 𝑎 и 𝑏. Сначала он должен сообщить адрес Uniswap, чтобы получить разрешение на перевод своего токена 𝐴 на другие счета. После получения приказа на обмен от трейдера, контракт Uniswap затем переводит 𝛿𝑎 из 𝐴 на адрес пула ликвидности и возвращает 𝛿𝑏 из 𝐵 обратно трейдеру.

Во время обмена всегда выполняется следующее уравнение: 𝑎 * 𝑏 = (𝑎 + 𝛿𝑎 * 𝑟1) * (𝑏 - 𝛿𝑏/𝑟2 ), где 𝑟1 и 𝑟2 обозначают коэффициент комиссии за сделку в активах 𝐴 и 𝐵 соответственно. В Uniswap 𝑟1 = 0,997 и 𝑟2 = 1, что указывает на то, что комиссия за транзакцию равна 3‰-𝛿𝑎. Оставшаяся ликвидность в пуле равна (𝑎 + 𝛿𝑎, 𝑏 * 𝑟1 *𝑟2 *𝑏 -𝛿𝑎/𝑎+𝑟1 *𝛿𝑎 ) и количество токена lp не меняется.

Атомарные транзакции

В Ethereum трейдерам разрешено заключать атомарные сделки. Они могут заключать смарт-контракты, которые содержат несколько бирж через различные торговые пулы в рамках одной транзакции. Эти обмены будут выполняться атомарно, то есть между ними не может произойти никакой другой транзакции. Поскольку Ethereum представляет собой реплицированную машину состояний, состояние системы изменяется только в том случае, если вся транзакция выполнена успешно. Если транзакция не удалась, потому что не может быть выполнено определенное условие (например, недостаточно платы за газ и предпосылок для состояния рынка), вся транзакция не будет выполнена, и состояние всех счетов вернется к исходному состоянию до транзакции. В Uniswap публичный смарт-контракт DEXes поддерживает атомарное выполнение нескольких обменов между активами. При этом арбитражеры выполняют циклические операции атомарно с помощью своих частных смарт-контрактов, чтобы избежать ненужных торговых потерь, таких как отрицательный доход от циклических сделок.

Арбитраж на криптовалютных рынка

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

В некоторых исследованиях отмечается изменение цен криптовалют на биржевых площадках криптовалюты. Макаров и Шоар использовали данные на уровне транзакций, чтобы понять торговые стратегии торговли на криптовалютных биржах. Они проанализировали ценовые отклонения и потенциальные арбитражные Биткоин, Ethereum и Ripple на 34 биржах в 19 странах. Они отметили значительную сегментацию рынка между различными странами и предположили, что контроль за движением капитала являются основными причинами сегментации рынка. Нан и Каизоджи сосредоточились на потенциальном треугольном арбитраже с биткойном, евро и долларом США и смоделировали его с помощью двумерной GARCH-модели. Тем не менее, их анализ ограничивается потенциальными арбитражными возможностями, в то время как они не обнаружили реального поведения арбитража на различных рынках. Между тем, стратегия арбитража которую они изучали, имеет много ограничений для реализации на реальных рынках, таких как трансграничный контроль за движением капитала и мгновенный перевод биткоинов между различными биржами.

Недавно DEX привлекли внимание всего мира как новая альтернатива CEX для обмена криптовалют. Даян и другие проанализировали фундаментальные недостатки DEXes: медленная (on-chain) торговля. Поскольку транзакции транслируются в сети Ethereum, противники могут наблюдать за прибыльными транзакциями до их исполнения и размещать свои собственные ордера с с более высокой комиссией, чтобы опередить целевую жертву. Опережающие злоумышленники создают угрозу для рынка и стабильности системы. Арбитражники агрессивно оптимизируют сетевую задержку и проводят приоритетные газовые аукционы, чтобы опередить выгодные сделки, что приводит к чрезмерным комиссиям за транзакции, влияющим на обычных пользователей блокчейна. Более того, из-за высокой стоимости, извлекаемой майнерами, возникают платные атаки форкинга и атаки с временным бандитом, которые приводят к системной уязвимости уровня консенсуса. Чжоу и другие и Торрес (Torres) изучали атаки типа "сэндвич", т.е. комбинации переднего и заднего хода, в DEXах. Наблюдая за транзакцией жертвы, злоумышленники размещают один ордер непосредственно перед ней (front-run) и размещают ордер непосредственно после нее (back-run), чтобы извлечь выгоду для себя за счет дисперсии обменных курсов. Цинь и другие рассмотрели, как злоумышленники манипулируют ценовым оракулом DEXes. Эти злоумышленники используют лазейки в рыночном механизме DEXes, чтобы злоумышленники извлекали выгоду и наживались сами, нанося ущерб целевой жертве. Цинь и другие количественно оценили доходы от арбитража в DEXes. Однако их измерения ограничены очень немногими криптовалютами, и им не хватает систематического анализа.

По сравнению с предыдущими исследованиями, наша работа заполняет следующие три исследовательских пробела. Во-первых, мы проводим системное исследование циклических арбитражей путем теоретического моделирования AMM DEXes и анализа данных DEXes на уровне транзакций эмпирическим путем. Мы не только понимаем механизм циклического арбитража на DEXes и влияние циклического арбитража на рынок, но и количественно оцениваем стоимость арбитража для циклических сделок. Между тем, мы рассматриваем, как циклические арбитражеры уравновешивают доход и стоимость циклических сделок в реальных DEX. Во-вторых, мы представляем более обобщенную стратегию арбитража на DEXes. Кроме атак с опережением и сэндвич-атак, где требуется отслеживать все неисполненные транзакции, транслируемые в сети Ethereum, циклическим арбитражам нужна только информация, опубликованная в блоках Ethereum. Трейдеры могут легко играть в циклический арбитраж на DEXes, что благоприятно сказывается как на эффективности, так и на стабильности рынка. В-третьих, мы рассмотрим, как различные реализации арбитражных стратегий влияют на процент успеха арбитражных сделок. Поскольку на DEXes существует множество арбитражеров, осуществляющих прибыльные сделки на опережение, не каждый циклический арбитраж может быть выполнен успешно. Мы обнаружили, что развертывание частных смарт-контрактов более устойчивы к атакам на опережение, чем использование функций смарт-контрактов DEXes с открытым исходным кодом.

СБОР ДАННЫХ

Основными данными для этого проекта являются транзакции на крупнейшем DEX (Uniswap). Каждая успешная транзакция в Uniswap записывается на блоках Ethereum. Чтобы собрать рыночные данные Uniswap, мы модифицируем и запустим go-ethereum, клиент Ethereum, на нашем сервере для сбора данных о транзакциях Uniswap. транзакций.

Оригинальный клиент поддерживает только экспорт данных всего блока в локальное хранилище. Чтобы оптимизировать время выполнения анализа транзакций, мы добавляем в клиент новую функцию для фильтрации транзакций взаимодействующих только с контрактами Uniswap. Мы наблюдаем, что каждая транзакция Uniswap испускает событие Sync событие. Поэтому наша новая функция экспортирует в локальное хранилище только транзакции с событием Sync. Мы собираем транзакции, содержащие события Sync, из блока 10000835 (где была развернута Uniswap версии 2, 4 мая 2020 года) до блока 11709847 (23 января 2021 года).

Контракт UniswapV2Factory хранит адреса пулов ликвидности. Мы запрашиваем этот контракт, чтобы получить 29 235 доступных торговых пулов до 23 января 2021 года и фильтруем транзакции на основе адресов, с которыми они взаимодействуют. с которыми они взаимодействуют. В итоге мы находим 21 830 282 транзакции на Uniswap для нашего исследования.

Для каждого успешного обмена между двумя токенами событие Swap генерируется торговым контрактом торговой пары и включается в квитанцию о транзакции. Событие Swap включает шесть параметров: sender, который является инициатором обмена; to, который является получателем выходных токенов; amount0In, amount1In, amount0Out, amount1Out, которые обозначают количество потраченного токена0 потраченный инициатором, количество токенов1, потраченное инициатором, количество токенов0, полученное и количество токенов1, полученных получателем, соответственно. Если трейдер обменивает 𝑥 токена0 на 𝑦 токена1, то (amount0In, amount1In, amount0Out, amount1Out) =(𝑥, 0, 0, 𝑦). С помощью информации, включенной в событие свопа, мы можем определить направление и сумму обмена. Если в одном поступлении сделки участвуют несколько событий своп, то торговый путь этих событий может образовать цикл, а сумма выходного токена в предыдущего свопа точно равна сумме входного токена следующего свопа, то мы идентифицируем успешную циклическую транзакцию. В итоге мы собрали 285 127 циклических транзакций за девять месяцев и вносим свой вклад в набор данных для изучения арбитража на DEXes.

Для вычисления успешного коэффициента циклического арбитража нам также необходима информация о неудачных циклических сделках. Событие Swap записывается в квитанцию о транзакции только в том случае, если обмен был выполнен успешно. Мы не можем определить, является ли неудачная транзакция целью циклического арбитража, если смарт-контракт является частным. Поэтому мы считаем все неудачные транзакции, инициированные арбитражерами, которые совершали циклические сделки. Для осуществления циклического арбитража арбитражники вызывают функции смарт-контракта с закодированной подписью, которая записывается в информацию о транзакции. Мы собираем подписи всех неудачных транзакций, взаимодействующих с циклическими арбитражными смарт-контрактами, и сравниваем их с подписями в успешных арбитражах. Если подпись неудачной транзакции совпадает с подписью успешной, мы рассматриваем неудачную транзакцию как потенциальную неудачную циклическую транзакцию. Для тех неудачных транзакций, которые взаимодействуют с публичными (с открытым исходным кодом) смарт-контрактами (такими как Uniswap Router contract), мы можем напрямую определить, являются ли неудачные транзакции целью циклического арбитража.

ЦИКЛИЧЕСКИЙ АРБИТРАЖ

Неравновесность обменного курса

В Uniswap пользователи могут создавать торговые пулы для любой пары токенов, а обменный курс между этими двумя токенами зависит только от ликвидности, зарезервированной в смарт-контракте, и количества торговых токенов. Предположим, у нас есть три токена 𝐴, 𝐵, 𝐶 и три пула ликвидности между ними. Если мы хотим обменять 𝐴 на 𝐶 на рынках Uniswap, мы можем либо торговать 𝐴 ⇌ 𝐶 напрямую, либо обменять токен 𝐴 на 𝐵 в 𝐴 ⇌ 𝐵, затем 𝐵 на 𝐶 в 𝐵 ⇌ 𝐶 для завершения сделки. Курсы обмена между 𝐴 и 𝐶 через эти два торговых пути не одинаковы. Обозначим 𝑎1 и 𝑏1 как ликвидность 𝐴 и 𝐵 в 𝐴 ⇌ 𝐵, 𝑏2 и 𝑐2 как ликвидность 𝐵 и 𝐶 в 𝐵 ⇌ 𝐶, а 𝑐3 и 𝑎3 как ликвидность 𝐶 и 𝐴 в 𝐴 ⇌ 𝐶. Если мы напрямую обмениваем 𝛿𝑎 токена 𝐴 через пул 𝐴 ⇌ 𝐶, то получаем 𝛿𝑐 токена 𝐶, где 𝛿𝑐 = 𝑟1 *𝑟2 *𝑐3 *𝛿𝑎 / 𝑎3+𝑟1 *𝛿𝑎 . Если взять токен 𝐵 в качестве промежуточного, то сумма выхода 𝐶 равна 𝛿 ′ 𝑐 = 𝑟21 * 𝑟22 * 𝑏1 * 𝑐2 * 𝛿𝑎 / 𝑎1 * 𝑏2+𝑟1 * 𝛿𝑎 * (𝑏2+𝑟1 * 𝑟2 * 𝑏1) . Пример показан на рисунке 2. Мы можем обменять 0,005 ETH на 0,0001466 WBTC через пул 𝐸𝑇𝐻 ⇌ 𝑊𝐵𝑇𝐶 или сначала обменять 0,005 ETH на 0,1694 LINK в пуле 𝐸𝑇𝐻 ⇌ 𝐿𝐼𝑁𝐾, а затем получить 0,0001496 WBTC через пул 𝐿𝐼𝑁𝐾 ⇌ 𝑊𝐵𝑇𝐶. Прямой обменный курс между ETH и WBTC составляет 34,1:1, в то время как если мы используем LINK в качестве посредника, обменный курс составляет 33,4:1, демонстрируя ценовое отклонение между ETH и WBTC в Uniswap

Пример цикличного арбитража

Чтобы лучше понять, насколько часто в Uniswap возникают ценовые отклонения и насколько серьезно разбалансирован рынок, мы формируем индекс арбитража по блокам. Мы берем десять популярных токенов в Uniswap за разные периоды времени и рассчитываем их индекс арбитража в каждом блоке. В данном блоке мы сначала вычисляем коэффциент резервирования (обменный курс) между токеном (токен 𝐴) и ETH (токен 𝐶), зарезервированными в пуле обмена. Затем мы берем другой токен (токен 𝐵) в качестве посредника и вычисляем курс обмена между 𝐴 и ETH через два обменных пула (𝐴 ⇌ 𝐵 и 𝐵 ⇌ 𝐸𝑇𝐻). В качестве арбитражного индекса токена 𝐴 с ETH на блоке мы берем высокую цену, разделенную на низкую цену. Например, на рисунке 2 арбитражный индекс между WBTC и ETH через LINK составляет 976825/28730 2789/947934∗75,7/0,007 = 1,069. Наконец, мы берем самый высокий арбитражный индекс среди этих десяти токенов в качестве арбитражного индекса блока.

Рисунок 3

На рисунке 3 показан арбитражный индекс по блокам в Uniswap. Начиная с блока 10098323 (19 мая), арбитражный индекс появляется потому, что был создан пул между TRB и DAI. Существует 40 465 блоков (3,4%) с арбитражным индексом больше 2, где самый высокий арбитражный индекс составляет 960, появляющийся в блоке 10667283 (15 августа 2020 года) между ETH и XAMP, когда торговая пара только что была создана в Uniswap. При создании торговой пары на Uniswap создатель резервирует некоторое количество токенов в пуле ликвидности в качестве начальной ликвидности, которая может значительно отличаться от других цен. Средний арбитражный индекс составляет 1,328, а в 71,5% блоков существуют арбитражные возможности с индексом более 1,1. Хотя индекс арбитража с этими десятью токенами между ETH уже может указывать на значительные арбитражные возможности в Uniswap с течением времени, индекс арбитража здесь не максимальный. Трейдеры могут получить лучший обменный курс через другой промежуточный токен. Более того, на каждом блоке может быть лучший арбитражный индекс между другими парами токенов в Uniswap.

Возможности арбитража

Несбалансированные обменные курсы на рынке позволяют арбитражерам совершать циклические сделки с выгодой для себя. Циклические сделки используют расхождения в обменных курсах между рынками. Арбитражеры могут представить серию обменов, которые начинаются и заканчиваются одной и той же валютой, т.е. 𝐴 → 𝐵 → 𝐶 → 𝐷 . . . → 𝐴. Выгодна ли циклическая сделка, зависит от курсов обмена между токенами, которые предопределены рыночным механизмом. Предположим, что арбитражер торгует 𝛿𝑎 токена 𝐴 на рынке трех токенов 𝐴, 𝐵 и 𝐶. У него есть две возможные торговые стратегии, а именно обмен 𝛿𝑎 через 𝐴 → 𝐵 → 𝐶 → 𝐴 путь или 𝐴 → 𝐶 → 𝐵 → 𝐴 путь. Обозначим 𝑈𝐴𝐵𝐶𝐴 и 𝑈𝐴𝐶𝐵𝐴 как полезность этих двух стратегий соответственно, где,

Арбитражер может получить выгоду от циклической сделки, если либо 𝑈𝐴𝐵𝐶𝐴 > 0, либо 𝑈𝐴𝐶𝐵𝐴 > 0, что зависит только от количества токенов, хранящихся в пулах ликвидности, и количества токенов, которые трейдеры хотели бы обменять. Когда блок Ethereum публикуется, информация о балансе пулов ликвидности доступна всем трейдерам. Поэтому трейдеры могут быстро определить, есть ли доход для циклических операций, отслеживая публичную информацию. С помощью уравнения 1 арбитражеры могут только узнать, имеет ли циклическая транзакция положительный доход. Тем не менее, неясно, где существуют арбитражные возможности среди 29 235 торговых пулов. Основываясь на количестве токенов, зарезервированных в пулах ликвидности, трейдеры также могут определить, существует ли арбитражная возможность в торговом цикле, и оптимальный объем торговли циклического арбитража.

Лемма 1. Для заданного цикла 𝐴 → 𝐵 1 → . . . → 𝐵 𝑛 → 𝐴 с 𝑛 + 1 токенами, существует арбитражная возможность для циклической сделки, если арбитражный индекс (произведение обменных курсов) 𝑏11 𝑏 2 2 -. ...-𝑏𝑛𝑛 𝑎𝑛+1 /𝑎1 𝑏12 -...-𝑏𝑛**1/𝑛 *𝑏𝑛𝑛+1 > 1𝑛+11 𝑟𝑛+12 . Между тем, арбитраж не может выиграть от обратного направления 𝐴 → 𝐵 𝑛 → . . . → 𝐵 1 → 𝐴 для циклических сделок.

Циклические арбитражи в Uniswap

До 23 января 2021 года мы обнаружили 3 285 EOA, вызывающих 685 частных CA для выполнения 275 127 циклических транзакций, и 136 EOA, вызывающих смарт-контракт Uniswap напрямую для выполнения 10 000 циклических транзакций. Эти циклические транзакции начинаются с 555 уникальных токенов, при этом более 93% из них начинаются с Wrapped ETH (рис. 4), который является токеном ERC20, эквивалентным ETH. Другие популярные стартовые токены - это основные стабильные монеты (стоимость стабильной монеты привязана к 1 доллару США) или токены с высокой ценой. При расчете выручки от циклических транзакций в Uniswap мы учитываем только те, которые начинаются с ETH, потому что большая часть выручки от циклических транзакций приходится на ETH. Кроме того, курс обмена между ETH и другими токенами сильно колеблется, что трудно унифицировать. Арбитражники генерируют 31 727,11 ETH дохода за счет 265 560 циклических транзакций в Uniswap.

На рисунке показано ежедневное количество циклических транзакций в Uniswap, а так же показан размер рынка циклического арбитража, выраженный в ETH. Черная линия показывает ежедневный доход от циклических сделок, а пунктирная оранжевая линия - совокупный доход от циклических сделок. Арбитражеры начали осуществлять циклический арбитраж с 20 мая, через две недели после начала Uniswap (4 мая 2020 года). С 20 мая по 7 августа рынок рос как по количеству транзакций, достигнув одной тысячи, так и по ежедневному доходу, достигнув 100 ETH. Позже рынок вступает в относительно активный период до 27 декабря, когда арбитражеры часто совершают более 1 500 циклических сделок, получая ежедневный доход в размере 100-1000 ETH. В один день (4 октября) на рынке совершается не более 3 872 арбитражных сделок, приносящих 1 195 ETH прибыли (2 сентября). В последнее время рынок становится более устойчивым и последовательным. Ежедневное количество циклических сделок держится на уровне 800, а арбитражеры ежедневно забирают с рынка 50-100 ETH прибыли.

Несмотря на то, что к рынку присоединяется все больше и больше арбитражеров, и с каждым днем арбитражеры получают все больший доход, средний доход от циклических транзакций не слишком меняется. На рисунке представлена зависимость между ежедневным количеством циклических сделок и средним доходом от них. На ранней стадии рынка (с 20 мая по 7 августа) очень немногие арбитражеры активны на рынке. Иногда они могут найти арбитражную возможность с высоким доходом и довести среднедневной доход от одной сделки до 2,2 ETH (28 июня, со 143 циклическими сделками). Позже появляется все больше арбитражных возможностей с небольшим доходом. Средний дневной доход от циклических транзакций (0,124 ETH) может лучше представить, сколько арбитражники могут заработать на каждой транзакции.

Единичные показатели арбитража

На рисунке 8 показана статистика длины цикла циклических транзакций. Некоторые циклические транзакции включают несколько циклов в рамках одной транзакции. Например, транзакция 0x329da4. . . . содержит 15 обменов через 5 циклов длиной 3, начиная с ETH. В общей сложности 287 097 циклов появляются в 285 217 циклических транзакциях.

Более того, мы находим некоторые циклические транзакции с отрицательным доходом: 2 848 транзакций совершаются на циклах длиной 2. Например, транзакция 0x19f2ec. . . содержит два цикла длиной 2. Согласно Лемме 1, эти транзакции не являются прибыльными, потому что индекс арбитража всегда равен 1. Большинство из этих трейдеров не ставят перед собой цель получить положительный доход от циклических сделок, в то время как они посещали некоторые другие децентрализованные финансовые проекты, такие как майнинг торгового объема, для получения прибыли.

Из леммы 1 следует, что чем длиннее цикл, тем более ограниченные требования предъявляются к показателю арбитража для прибыльных циклических сделок. За исключением циклов длиной два, больше циклических арбитражных операций совершается в рамках более коротких циклов. В частности, 87,77% циклов имеют длину 3. На рисунке 9 показан средний доход от циклов с различной длиной больше 2 и продемонстрирована тенденция, что арбитражеры могут получить более высокий доход в более коротких циклах.

Почему арбитражеры предпочитают короткие циклы? Мы рассматриваем три основные причины.

Во-первых, как мы показали в Лемме 1, требуемый индекс арбитража экспоненциально увеличивается с длиной циклов, например, в Uniswap, если мы обмениваем токен 𝐴 через цикл длиной 3, то индекс арбитража должен быть выше 1,0033 для прибыльной циклической сделки. Тем не менее, если длина цикла равна 6, то арбитражный индекс должен быть выше 1,0036, что гораздо сложнее, чем найти арбитражные возможности в циклах с меньшим количеством токенов.

Во-вторых, арбитражеры могут легко извлечь выгоду из торговли на рынках с тремя токенами. Как показано на рисунке 9, в циклах с тремя токенами уже существует множество арбитражных возможностей. Арбитражеры, скорее всего, сначала будут искать арбитражные возможности на рынке с меньшим количеством токенов, который уже может удовлетворить их торговый спрос. Они могут перейти к циклам с большим количеством токенов, если не смогут найти подходящие арбитражные возможности в пределах трех токенов.

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

СТОИМОСТЬ ЦИКЛИЧЕСКИХ АРБИТРАЖНЫХ ОПЕРАЦИЙ

Хотя арбитражеры подают свои запросы на транзакции, как только замечают арбитражные возможности, все равно существует риск, что арбитражеры не получат выгоду от транзакций. Майнеры собирают неисполненные транзакции из сети Ethereum и заказывают их во вновь создаваемом блоке в соответствии с пожеланиями самих майнеров (обычно в соответствии с ценой на газ). Некоторые транзакции, взаимодействующие с одними и теми же пулами ликвидности, могут быть выполнены до циклических транзакций. Когда циклическая транзакция выполняется, курс обмена может отклониться от курса, по которому трейдер представил транзакции, что приводит к отрицательному доходу.

Ethereum позволяет арбитражерам хеджировать такие риски путем внедрения смарт-контрактов. Поскольку Ethereum представляет собой реплицированную машину состояний, состояние системы изменяется, если вся транзакция (включая несколько бирж) выполняется успешно. Арбитражники могут позволить транзакции завершиться неудачей, если она приведет к отрицательному доходу. Хотя это кажется безрисковым для циклических арбитражеров, существуют и издержки. В частности, независимо от того, была ли транзакция успешно выполнена или нет, майнеры Ethereum требуют с арбитражеров плату за выполнение смарт-контракта. Даже если циклическая сделка на момент исполнения уже не была прибыльной, майнеры все равно потребуют плату.

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

Успешные транзакции

На рисунке 10 показано распределение платы за газ успешных циклических транзакций. Обратите внимание, что циклическая транзакция может включать в себя несколько циклов. Однако невозможно выделить плату за газ для каждого цикла, поэтому мы рассматриваем только чистую прибыль от всей транзакции. Более половины транзакций тратят менее 0,02 ETH в качестве платы за газ майнерам, и только 11,8% транзакций тратят более 0,05 ETH на выполнение транзакции. На газовый сбор (7 869,14 ETH) приходится лишь 24,9% от общего дохода (31 727,11 ETH) циклических транзакций. На рисунке 11 сравниваются арбитражный доход и чистая прибыль для циклических арбитражных сделок. Только 6,7% циклических арбитражных сделок приносят отрицательную прибыль. Газовые сборы приводят к тому, что доход от одного циклического арбитража составляет от 0,1-0,3 ETH валового дохода до 0-0,1 ETH чистой прибыли, где большинство циклических арбитражей (68,2%) попадают в этот диапазон.

Стоимость успешной циклической транзакции (gas fee) определяется ценой на газ и количеством газа, используемого майнерами для выполнения контракта (gas fee = цена на газ × расход газа). Чтобы минимизировать плату за газ, арбитражники могут либо снизить цену на газ (что может привести к снижению приоритета их транзакций и увеличению времени ожидания майнеров для выполнения), либо оптимизировать эффективность выполнения своей транзакции. На рисунке 12 показана оптимизация выполнения транзакций с течением времени. Средний расход газа на одну транзакцию снижался с 400 000 до 250 000 в период с мая по январь. Между тем, в августе и сентябре цена на газ чрезвычайно высока (Рисунок 12), что приводит к резкому снижению среднего расхода газа (желтые и красные графики ниже, чем синие графики в аналогичные моменты времени). Поскольку если арбитражеры хотят получить положительную прибыль, когда цена на газ очень высока, они должны оптимизировать расход газа на одну сделку в этот период.

Неудачные транзакции

Каковы затраты на неудачные попытки? Обратите внимание, что арбитражеры совершают циклические транзакции с помощью двух различных реализаций: развертывание частного смарт-контракта для вызова обменных функций Uniswap (275 127 транзакций, 685 CA) и прямой вызов Uniswap из EOA (10 000 транзакций, 136 EOA). Мы проанализировали коэффициент успешности циклических транзакций при этих двух различных реализациях и обнаружили значительное расхождение.

На рисунке 13 показано распределение коэффициента успешности 685 CAs. Поскольку все эти смарт-контракты являются частными, мы не можем определить, направлена ли неудачная транзакция на циклический арбитраж. Поэтому мы считаем все неудачные транзакции с участием смарт-контракта как неудачные циклические транзакции, в результате чего показатель успешности, который мы считаем здесь, ниже реального числа. Арбитражеры провели 442 800 транзакций, и было отмечено 275 127 успешных транзакций. Общий коэффициент успешности составляет 62%. Мы обнаружили, что у большинства арбитражеров (368 из 685) показатель успешности выше 90%.

Некоторые арбитражеры имеют низкий коэффициент успешности из-за дефектного дизайна своих смарт-контрактов. В частности, некоторые из них уже были обновлены до более совершенной версии. Тем не менее смарт-контракты не могут быть непосредственно изменены после их развертывания на блокчейн. Арбитражеры могут только создать новый CA для осуществления арбитража. Из-за анонимности блокчейн-систем мы не можем определить, какие контракты принадлежат одним и тем же арбитражерам. Но мы наблюдаем несколько примеров, когда одна и та же группа EOA взаимодействует с двумя CA с разной степенью успешности, при этом успешный (0xd0ca12. . .) начинает выполнять циклические арбитражи сразу после прекращения действия старого (0xb8db34. . . ).

На рисунке 14 показано распределение чистой прибыли 685 ЦА. Поскольку мы учитываем только доход, полученный от циклических сделок, начинающихся с ETH, но учитываем затраты на все сделки, реальная чистая прибыль выше той, которую мы здесь показываем. Общая чистая прибыль циклических арбитражеров составляет 22 206,88 ETH (70% от дохода), а 60,3% арбитражеров имеют положительный доход. Хотя эти цифры не выглядят идеальными, несколько причин указывают на то, что риск циклических арбитражей ничтожно мал. Во-первых, для тех опытных арбитражеров, которые провели более 100 циклических арбитражей, 103 из 109 имеют положительную чистую прибыль, что говорит о том, что циклический арбитраж является прибыльным в долгосрочной перспективе. Во-вторых, некоторые арбитражеры могут отказаться от смарт-контракта, если он плохо работает, и получить положительный доход от вновь развернутых смарт-контрактов. Их старые смарт-контракты остаются в состоянии отрицательной прибыли и никогда не будут изменены. В-третьих, мы переоцениваем количество неудачных сделок. Некоторые арбитражники тратят более 100 ETH на неудачные транзакции. Мы делаем вывод, что эти затраты вызваны неудачным исполнением других действий на рынке. Каждая неудачная циклическая сделка обходится только в комиссию за газ, менее 0,2 ETH. Если циклическая арбитражная стратегия не приносит прибыли и теряет деньги до такой суммы (100 ETH), то трейдеры наверняка откажутся от нее гораздо раньше.

Для тех арбитражеров, которые используют публичные функции для совершения циклических сделок, процент успеха гораздо ниже, чем у арбитражеров, использующих частные смарт-контракты. Поскольку Uniswap имеет открытый исходный код, мы можем определить, являются ли неудачные транзакции целью циклического арбитража. Арбитражеры предприняли 35 263 попытки арбитража, взаимодействуя со смарт-контрактом Uniswap, что дало коэффициент успеха 28,4% (10 000 из 35 263). Что еще более важно, расходы арбитражеров превышают их доходы. Общий газовый сбор за эти транзакции составляет 338,78 ETH, в то время как доход от успешных арбитражных попыток составляет всего 208,69 ETH, что приводит к значительной потере денег.

ВЛИЯНИЕ НА РЫНОЧНЫЕ ЦЕНЫ И УЧАСТНИКОВ РЫНКА

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

Баланс рыночных цен

Во-первых, мы рассмотрим, как циклические арбитражи изменяют рыночную цену токенов. Циклические арбитражи могут эффективно сбалансировать цену между токенами через различные пути торговли и обеспечить справедливые рынки для обычных трейдеров. Мы обнаружили, что циклический арбитраж с положительной полезностью всегда может сбалансировать рыночную цену. Другими словами, рыночная цена после циклических операций более сбалансирована, чем цена до циклических операций.

На рисунке 15 показано изменение индекса арбитража внутри циклов до и после сделки. Помимо того, что мы показали на рисунке, более трети циклических сделок происходит, когда индекс арбитража больше 1,1 (119 621 из 285 217). Наш результат показывает, что рыночная цена всегда сбалансирована после циклических сделок, где индекс арбитража этих циклов всегда становится меньше предыдущего индекса. Нормальные трейдеры могут обменивать свои активы на более справедливом рынке. Более того, чем ближе объем торгов к оптимальному объему входа, тем

Рисунок 15

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

Даже если арбитражеры не могут идеально сбалансировать рыночные цены и остаются ценовые отклонения на рынке, большинство из них (147 011 из 285 217) не оставляют возможности для циклического арбитража. Индекс арбитража меньше 1,0033, после этих циклических арбитражей, что является минимальным требование к индексу арбитража для получения положительного дохода от циклических сделок длиной 3.

Влияние на поставщиков ликвидности

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

Более того, вклад поставщиков ликвидности также влияет на стабильность цен. Предположим, что существуют два рынка между 𝐴 и 𝐵. На первом рынке пул ликвидности резервирует 𝑎 = 10000 и 𝑏 = 1000, а на втором рынке пул ликвидности резервирует 𝑎 ′ = 100 и 𝑏 ′ = 10. Курсы обмена между 𝐴 и 𝐵 составляют 10 : 1 на обоих рынках. После обмена 10 𝐴 на 𝐵 курс обмена на первом рынке составляет 10010/999 = 10,02, а курс обмена на втором рынке составляет 110/9,1 = 12,1. Обменный курс на первом рынке более стабилен, чем на втором, благодаря вкладу поставщиков ликвидности.

Чтобы вознаградить поставщиков ликвидности и привлечь больше поставщиков ликвидности к резервированию своих денег в пулах ликвидности, трейдеры платят поставщикам ликвидности комиссию за каждую сделку. В Uniswap 0,3% от объема торгов остается в пуле ликвидности в качестве платы за транзакцию.

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

Мы анализируем взаимосвязь между ежедневным изменением количества токенов lp (представляет собой общий вклад поставщиков ликвидности) и ежедневным количеством циклических сделок в шести пулах ликвидности, где всегда происходят циклические арбитражи, т.е. например, 𝐸𝑇𝐻 ⇌ 𝑌𝐴𝑀, 𝐸𝑇𝐻 ⇌ 𝐵𝐴𝐷𝐺𝐸𝑅, 𝐸𝑇𝐻 ⇌ 𝑅𝐸𝑉𝑉 , 𝐸𝑇𝐻 ⇌ 𝑅𝑊𝑆, 𝐸𝑇𝐻 ⇌ 𝐻𝐸𝐺𝐼𝐶, 𝐸𝑇𝐻 ⇌ 𝑋𝐹𝐼. Мы обнаружили, что коэффициенты корреляции практически нулевые для первых четырех пулов и около 0,3 для последних двух пулов.

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

ДИСКУССИЯ

Арбитраж на DEX и CE

Циклические арбитражные возможности появляются на CEX криптовалют, когда есть отклонения цен на разных рынках. Например, когда цена биткоина на американском рынке (таком как Coinbase) выше цены на японском рынке (таком как bitFlyer), арбитражер может купить биткоины в Японии, продать их в США, а затем обменять доллары США на японские йены(совершая цикл торговли японскими йенами, биткоинами и долларами США). Однако существует множество ограничений для арбитража на CEX, таких как транзакционные издержки между различными CEX, трансграничный контроль за движением капитала, задержка транзакций и ограниченные торговые возможности. Несмотря на то, что арбитражные возможности могут быть легко найдены и сохраняться в течение нескольких часов, трейдерам все еще не под силу реализовать арбитражные стратегии на всех CEX. В этом разделе в основном обсуждается, как арбитражные стратегии могут быть реализованы на DEXes, преодолевая ограничения CEXes, и предлагаются дальнейшие исследования для рассмотрения DEXes для анализа торгового поведения на финансовых рынках.

Когда трейдеры хотят продать свои криптовалюты на CEXes, они должны сначала перевести свои активы на платформу. Это может занять от нескольких минут до нескольких часов. После этого они могут торговать своими активами на CEXes. Трейдерам также необходимо заплатить майнерам за газ, чтобы осуществить перевод криптовалют между двумя CEX. В настоящее время в мире существуют десятки CEX, и арбитражные возможности могут появиться между любыми двумя из них. Трейдеры могут либо часто перемещать свои активы между различными CEX для арбитража. В этом случае им придется долго ждать криптовалютных транзакций и платить большие комиссионные за газ. Или же они могут придерживаться нескольких CEX и проводить арбитражные операции только на них. В этом случае они могут потерять множество арбитражных возможностей. Более того, после размещения криптовалют на CEX трейдеры уже теряют контроль над своими активами. Недавно одна из ведущих CEX прекратила вывод криптовалюты со своих платформ, что указывает на риск того, что оператор CEX может присвоить активы трейдеров.

В DEXes трейдеры всегда (на любом этапе транзакции) хранят свои активы на собственных счетах (кошельках). Смарт-контракты DEXes только обмениваются активами между торговыми счетами (протокол токенов ERC20 позволяет счетам смарт-контрактов DEXes удалять активы с утверждающих счетов), но не резервируют активы трейдеров на их собственных счетах. Поэтому трейдеры могут легко торговать на разных DEXes, даже в рамках одной сделки. Они могут эффективно использовать отклонения цен на разных рынках.

Еще одним преимуществом реализации арбитражных стратегий на DEX является то, что DEX не находятся под трансграничным контролем капитала. На многих CEX трейдеры обменивают криптовалюты на фиатные валюты. Например, если арбитражеры хотят проводить арбитражные операции на bitFlyer и Coinbase, им приходится обменивать фиатную валюту Японии и США, чтобы их прибыль не застряла в одной стране. В этом случае контроль за движением капитала играет важную роль в реализации арбитражных стратегий на CEX. Контроль за движением капитала не влияет на сделки на DEXes, поскольку все торговые активы на DEXes - это криптовалюты, которые хранятся в Ethereum или других системах блокчейн. Нет необходимости в трейдерам обменивать фиатные валюты сразу после циклического арбитража, поскольку они уже получают прибыль в той же криптовалюте, которой владеют.

Наконец, DEXes дают больше возможностей для торговли. Как мы показали, трейдеры могут осуществлять атомарные транзакции для обеспечения согласованности нескольких бирж, что является основой для реализации циклических арбитражей. Между тем, технология смарт-контрактов обеспечивает положительный доход от транзакции, что ограничивает риск потери денег. Более того, другие децентрализованные финансовые приложения поддерживают больше возможностей для арбитража. Например, приложения флеш-кредитования позволяют трейдерам занимать любую сумму денег (меньше, чем зарезервировано в смарт-контрактах флеш-кредитования) для применения арбитражных стратегий, если они могут вернуть деньги обратно в рамках той же транзакции. В сочетании с циклическим арбитражем трейдерам не нужно держать какие-либо активы на своих счетах для применения арбитражных операций. Они могут легко использовать огромную сумму денег, чтобы извлечь выгоду из ценовых отклонений, что значительно стимулирует больше трейдеров к участию в DEXes. В то же время, если их арбитражные операции провалятся или у них не хватит денег, чтобы расплатиться с контрактами флэш-кредитования, состояние системы будет возвращено в исходное состояние и обеспечит сохранность денег, зарезервированных в смарт-контрактах флэш-кредитования.

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

Устойчивость к фронтрану

Несмотря на очевидные преимущества реализации арбитражных стратегий на DEX, фундаментальная слабость DEX по-прежнему заставляет многих трейдеров сопротивляться новым рынкам: торговля на цепочке происходит довольно медленно. Среднее время генерации блока Ethereum составляет 15 секунд. Злоумышленники могут опережать транзакции: Они могут заметить арбитражную транзакцию до генерации блока и разместить свою собственную транзакцию с более высокой комиссией.

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

Таким образом, устойчивость к опережающим атакам определяет степень успеха двух различных реализаций. Предположим, что колебания цен влияют на 𝑥% транзакций, тогда 1- коэффициент успеха 1-𝑥% циклических транзакций были перехвачены злоумышленниками. Учитывая огромный разброс между показателями успешности двух реализаций циклических транзакций (62% против 28,4%), наш эмпирический анализ показывает, что развертывание частных смарт-контрактов может быть устойчивым по крайней мере на 30% больше к атакам с опережением, чем прямой вызов публичных смарт-контрактов.

Для атакующих с опережением, если смарт-контракт не имеет открытого исходного кода, им приходится воспроизводить транзакцию на месте, чтобы определить, является ли транзакция прибыльной. Если смарт-контракты используют схемы аутентификации таким образом, что только их собственные EOA могут вызывать функции смарт-контракта, то злоумышленникам будет сложнее скопировать арбитражную стратегию за короткое время.

ЗАКЛЮЧЕНИЕ

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

Мы показываем, что ценовые отклонения появляются на рынке с двух недель после начала Uniswap, и определяем определенное рыночное состояние ценовых отклонений (индекс арбитража), когда арбитражеры могут получать положительный доход с помощью циклических сделок. Используя атомарные и обратимые циклические транзакции, арбитражеры могут легко получать безрисковый/низкорисковый доход, что позволило получить общий доход в размере 31 727,11 ETH в течение девяти месяцев. Далее мы анализируем реализацию циклических арбитражей. Мы рассматриваем газовые комиссии циклических сделок и обнаруживаем, что только 6,7% циклических сделок приводят к отрицательной прибыли. Более того, мы заметили, что некоторые циклические сделки могут потерпеть неудачу во время исполнения, потому что они не могут принести положительный доход. Мы изучаем уровень успеха двух различных реализаций: развертывание частных смарт-контрактов и использование смарт-контрактов с открытым исходным кодом. Наблюдается значительный разброс между их показателями успешности. Несмотря на то, что неудачные сделки приносят дополнительные расходы циклическим арбитражерам, в долгосрочной перспективе циклические арбитражи все равно являются прибыльными. Циклические арбитражи значительно уравновешивают рыночную цену. При этом циклические арбитражи не влияют на поведение поставщиков ликвидности и даже обеспечивают дополнительные сделки для этих участников рынка.

Данная работа не только исследует циклические арбитражи на DEXes, но и дает представление о двух других областях. Во-первых, в отношении арбитража на криптовалютных рынках, данная работа предполагает, что реализация арбитража более осуществима на DEX, чем на CEX, что будет полезно для дальнейшего изучения поведения трейдеров на криптовалютных рынках. Во-вторых, для предотвращения опережающих атак, данная работа предполагает, что реализация частных смарт-контрактов может эффективно защищать от атак на цепочке, что вдохновляет на дальнейшие исследования в этом направлении.