Разбор алгоритмов Polymarket
Оригинал: @MrRyanChi, @insidersdotbot, основатель платформы для торговли на рынках предсказаний
Предисловие: обратная сторона Polymarket, о которой вы не знали
За последние полгода в Twitter появилось огромное количество статей о рынках предсказаний.
Девяносто процентов из них рассказывают о том, как ИИ-писатели могут помочь разбогатеть. Это «Юань» — первый шаг к знакомству с этим зарождающимся рынком.
Еще 9% посвящены конкретным торговым стратегиям, распределению рынка и анализу действий «умных денег». Это «Дао» — первый шаг к изучению собственных стратегий и пониманию психологии заработка на рынках предсказаний.
Однако «Фа» — фундаментальные принципы торговой архитектуры, расчеты PNL и правила движения средств — обсуждаются лишь 1% пользователей, в основном в виде разрозненных коротких твитов. Эти эксперты-отшельники либо не хотят, либо не имеют сил делиться своими методами целиком.
Поэтому в день запуска insiders.bot и завершения обновления v2 в Polymarket я хочу разобрать «Фа» этого рынка, на котором мы торгуем, начиная с самых основ технологий.
В октябре прошлого года я написал упрощенную версию, в которой поверхностно описал несколько ключевых компонентов Polymarket. В этот раз я хочу по-настоящему раскрыть все технические детали и объяснить их простым языком.
Эта статья — результат восьмимесячной работы нашей команды.
За эти восемь месяцев команда @insidersdotbot разобрала все смарт-контракты и алгоритмическую архитектуру Polymarket, чтобы добиться максимально быстрой торговли и точных расчетов PNL. Это под силу только нашему API, и до сих пор никто другой этого не сделал.
Поэтому я считаю, что именно мы можем наиболее глубоко препарировать «Фа» Polymarket.
В этой статье я помогу вам понять, как смарт-контракт ctf-exchange-v2 обрабатывает средства, как Relayer помогает оплачивать Gas и как Negative Risk математически обеспечивает сохранение стоимости.
Это не просто научно-популярная статья. Это всесторонний алгоритмический разбор механизмов Polymarket с точки зрения разработчика.
Начнем с основ. Что именно вы отправляете, когда размещаете ордер?
P.S. Стиль и структура этой статьи были адаптированы с помощью ИИ. Смело используйте ее как обучающий материал для OpenClaw, Manus, Hermes или любого другого ИИ-агента!
Глава 1: Что происходит с момента клика до записи в блокчейн
1.1 Ордера — это не транзакции, а «намерения»
На традиционных децентрализованных биржах (например, Uniswap) при совершении сделки кошелек запрашивает подтверждение, вы платите Gas и отправляете транзакцию в сеть (Mempool), ожидая ее обработки майнерами.
Но в Polymarket при размещении ордера кошелек обычно запрашивает «подпись», а не «транзакцию». Кроме того, вам не нужно платить Gas.
Это не просто оптимизация пользовательского опыта, а фундаментальное различие в базовой архитектуре.
В Polymarket ордер — это структурированные данные, соответствующие стандарту EIP-712. Эти данные содержат то, что вы хотите сделать:
Вы Maker или Taker? Какой токен (tokenId) вы хотите купить?
Сколько вы хотите заплатить (makerAmount)?
Сколько вы хотите получить (takerAmount)?
Подписывая данные, вы просто заверяете их своим закрытым ключом, подтверждая: «Я действительно хочу это сделать». Затем подписанные данные отправляются на централизованный сервер Polymarket и сохраняются во внесетевой книге лимитных ордеров (CLOB).
На этом этапе в блокчейне ничего не происходит. Ваши деньги остаются в кошельке, токены не перемещаются. Ваш ордер — это просто запись в базе данных.
1.2 Неявное выражение цены
Остановим время в момент отправки ордера. Если внимательно изучить структуру ордеров в контрактах Polymarket, вы обнаружите нечто контринтуитивное: в данных подписи ордера нет поля «цена».
Как это возможно? Как может быть сделка без цены?
В архитектуре протокола Polymarket цена неявна. Она рассчитывается на основе суммы, которую вы готовы заплатить, и суммы, которую хотите получить.
Если вы хотите купить 100 контрактов YES по цене $0.60:
Вы должны заплатить: $60 pUSD (makerAmount = 60)
Вы хотите получить: 100 контрактов YES (takerAmount = 100)
Подразумеваемая цена = makerAmount / takerAmount = 60 / 100 = $0.60
Если вы хотите продать 100 контрактов YES по цене $0.60:
Вы должны заплатить: 100 контрактов YES (makerAmount = 100)
Вы хотите получить: $60 pUSD (takerAmount = 60)
Подразумеваемая цена = takerAmount / makerAmount = 60 / 100 = $0.60
(Примечание: хотя в последнем SDK V2 разработчики могут напрямую вводить цену и объем, SDK все равно преобразует их в makerAmount и takerAmount при подписи. Гениальность этого решения в том, что смарт-контракту не нужно понимать, что такое «цена»; ему достаточно обрабатывать логику обмена «актива А на актив Б». Это упрощает расчеты в блокчейне и снижает расход Gas.)
1.3 Оператор: «регулировщик» Polymarket
Поскольку все ордера находятся вне сети, как они превращаются в реальные переводы активов?
Это подводит нас к самой важной «черной коробке» в архитектуре Polymarket: Оператору.
В смарт-контракте ctf-exchange-v2 есть критически важный модификатор: onlyOperator. Это означает, что только определенный адрес, контролируемый Polymarket, имеет право вызывать функции исполнения, такие как matchOrders и fillOrder.
Это кардинально отличается от традиционных DeFi. В Uniswap любой может вызвать маршрутизирующий контракт. В Polymarket вы не можете самостоятельно сопоставить сделки в блокчейне. Все сопоставления должны отправляться Оператором.
Зачем это нужно? Чтобы исключить MEV (Miner Extractable Value) и фронтраннинг.
В традиционных ончейн-книгах ордеров, если кто-то выставляет крупный ордер по низкой цене, арбитражные боты начинают яростно бороться в Mempool (повышая Gas), чтобы опередить других и забрать этот ордер. Это ведет к взлету цен на Gas и плохому опыту для обычных пользователей.
В Polymarket все ордера находятся в офчейн-CLOB. Движок сопоставления Оператора вычисляет, кто с кем должен торговать, а затем упаковывает результат в транзакцию, которую Оператор отправляет в блокчейн.
Поскольку только Оператор может отправлять результаты сопоставления, даже если боты в Mempool видят эту транзакцию, они не могут ее опередить, так как у них нет прав на вызов функций исполнения.
Это типичная архитектура «гибридной децентрализации». Сопоставление и ордера централизованы (решаются Оператором), но расчеты и хранение средств децентрализованы (выполняются смарт-контрактами).
Оператор может решать, кого сопоставить первым, а кого позже, но он физически не может украсть ваши средства, так как обязан предоставить подписанные вами данные EIP-712, а контракт строго проверяет подпись.
P.S.: Стоит отметить, что наша команда @insidersdotbot, похоже, недавно нашла способ эксплуатации этого механизма, позволяющий последователям фронтранить или существенно задерживать транзакции. Если будут обновления, мы сообщим о них в официальном аккаунте.
Глава 2: Экономика Relayer
2.1 Иллюзия «отсутствия Gas»
Один из главных козырей Polymarket — «транзакции без Gas» для пользователей. Вам нужны только pUSD для торговли, не нужно покупать POL (ранее MATIC) для кошелька.
Но законы физики блокчейна нельзя нарушить: если в Polygon происходит изменение состояния (например, перевод активов), кто-то должен заплатить Gas.
Раз вы не платили, кто это сделал? Ответ: Relayer.
2.2 Сеть ретрансляторов Relayer
Polymarket не позволяет пользователям отправлять транзакции самостоятельно, а развернул инфраструктуру под названием Relayer Client (relayer-v2.polymarket.com).
В ранней архитектуре такие сервисы обычно полагались на корпоративные решения вроде OpenZeppelin Defender Relay, поддерживая пул подписантов для разрешения конфликтов nonce при высокой нагрузке.
Когда ваше приложение создает транзакцию (например, Approve токенов, Redeem прибыли), вы подписываете ее своим ключом и отправляете на Relayer. Relayer выступает как «спонсор транзакции», отправляя ее в сеть и оплачивая Gas из своего фонда.
Архитектура Relayer и экономический цикл
2.3 Кто платит за банкет?
Во многих ранних архитектурах мета-транзакций после оплаты Gas Relayer обычно вычитал комиссию из депозита пользователя (например, 0.3% или фиксированную сумму), чтобы компенсировать расходы.
Но Polymarket действует крайне агрессивно: в текущей архитектуре V2 они действительно покрывают всю сумму за вас.
Официальная документация гласит: «Polymarket оплачивает газ для всех операций, проходящих через ретранслятор». Будь то развертывание кошельков, авторизация токенов, разделение (Split), объединение (Merge) или выкуп (Redeem) — все это без газа и без скрытых операционных комиссий.
Почему Polymarket готов нести такие убытки?
Потому что стоимость Gas в Polygon очень низка (обычно несколько центов), а опыт без газа может привлечь массовый поток Web2-пользователей. Пока пользователи платят небольшую комиссию Taker при торговле (об этом позже), этого достаточно, чтобы покрыть крайне низкие расходы на Gas.
Зная это, возникает вопрос: как эта архитектура «без газа» влияет на нашу торговлю?
Главная скрытая стоимость — это задержка (latency). Ваш ордер не только проходит через движок сопоставления Polymarket, но, если это прямая ончейн-операция, он также проходит через проверку Relayer, оценку Gas и распределение в очереди.
Глава 3: Три метода сопоставления, и почему покупатели могут торговать с покупателями?
Теперь мы переходим к самой сложной и контринтуитивной части архитектуры Polymarket.
На традиционных биржах (например, в книге ордеров Binance) логика проста: Алиса хочет купить 1 токен за $60, Боб хочет продать 1 токен за $60. Биржа сопоставляет их, токен переходит от Боба к Алисе, деньги — от Алисы к Бобу. Конец истории.
Но в Polymarket (на базе Conditional Token Framework CTF) все иначе. Здесь токены могут «создаваться из воздуха» и «уничтожаться в никуда».
Открыв исходный код ctf-exchange-v2, вы найдете три разных пути расчета активов: COMPLEMENTARY, MINT и MERGE.
Общая структура Complementary, Mint, Merge
3.1 COMPLEMENTARY (Взаимодополняющее сопоставление): Традиционная торговля «из рук в руки»
Это самый простой метод, который есть на всех традиционных биржах.
Сценарий: Рынок существует некоторое время, у всех есть активы.
Алиса хочет купить 100 YES за $0.60.
У Боба есть YES, он хочет продать 100 YES за $0.60.
Оператор находит эти два ордера (BUY vs SELL) и упаковывает их в транзакцию. Смарт-контракт выполняет прямой P2P-перевод:
Переводит 100 YES от Боба к Алисе.
Переводит $60 pUSD от Алисы к Бобу.
Этот механизм обладает следующими характеристиками:
Игра с нулевой суммой: Общее предложение токенов в системе не изменилось.
Минимальный расход Gas: Только базовые переводы без сложных операций CTF.
Стандартизация: На зрелом, ликвидном рынке большинство сделок проходит именно так.
3.2 MINT (Сопоставление через минтинг): Создание ликвидности из воздуха
Это, возможно, самая революционная инновация в Polymarket и во всей финансовой истории.
Для примера: рынок только что открылся, ни у кого нет токенов YES или NO.
Алиса настроена крайне оптимистично; она хочет купить 100 YES за $0.60.
Боб настроен крайне пессимистично; он хочет купить 100 NO за $0.40.
Заметьте: оба они покупатели! Ни у кого нет токенов, которые нужны другому!
В традиционной книге ордеров эти два ордера никогда бы не исполнились. В Polymarket, если происходит BUY vs BUY (и токены взаимодополняющие), Оператор сопоставит их!
Смарт-контракт списывает $60 pUSD со счета Алисы.
Смарт-контракт списывает $40 pUSD со счета Боба.
Смарт-контракт берет эти $100 pUSD, блокирует их как залог и вызывает функцию
_mint, чтобы создать 100 YES и 100 NO из воздуха.Отправляет 100 YES Алисе.
Отправляет 100 NO Бобу.
Срабатывание этого механизма требует строгого математического условия: сумма ставок покупателей должна быть больше или равна $1.00.
Если Алиса ставит $0.60 на YES, а Боб $0.35 на NO, сумма — $0.95. Контракт не может создать пару токенов стоимостью $1.00 из $0.95. Сделка не состоится.
Механизм сопоставления MINT
Для маркет-мейкеров это идеальное оружие для решения проблемы «холодного старта». Им не нужно тратить деньги на создание кучи токенов (замораживая капитал). Они просто выставляют ордера на покупку YES и NO одновременно (например, по $0.49). Когда приходят розничные продавцы, срабатывает логика минтинга.
3.3 MERGE (Сопоставление через слияние): Уничтожение ликвидности
Где есть создание, там есть и разрушение. MERGE — обратный процесс MINT.
Рассмотрим обратный случай. Рынок закрывается, все выходят из позиций.
У Алисы 100 YES, она хочет продать их по $0.60.
У Боба 100 NO, он хочет продать их по $0.40.
Заметьте: оба они продавцы! Никто не хочет платить pUSD за их токены.
Здесь вступает в дело механизм Polymarket. При SELL vs SELL Оператор снова творит магию:
Смарт-контракт забирает 100 YES у Алисы.
Смарт-контракт забирает 100 NO у Боба.
Смарт-контракт вызывает функцию
_merge, чтобы уничтожить эти 100 пар YES+NO и разблокировать $100 pUSD из казны.Отправляет $60 pUSD Алисе.
Отправляет $40 pUSD Бобу.
Механизм Merge имеет следующие характеристики:
Дефляционный механизм: Общее предложение токенов в системе уменьшается.
Канал выхода: Он гарантирует, что даже без «покупателя», если цены продажи YES и NO в сумме дают $1.00, каждый может выйти в кэш.
Понимание этих трех методов дает представление о жизненном цикле рынка Polymarket:
Ранняя стадия (доминирует MINT): Рынок открылся, токенов нет. Быки и медведи вливают средства через MINT в обмен на токены. Общее предложение быстро растет.
Средняя стадия (доминирует COMPLEMENTARY): Ликвидности много, большинство сделок — обмен существующими токенами. Предложение стабилизируется.
Поздняя стадия (доминирует MERGE): Результаты ясны, все закрывают позиции. Быки и медведи уничтожают токены через MERGE, чтобы забрать кэш. Предложение падает.
Обратите внимание: эти пути выбираются не субъективно Оператором, а строго определяются правилами маршрутизации смарт-контракта на основе направления ордеров (BUY vs SELL).
Жизненный цикл рынка
Глава 4: Split/Merge/Redeem, и почему ваш PnL неверен?
Разобравшись с сопоставлением, давайте рассмотрим три базовые операции, которые вы используете каждый день, но, возможно, не понимали их финансового влияния: Split, Merge и Redeem.
Это атомарные операции Polymarket. Они не являются «сделками» (не проходят через книгу ордеров, не облагаются комиссиями), а напрямую взаимодействуют со смарт-контрактом для конвертации активов.
Split: Вы даете контракту $1 pUSD, он дает вам 1 YES и 1 NO. Стоимость всегда ровно $1.
Merge: Вы даете контракту 1 YES и 1 NO, он возвращает вам $1 pUSD. Прибыль всегда ровно $1.
Redeem: После определения победителя выигрышный токен обменивается на $1 pUSD, проигрышный обнуляется.
Сравнение до и после операции Split
4.1 Кто использует эти операции?
Маркет-мейкеры: Главные пользователи Split. Им нужно выставлять ордера с обеих сторон, но они не хотят покупать токены на рынке (платя комиссии). Они просто делают Split $100,000 на 100,000 YES и 100,000 NO и выставляют их в книгу ордеров.
Арбитражеры: Главные пользователи Merge. При временных искажениях цен, например, YES падает до $0.40, а NO до $0.55, арбитражеры быстро покупают 1 YES и 1 NO (стоимость $0.95) и сразу вызывают Merge, получая $1 и безрисковую прибыль $0.05. Математическое условие простое: когда
Price(YES) + Price(NO) < 1 - комиссии, покупка и Merge — очевидный выбор.
Поэтому, когда вы пытаетесь копировать «умные деньги» арбитражеров или маркет-мейкеров, вы должны точно оценивать влияние Split/Merge на PnL. Иначе это не те «умные деньги», на которые стоит ориентироваться.
На данный момент, включая сам Polymarket, никто не может решить проблему расчета PnL. Конечно, вы уже догадались — insiders.bot уже решил эту задачу в своих расчетах PnL и браузере «умных денег».
4.2 Ловушка PnL: почему ваша прибыль неверна?
Как сказано выше, это самая распространенная ошибка в экосистеме Polymarket. Почти все сторонние инструменты отслеживания PnL, включая некоторые официальные API, спотыкаются здесь.
Давайте посчитаем пример, и вы увидите, насколько глубока эта ловушка.
Шаг 0: У вас есть $100. Вы оптимистичны насчет рынка «Ethereum пробьет $5000».
Шаг 1: Вы тратите $50 на Split. Теперь у вас 50 YES и 50 NO. Кэш — $50.
Шаг 2: Вы чувствуете, что 50 YES мало, идете на рынок и покупаете 50 YES по $0.40. Стоимость $20. Кэш — $30.
Шаг 3: Вы продаете 50 NO по $0.35. Получаете $17.50. Кэш — $47.50.
Теперь у вас 100 контрактов YES. Какова ваша реальная стоимость?
Как считает большинство таблиц лидеров (неверный алгоритм):
Они смотрят только на записи «сделок». Видят, что вы купили 50 YES за $20. Они полностью игнорируют Split (потому что это не сделка).
Поэтому они считают вашу стоимость: $20 / 50 = $0.40 за штуку.
Если рыночная цена YES вырастет до $0.60, они покажут вашу прибыль как: 100 × $0.60 - $20 = $40.
Как нужно считать (верный алгоритм, используемый insiders.bot):
Ваш общий отток кэша: $50 (Split) + $20 (покупка) = $70.
Ваш общий приток кэша: $17.50 (продажа NO)
Ваши чистые инвестиции: $70 - $17.50 = $52.50
Ваша реальная стоимость: $52.50 / 100 = $0.525 за штуку.
Если текущая цена YES $0.60, ваша реальная прибыль: 100 × $0.60 - $52.50 = $7.50.
Видите разницу? Таблица лидеров показывает $40 прибыли, а на деле — $7.50. Эти $32.50 «фантомной прибыли» возникли из-за того, что система неверно учла стоимость Split и доход от продажи NO.
Верная математическая формула PnL:
Total PnL = Σ(доход от продаж) + Σ(доход от Merge) + Σ(доход от Redeem) - Σ(расходы на покупку) - Σ(расходы на Split) + рыночная стоимость текущей позиции
Вот почему вы видите крупных игроков в таблицах лидеров с миллионными убытками, хотя на самом деле они зарабатывают состояние. Потому что после Redeem выигрышных позиций многие инструменты «стирают» их из истории, оставляя только те, что в убытке.
Ловушка расчета PnL
Глава 5: Кривая комиссий
Если вы торгуете часто, вы заметите, что комиссии Polymarket — не фиксированный процент. Иногда с вас берут $10 за покупку контракта на $1000, а иногда всего $2.
Почему? Давайте взглянем на формулу комиссии, спрятанную глубоко в коде:
Fee = C × feeRate × p × (1 - p) (где C — сумма сделки, p — цена)
5.1 Почему p(1-p)?
Допустим, вы хотите купить 100 YES при ставке 2%:
Если цена YES $0.50:
Fee = 100 × 2% × 0.50 × 0.50 = $0.50Если цена YES $0.90:
Fee = 100 × 2% × 0.90 × 0.10 = $0.18Если цена YES $0.10:
Fee = 100 × 2% × 0.10 × 0.90 = $0.18
Видите закономерность? Комиссия максимальна при цене 0.50 (равные шансы). Когда цена приближается к 0 или 1 (исход почти предрешен), комиссия крайне мала.
Более того, есть симметрия. Покупка YES по $0.90 и покупка NO по $0.10 математически эквивалентны. Если бы за покупку YES по $0.90 брали высокую комиссию, а за NO по $0.10 — низкую, арбитражеры сошли бы с ума, покупая NO и арбитражируя через MINT. Дизайн p(1-p) гарантирует, что с какой бы стороны вы ни выражали свое мнение, фрикционные издержки системы абсолютно симметричны.
5.2 Скрытая математическая красота
Если вы изучали статистику, формула p(1-p) вам знакома. Это формула дисперсии распределения Бернулли (подбрасывание монеты).
В дизайне Polymarket p(1-p) — это «формула Бога»:
Это кривая комиссий: чем выше неопределенность (дисперсия), тем выше комиссия.
Она отражает информационную энтропию: когда вы ставите на 50%, вы предоставляете рынку максимум новой информации, поэтому ваши издержки максимальны.
Кто платит комиссии? Всегда Taker. Maker всегда освобожден от комиссий.
Этот механизм идеально выравнивает стимулы: когда рынок наиболее неопределен (50/50), ранние участники платят самые высокие комиссии, защищая маркет-мейкеров от лишних шоков; когда же исход почти ясен, крайне низкие комиссии поощряют арбитражеров входить и толкать цены к финальным 1 или 0.
Кривая комиссий
Глава 6: Negative Risk, или самая элегантная магия в DeFi
Если вы играли на рынках с несколькими исходами (выборы, Оскар, спорт), вы сталкивались с рынками Negative Risk.
Это самая сложная часть статьи, но она лучше всего отражает эстетику инженерии смарт-контрактов.
P.S. Эту часть решил наш сооснователь @DakshBigShit после 36-часового марафона при разработке нашего API.
6.1 Болевые точки традиционных рынков с несколькими исходами
Допустим, есть четыре кандидата: A, B, C, D. Вы ненавидите A и уверены, что он не победит. Вы хотите «зашортить» A.
На традиционном бинарном рынке вы просто покупаете контракт NO на A. Но на рынке с несколькими исходами, если A проигрывает, значит, победит B, C или D. Поэтому «шорт A» математически строго эквивалентен «лонгу B + лонгу C + лонгу D». (Это предложение очень важно; перечитайте его, пока не поймете.)
Если вы пойдете на рынок и купите контракты YES для B, C и D отдельно, вы столкнетесь с проблемой низкой эффективности капитала. Вам нужно платить трижды, и если сумма цен этих трех превысит $1.00, вы можете даже понести убыток.
6.2 Магия адаптера Negative Risk (NegRiskAdapter)
Polymarket развернул специальный смарт-контракт NegRiskAdapter для решения этой проблемы. Он предоставляет функцию convertPositions.
Ее цель — мгновенно конвертировать ваши контракты NO в контракты YES для всех остальных кандидатов и вернуть вам кэш.
Давайте математически докажем, почему эта конвертация сохраняет стоимость.
Сценарий: n кандидатов.
У вас A акций контрактов NO на кандидата 1 и A акций NO на кандидата 2 (вы шортите обоих).
У вас m разных контрактов NO (здесь m=2).
До конвертации реальная стоимость ваших активов (во всех возможных сценариях):
Если побеждает кандидат 1: NO_1 обесценивается, NO_2 стоит $1. Общая стоимость = A.
Если побеждает кандидат 2: NO_1 стоит $1, NO_2 обесценивается. Общая стоимость = A.
Если побеждает кандидат 3 (кто угодно, кого вы не шортили): NO_1 стоит $1, NO_2 стоит $1. Общая стоимость = 2A.
Что дает вам контракт после вызова convertPositions?
Формула: он возвращает A × (m-1) кэшем плюс A акций YES для кандидатов 3, 4, ... n.
В нашем примере: A × (2-1) = A кэшем! Плюс A акций YES для кандидата 3, A акций YES для кандидата 4...
После конвертации реальная стоимость ваших активов (во всех сценариях):
Если побеждает кандидат 1: ваши YES_3 и YES_4 обесцениваются. У вас только кэш A. Общая стоимость = A. (Равно как до конвертации!)
Если побеждает кандидат 2: ваши YES_3 и YES_4 обесцениваются. У вас только кэш A. Общая стоимость = A. (Равно как до конвертации!)
Если побеждает кандидат 3: ваш YES_3 стоит $1, остальные обесцениваются. Плюс кэш A. Общая стоимость = A + A = 2A. (Равно как до конвертации!)
Ч.Т.Д. Независимо от того, как развиваются события, стоимость до и после конвертации абсолютно равна.
Математическое доказательство конвертации Negative Risk
6.3 Почему это «односторонний необратимый» процесс роста энтропии?
Этот механизм обладает очаровательным физическим свойством: он односторонний и необратимый.
Вы можете конвертировать NO в YES + кэш. Но вы никогда не сможете конвертировать YES + кэш обратно в NO.
Почему? На уровне смарт-контракта при конвертации NO в YES контракт отправляет ваши NO в «черную дыру» (Burn), а затем использует освободившееся залоговое пространство для «синтеза» новых YES. Это не требует вливания новых внешних средств.
Но если вы хотите развернуть процесс и превратить YES в NO, вам нужно создать новый залог из воздуха (потому что контракты NO покрывают гораздо более широкий диапазон, чем YES). У адаптера нет прав использовать средства казны.
Это как разбить яйцо. NO — это целое яйцо, содержащее все возможности. Операция конвертации — это разбивание яйца, разделение на желток (YES) и белок (кэш). Процесс сохраняет стоимость, но вы никогда не соберете их обратно в целое яйцо.
Здесь есть огромная возможность для арбитража: если вы видите, что цена NO определенного кандидата выше общей цены YES всех остальных кандидатов, вы можете купить этот NO, вызвать convertPositions, получить кэш и кучу YES, а затем немедленно продать эти YES. Это арбитраж высшего уровня на рынках с несколькими исходами.
Глава 7: Физические пределы скорости
Наконец, поговорим о самой жестокой размерности торговли: времени.
В традиционном HFT мы обсуждаем микросекунды. В Polymarket — миллисекунды. Но здесь есть огромное структурное неравенство.
Если вы бывали в разделе алгоритмической торговли на Reddit, вы видели жалобы: «Почему я всегда жду 300 мс для Taker-ордеров, а Maker-ордера проходят за 25 мс?»
7.1 Почему Maker-ордера быстрые, а Taker-ордера медленные?
Когда вы размещаете Maker (лимитный ордер): Ваш ордер (данные подписи) отправляется на сервер Polymarket. Сервер проверяет подпись и вставляет запись в базу данных CLOB в памяти. Затем сразу возвращает ACK (подтверждение). Весь процесс происходит офчейн и требует лишь одной записи в БД. Время: ~25 мс.
Когда вы размещаете Taker (рыночный ордер): Ваш ордер идет на сервер. Движок находит совпадение с Maker в книге ордеров. Оператор должен запустить сложный конвейер расчетов:
Выбрать путь (COMPLEMENTARY, MINT или MERGE).
Сконструировать ончейн-транзакцию с подписями обеих сторон.
Отправить транзакцию на Relayer.
Relayer оценивает Gas и выделяет Nonce.
Транслировать транзакцию узлам Polygon.
Ждать подтверждения от узлов, что транзакция не будет отменена из-за нехватки баланса или других причин.
Весь процесс охватывает множество микросервисов и касается границ блокчейна. Время: ~250-300 мс.
7.2 Что значат эти 250 мс?
Этот физический разрыв в 250 мс глубоко формирует экосистему Polymarket.
Во-первых, фронтранить на Polymarket очень сложно. Поскольку все Taker-ордера стоят в очереди на обработку Оператором, вы не можете «влезть без очереди», увеличив Gas. Фронтранинг в Mempool здесь временно неактуален.
Во-вторых, абсолютное преимущество Maker-стратегий. Поскольку отмена (Cancel) и Maker-ордера — это офчейн-операции, они занимают 25 мс. При появлении важных новостей прозорливые маркет-мейкеры используют эти 250 мс разницы, чтобы отменить свои ордера до того, как Taker-ордера будут исполнены (это называется избеганием неблагоприятного выбора).
7.3 90 секунд простоя каждый вторник
Есть еще одна малоизвестная деталь. Согласно документации, каждый вторник в 7:00 по восточному времени движок Polymarket перезагружается. В течение этих ~90 секунд система не обрабатывает матчи, API возвращает ошибку HTTP 425 (Too Early).
Более того, V2 ввела механизм Heartbeat. Если сервер не получает «сердцебиение» от клиента в течение 10 секунд, он автоматически отменяет все открытые ордера. Во время перезагрузки Heartbeat принудительно прерывается, и ордера маркет-мейкеров массово очищаются системой.
Эти 90 секунд — настоящий «вакуум ликвидности». Для моделей ценообразования опционов вопрос о том, как оценить Theta (временной распад) этих 90 секунд и как захватить рынок на 91-й секунде — главная головоломка для топовых платформ и квант-студий.
Сравнение таймлайна задержек
Глава 8: Эпическая реструктуризация V2 и битва с «призрачными исполнениями» (Ghost Fill)
Если вы дочитали досюда, вы поняли ядро Polymarket. Но чтобы продолжать зарабатывать в 2026 году, вы должны понимать произошедшее «землетрясение».
С февраля по май 2026 года Polymarket тихо провел эпическое обновление архитектуры V2. Это не только реструктурировало залоги и формулы комиссий, но и начало битву с самым известным багом — призрачными исполнениями (Ghost Fill).
8.1 Что такое Ghost Fill? Разрыв состояния между ончейном и офчейном
До обновления V2 бесчисленные маркет-мейкеры и квант-боты страдали от феномена: бот ловит отличную возможность на 5-минутном рынке (например, BTC Up/Down 5m) и шлет Taker-запрос. API Polymarket мгновенно отвечает: «Matched! Success!». В Telegram радостное «FILLED». Но в Polygonscan вы видите, что транзакция REVERTED (ошибка), Gas потрачен впустую, позиция не изменилась.
Книга ордеров показывает матч, а блокчейн — нет. Это Ghost Fill.
Чтобы понять суть бага, вернемся к Главе 1: Офчейн-сопоставление + Ончейн-расчет.
Когда ордера Алисы и Боба матчатся в офчейн-CLOB, система просто ставит знак «равно» между ними в базе. Реальный перевод требует, чтобы Оператор упаковал подписи обеих сторон и отправил их в Polygon для выполнения TransferFrom.
Это создает фатальный временной разрыв. В этот промежуток состояние кошелька пользователя может измениться.
8.2 Два пути атаки Ghost Fill
В ранней V1 и начале V2 хакеры и злонамеренные маркет-мейкеры использовали этот разрыв для двух разрушительных атак:
Первая: Low-cost incrementNonce Attack (Эра V1)
В V1 состояния ордеров управлялись глобальным nonce. Злоумышленники могли массово выставлять привлекательные фейковые ордера (Spoofing) офчейн. Когда реальный покупатель «клюет» и ордер матчится, злоумышленник вызывает функцию
incrementNonceончейн до того, как Оператор отправит транзакцию.Это стоит копейки, но мгновенно инвалидирует все старые ордера с этим nonce. Когда Оператор отправляет матч в блокчейн, контракт видит неверный nonce и делает revert. Атакующий выходит сухим из воды, покупатель теряет возможность и вводится в заблуждение фейковой книгой.
Вторая: «Зомби-ордера» с пустых кошельков (Ранняя V2)
Обновление V2 убрало глобальный nonce и использовало хеш ордера для управления отменой, закрыв первый путь. Но хакеры нашли уязвимость глубже: обман баланса. Пользователь кладет $1000, подписывает ордера на $10,000, затем выводит деньги. Поскольку ордера подписаны офчейн, пока подпись верна и Approval не отозван, они кажутся «легитимными» для движка. Но баланс кошелька — $0.
Когда ваш бот «ест» эти «зомби-ордера», а Оператор шлет их ончейн, библиотека Solady выдает ошибку (0x7939f424) из-за нехватки баланса. Ваша транзакция снова падает.
8.3 Почему у традиционных бирж нет этой проблемы?
Вы спросите: почему у Binance или Uniswap этого нет?
Потому что Binance централизована; деньги в их БД, они имеют абсолютный контроль. Матчинг и списание происходят атомарно. Uniswap чисто ончейн; матчинг и списание — одна транзакция смарт-контракта, тоже атомарно.
Но Polymarket выбрал гибрид: офчейн-матчинг ради скорости, ончейн-расчет ради прозрачности. При этом средства хранятся в самокастодиальных кошельках (EOA или Gnosis Safe), где пользователи имеют абсолютное право распоряжения.
Пока состояния фондов связаны с по-настоящему свободными кошельками, «разрыв состояний» будет существовать.
8.4 Решение: Депозитный кошелек (Associated Treasury)
4 мая 2026 года Polymarket объявил об обновлении протокола, снизив долю Ghost Fill с пиковых 30% до 0.17% с тенденцией к нулю.
Как? Внедрением Депозитного кошелька (Associated Treasury).
Polymarket понял, что решение — ограничить «абсолютную свободу» средств. В новой архитектуре пользователи не могут участвовать в матчинге с нативными кошельками (EOA). Вы должны сначала внести средства в Депозитный кошелек под управлением смарт-контракта.
В этой казне:
У вас есть владение, но нет абсолютного мгновенного распоряжения.
При размещении офчейн-ордера казна логически блокирует соответствующий баланс.
Если вы хотите вывести деньги, эта операция (State Revocation) имеет физическую временную стоимость. Она проходит проверку контрактом, чтобы убедиться, что у вас нет матчащихся ордеров.
Внедряя этот буфер, Polymarket принудительно связывает офчейн-матчинг и ончейн-состояние средств, полностью исключая «ордера с пустого кошелька». Это не только инженерная победа, но и глубокий компромисс между «самокастодией» и «эффективностью торговли» в DeFi.
8.5 Другие важные обновления V2
Помимо решения Ghost Fill, V2 включает глубокие изменения:
Переход на pUSD: 28 апреля залог полностью перешел с USDC.e на pUSD. Это позволило Polymarket контролировать процентные активы и давать пользователям до 4.00% годовых. pUSD стал новой инфраструктурой эффективности капитала.
Идеальная формула p(1-p): Грубая аппроксимация min(p, 1-p) из V1 ушла, формула комиссии стала идеальной дисперсией Бернулли
p × (1-p). Математическая гладкость позволяет моделям арбитражеров быть точнее.Удаление искусственных задержек: Раньше для защиты маркет-мейкеров от API-ботов была жестко прописана задержка Taker до 500 мс. С ростом производительности V2 и механизмом Heartbeat команда полностью убрала этот «тормоз» в конце февраля, объявив, что Polymarket официально вошел в эпоху микросекундного HFT. (Поэтому мы в insiders.bot готовимся открыть API, чтобы вступить в эту битву.)
Заключение: Видя эту машину насквозь
С момента клика для размещения ордера:
Ваша подпись летит в офчейн-книгу ордеров.
Relayer сжигает свой Gas, прокладывая вам путь.
Оператор ищет оптимальный путь среди COMPLEMENTARY, MINT и MERGE.
Кривая комиссий элегантно извлекает крошечные издержки по формуле
p(1-p).Если операция сложна,
NegRiskAdapterсовершит алхимию сохранения материи.
В конечном итоге все рассчитывается в те самые решающие 250 миллисекунд. (Поэтому insiders.bot считает прозрачность и скорость следования за сделками критически важными.)
Ваши деньги не исчезли. Они просто строго следуют физическим законам этой точной машины под названием ctf-exchange-v2, перетекая туда, куда должны.
В следующий раз, когда увидите невероятные коэффициенты или заманчивый арбитраж на Polymarket, не спешите жать Buy. Сначала прокрутите шестеренки этой машины в голове.
Понимание фундаментального «Фа» в сочетании с верным «Дао» сделает вас непобедимыми.
P.S. PDF-версия статьи готова. Подпишитесь на @insidersdotbot и напишите в DM «PDF», чтобы получить ее.
Ссылки
[1] Официальная документация Polymarket: Перезагрузка движка и механизм Heartbeat.
[2] Официальная документация Polymarket: Комиссии и формула расчета p(1-p).
[3] Исходный код смарт-контракта Polymarket/ctf-exchange-v2 (GitHub).
[4] NegRiskAdapter.sol: Математическая реализация конвертаций с несколькими исходами.
[5] leolabs.me: «Почему ваш PnL в Polymarket неверен» (анализ учета Split/Merge).
[6] Reddit r/algotrading & Binance Square: Анонсы удаления задержек Taker в Polymarket (февраль 2026).
[7] Руководство по миграции Polymarket V2: Переход с USDC.e на pUSD (апрель 2026).
Вам также может понравиться

Момент оплаты для ИИ-агентов: кто станет Stripe в экономике машин?

Утренний отчет | MoonPay приобретает уровень исполнения Solana DFlow; Strategy выпускает финансовый отчет за 1 квартал; Manta Network объявляет о прекращении программы стейкинга Manta

Арендованные треки: за что на самом деле платит эта волна «горячих денег» в стейблкоинах?

Dialogue Velocity Eric: Какой стейблкоин-трек действительно нужен финансовым директорам?

В стратегии следовало указать, что продажа монет не исключается

Как MegaETH удалось достичь TVL в 700 млн за неделю после TGE? Анализ стратегии «упаковки»

Часы торговли фьючерсами: торгуйте криптовалютой 24/7 и возвращайте до 45% торговых комиссий
Узнайте часы торговли фьючерсами и лучшее время для торговли криптофьючерсами. Откройте для себя преимущества круглосуточного рынка, периоды пиковой активности и способы возврата до 45% комиссий.

Почему a16z Crypto привлекает еще 2,2 миллиарда долларов для масштабных инвестиций в Web3?

Чем занимаются проекты, рожденные на криптомедвежьем рынке?

Лекция основателя a16z в Стэнфорде: когда идеи Уолл-стрит и Кремниевой долины расходятся, ошибается именно Уолл-стрит

Michael Saylor: After three consecutive quarters of losses, Strategy will sell Bitcoin to pay dividends

Станция оплаты в Ормузском проливе и юань, который невозможно купить

Интервью со стратегическим директором Coinbase Institutional: институционализация криптовалют достигла критической точки

Диалог с CEO Agora Ником: битва за лицензии на стейблкоины только начинается

Как сбалансировать риск и доходность в DeFi?

Теория Тома Ли об Ethereum: Почему человек, который предсказал последний цикл, удваивает ставки на Bitmine
Том Ли становится одним из самых влиятельных сторонников Ethereum. От Fundstrat до Bitmine, его теория об Ethereum сочетает в себе доходность от стейкинга, накопление в казначействе и долгосрочную стоимость сети. Вот почему "Том Ли и Ethereum" стала одной из самых обсуждаемых тем в мире криптовалют.

Наваль лично выходит на сцену: Историческое столкновение обычных людей и венчурного капитала

