Проприетарные AMM стремительно заняли 40% всего торгового объема на Solana. Почему их нет в экосистеме EVM?
Proprietary AMM (Prop AMM) быстро стали ключевым элементом DeFi на Solana, обеспечивая более 40% торгового объема по основным парам. Эти специализированные платформы, управляемые профессиональными маркетмейкерами, предлагают глубокую ликвидность и конкурентные цены, главным образом благодаря снижению риска фронт-раннинга со стороны арбитражеров, которые используют устаревшие котировки.

https://dune.com/the_defi_report/prop-amms
Тем не менее, их успех практически полностью ограничивается Solana. Почему они не появились в экосистеме EVM, даже на быстрых и недорогих Layer 2, таких как Base или Optimism?
В этой статье рассматривается, что такое Prop AMM, технические и экономические ограничения Prop AMM на EVM, а также перспективная архитектура, способная вывести их в авангард EVM-DeFi.
Prop AMM — это автоматизированный маркетмейкер, в котором ликвидность и цены пула активно управляются одним профессиональным маркетмейкером, а не предоставляются пассивно широкой публикой.
В отличие от классических AMM, использующих уравнение x * y = k для определения цены, где x и y — объемы двух активов в пуле, а k — фиксированная константа, Prop AMM применяют иную формулу, которая обычно обновляется несколько раз в секунду. Как правило, Prop AMM работают как «черный ящик», и их формула неизвестна. Однако смарт-контракт Obric’s Prop AMM на Sui открыт (благодарность @ markoggwp за обнаружение!), где инвариант k зависит от внутренних переменных mult_x, mult_y и concentration. На изображении ниже видно, как маркетмейкер регулярно обновляет эти параметры.

Важное уточнение: левая часть формулы кривой цен Obric сложнее, чем x * y, но главное — она равна инварианту k, который маркетмейкер обновляет для корректировки кривой цен.

В этом материале часто встречается термин «кривая цен», поскольку именно она определяет цену, которую пользователь платит при обмене через AMM, и именно ее маркетмейкер обновляет в Prop AMM для изменения цен. Прежде чем углубиться в Prop AMM, полезно понять, как формируется цена в AMM. Например, рассмотрим пул Uniswap v2 для WETH-USDC без комиссии. Цена определяется формулой x * y = k, где x и y — объемы двух активов в пуле, а k — константа. Только точки на этой кривой — допустимые цены для сделки пользователя.
Например, в пуле WETH-USDC с 100 WETH и 400 000 USDC текущая точка — x = 100 WETH, y = 400 000 USDC, то есть начальная цена 400 000 USDC / 100 WETH = 4 000 USDC за WETH. Постоянный продукт k равен xy = k = 40 000 000. Если трейдер покупает 1 WETH, он добавляет USDC в пул, а баланс WETH уменьшается до 99. Чтобы сохранить k, новые x и y должны лежать на кривой, поэтому баланс USDC должен увеличиться до 40 000 000 / 99 ≈ 404 040,40 USDC. Трейдер заплатил 4 040,40 USDC за 1 WETH, что выше начальной цены $4 000 из-за ценового воздействия (проскальзывания). Поэтому формула x y = k называется кривой цен: любая возможная цена для пула — это точка на этой кривой.
Рассмотрим, почему маркетмейкеру выгоден AMM-дизайн. Представьте, что вы маркетмейкер на ончейн Central Limit Order Book (CLOB). Для обновления котировок нужно отменять и заменять тысячи отдельных лимитных ордеров. Если у вас N ордеров, это операция O(N) — линейная по времени. Это медленно и затратно по ресурсам, особенно в ончейне.
Если представить все котировки одной математической кривой, вместо управления N ордерами, достаточно обновить несколько параметров, определяющих всю кривую. Это превращает задачу O(N) в O(1) — постоянную по времени операцию.
Чтобы наглядно показать, как кривая цен (например, x*y = k) приводит к разным эффективным ценам, рассмотрим SolFi — Prop AMM от Ellipsis Labs. Хотя кривая скрыта, Ghostlabs подготовили график ниже, демонстрирующий эффективную цену SOL к USDC для разных объемов SOL, которые хотят обменять в определенном слоте Solana. (Для EVM-читателей: номер слота аналогичен номеру блока.) Каждая линия — отдельный пул WSOL/USDC, демонстрируя возможность одновременного предложения разных ценовых уровней. По мере обновления маркетмейкером кривой цен, график эффективных цен меняется между слотами.

https://github.com/tryghostxyz/solfi-sim/blob/main/static/curves_333436948.png
Главный вывод — с помощью одного обновления параметров кривой цен маркетмейкер может изменить график эффективных цен по своему усмотрению, вместо обновления N ордеров. Это ключевое преимущество Prop AMM, позволяющее маркетмейкеру обеспечивать глубокую, динамичную ликвидность с высокой эффективностью капитала и вычислений.
Prop AMM требуют активного управления. Для этого нужны две вещи: дешевые обновления и приоритетное исполнение. На Solana дешевые обновления обеспечивают приоритетное исполнение.
Зачем маркетмейкерам эти условия? Во-первых, маркетмейкеры обновляют кривые цен с той скоростью, с какой работает сеть, учитывая текущий инвентарь и изменения индекса актива (например, с централизованных бирж). На быстрых сетях, таких как Solana, это было бы дорого, если бы обновления стоили дорого.
Во-вторых, если маркетмейкер не сможет разместить обновление в начале блока, его устаревшие котировки будут «забраны» арбитражерами, что приведет к гарантированным убыткам.
Без этих двух условий маркетмейкеры не смогут работать эффективно, а это ухудшит цены для пользователей.
Например, Prop AMM на Solana, такие как HumidiFi, обновляют котировки 74 раза в секунду (отдельная благодарность @ SliceAnalytics за данные), как видно на изображении ниже:

https://dune.com/queries/5980584/9644764
Пользователь EVM может спросить: «Если слот Solana ~400 мс, как Prop AMM может обновлять цену несколько раз в одном слоте?»
Ответ — в непрерывной архитектуре Solana, которая принципиально отличается от блочной модели EVM.
Примечание: Flashblocks аналогичны shred в Solana. По словам @ Ashwinningg из Anza Labs на конференции CBER, предел — 32 000 shreds за 400 мс слот, то есть до 80 shreds в миллисекунду! Достаточна ли скорость Flashblocks в 200 мс для маркетмейкеров по сравнению с архитектурой Solana — открытый вопрос.
Почему обновления настолько дешевы на Solana и как это обеспечивает приоритетное исполнение?
Хотя реализация Prop AMM на Solana — «черный ящик», есть библиотеки, такие как Pinocchio, для создания CU-оптимизированных Solana-программ. В блоге Helius подробно описано, как программы Solana оптимизируются с ~4000 CU до ~100 CU (здесь).

https://github.com/febo/p-token?tab=readme-ov-file#compute-units
На высоком уровне Solana сортирует транзакции по максимальному отношению комиссии к Compute Units (CU), аналогично EVM.
Сравнивая Compute Units для обновления Prop AMM и обмена через Jupiter, видно, что обновление Prop AMM чрезвычайно дешево — соотношение 1 к 1000.
Обновление Prop AMM: простое обновление кривой стоит крайне дешево. Wintermute обновляет за 109 CU, комиссия — 0,000007506 SOL
Обмен через Jupiter: обмен может стоить до ~100 000 CU. Комиссия — 0,000005 SOL.
Благодаря такой разнице маркетмейкер может обеспечить приоритетное исполнение обновлений, заплатив небольшую комиссию, и получить отношение Fee/CU на порядки выше, чем у обычного обмена. Это гарантирует дешевое и приоритетное исполнение обновления в начале блока, защищая от арбитража токсичного потока.
Предположим, что обновления Prop AMM включают запись переменных, определяющих кривую цен торговой пары. Хотя код Prop AMM на Solana — «черный ящик», где маркетмейкеры хотят сохранить секретность своих стратегий, мы используем это предположение, исходя из реализации Obric’s Prop AMM на Sui, где параметры котировки записываются в смарт-контракт через функции обновления.
Благодарность @ markoggwp за находку!
Архитектура EVM создает серьезное препятствие, из-за которого модель Prop AMM Solana неприменима.
На OP-Stack Layer 2, таких как Base и Unichain, транзакции сортируются по Priority Fee за Gas (аналогично Fee / CU на Solana).
В EVM затраты газа на запись высоки. Простая запись одного значения через SSTORE-оператор стоит намного дороже, чем обновление на Solana.
Gas на EVM аналогичен Compute Units на Solana.
Значения SSTORE приведены при условии одной записи (cold writes), что обычно соответствует одному обновлению за транзакцию.
Хотя обновление дешевле обмена, соотношение затрат газа — всего ~10x (обновление может использовать несколько SSTORE), против ~1000x на Solana.
Это приводит к двум выводам, делающим модель Prop AMM Solana более рискованной на EVM.
Инновации вроде EIP-1153 (TSTORE для временного хранения) предлагают записи за 100 gas, но это хранилище эфемерно и существует только в рамках одной транзакции. Оно не может использоваться для хранения обновления цены для последующего обмена (например, на время блока).
Перед ответом кратко — зачем? Пользователи всегда хотят лучшие котировки, ведь это выгоднее. Prop AMM на Ethereum и Layer 2 позволят получать более конкурентные котировки, которые сейчас доступны только на Solana и централизованных биржах.
Чтобы Prop AMM работали на EVM, вспомним одну из причин их успеха на Solana:
Как реализовать обновления Prop AMM в начале блока на Layer 2 EVM? Есть два подхода: снизить стоимость записей или создать приоритетный канал для Prop AMM.
Первый вариант — снижение стоимости записей — маловероятен из-за проблемы роста состояния в EVM, где дешевые SSTORE могут привести к спаму состояния.
Мы предлагаем второй подход — создание приоритетного канала для обновлений Prop AMM.
Оригинальный подход, предложенный @ MarkToda из Uniswap, — использовать Global Storage смарт-контракт (репозиторий) в сочетании со специализированной политикой сборщика блоков.

https://github.com/flashbots/global-storage-smart-contract
Как это работает:
Builder Policy: Это важный offchain-компонент. Сборщики блоков реализуют политику, распознающую транзакции, отправленные на адрес Global Storage. Политика автоматически резервирует первые 5-10% газа блока исключительно для этих обновлений, сортируя их по приоритетной комиссии. Это защищает от спама.
Важно, чтобы транзакция имела to-значение адреса Global Storage, иначе не стоит позволять транзакциям, не направленным на этот адрес и вызывающим другие swap-функции, попадать в начало блока.

Эта архитектура элегантно решает обе проблемы.
Обмен пользователя будет осуществлен по кривой цен, установленной маркетмейкером в самом начале блока, обеспечивая актуальную и защищенную котировку. Такая модель фактически воссоздает среду дешевых и приоритетных обновлений, позволившую Prop AMM процветать на Solana, открывая путь к новой эре рыночной эффективности на EVM.
У этой модели есть недостатки, которые оставлены для обсуждения ниже.
Жизнеспособность Prop AMM зависит от решения ключевой экономической задачи: необходимости дешевого и приоритетного исполнения для предотвращения фронт-раннинга.
Стандартная архитектура EVM делает это крайне дорогим и рискованным, но новая модель предлагает иной подход. Объединяя ончейн Global Storage контракт с offchain-политикой сборщика, можно создать выделенный «быстрый канал» для обновлений цен. Эта модель гарантирует исполнение oracle-обновлений в начале блока, создавая локальный рынок комиссий, напрямую устраняя основные барьеры и делая возможными не только Prop AMM, но и потенциально трансформируя все типы EVM-DeFi, где важны oracle-обновления в начале блока.
P.S: Я открыт к предложениям по выступлениям на конференциях по этой теме. Если вы связаны с мероприятиями во время Devconnect, буду рад обсудить возможности для доклада!





