Пояснення базового алгоритму Polymarket
Оригінальна робота: @MrRyanChi, @insidersdotbot Засновник платформи для торгівлі на ринках прогнозів
Передмова: Зворотний бік Polymarket, про який ви не знаєте
За останні шість місяців у Twitter з’явилися сотні мільйонів публікацій про ринки прогнозів.
Дев’яносто відсотків з них розповідають про те, як програми для написання текстів на базі ШІ можуть створити міф про швидке збагачення. Це «Юань» — перший крок до знайомства з цим ринком, що зароджується.
Ще 9% обговорюють конкретні торгові стратегії, розподіл ринку та аналіз стратегій «розумних грошей» (smart money). Це «Дао» — перший крок до вивчення власних торгових стратегій і розуміння психології заробітку на ринках прогнозів.
Однак «Фа», що стосується базового торгового дизайну ринків прогнозів, розрахунків 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 або будь-яким іншим AI-агентом як навчальним матеріалом!!!
Розділ 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 Ілюзія «безгазових» транзакцій
Однією з найбільших переваг Polymarket є «безгазові транзакції» для користувачів. Вам потрібні лише 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 Чи за все платить користувач?
У багатьох ранніх архітектурах мета-транзакцій після того, як Relayer покривав Gas, він зазвичай вираховував комісію з депозиту користувача (наприклад, 0.3% або фіксовану суму), щоб компенсувати витрати.
Але Polymarket діє надзвичайно агресивно: у поточній архітектурі V2 вони справді покривають повну суму за вас.
Офіційна документація чітко зазначає: «Polymarket сплачує gas за всі операції, що проходять через ретранслятор». Незалежно від того, чи це розгортання гаманців, авторизація токенів, чи розділення (Split), об’єднання (Merge) або викуп (Redeem) — усе це безгазово і без прихованих операційних комісій.
Чому Polymarket готова нести ці збитки?
Тому що витрати на Gas у Polygon дуже низькі (зазвичай лише кілька центів), а безгазовий досвід може залучити величезний потік користувачів Web2. Доки користувачі сплачують невелику комісію Taker під час торгівлі (про що йтиметься далі), цього достатньо, щоб покрити ці надзвичайно низькі витрати на Gas.
Знаючи це, виникає наступне питання: як ця «безгазова» архітектура впливає на нашу торгівлю?
Найбільша прихована вартість — це затримка. Ваш ордер не тільки має пройти через механізм зіставлення 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 проти SELL) і упаковує їх ончейн. Смарт-контракт виконує прямий переказ:
Переказує 100 YES з адреси Боба на адресу Аліси.
Переказує $60 pUSD з адреси Аліси на адресу Боба.
Цей механізм має такі математичні та інженерні характеристики:
Гра з нульовою сумою: Загальна пропозиція токенів у системі не змінилася.
Мінімальне споживання Gas: Включає лише базові перекази без складних операцій CTF.
Стандартизація: На зрілому, ліквідному ринку переважна більшість щоденних угод здійснюється саме так.
3.2 MINT (Зіставлення через мінтинг): Створення ліквідності з повітря
Це, можливо, найбільш революційна інновація в Polymarket і навіть у всій фінансовій історії.
Щоб краще пояснити, звернімося до такого сценарію: щойно запустився абсолютно новий ринок, і ні в кого немає токенів YES або NO.
Аліса налаштована дуже оптимістично; вона хоче купити 100 YES за $0.60.
Боб налаштований дуже песимістично; він хоче купити 100 NO за $0.40.
Примітка: Обидва вони — покупці! Ні в кого немає токенів, які хоче інший!
У традиційній книзі ордерів ці два ордери можуть лише «дивитися» один на одного і ніколи не зможуть виконатися. На Polymarket, якщо відбувається BUY проти 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 за YES, $0.49 за NO). Коли роздрібні інвестори прийдуть продавати, це запустить логіку мінтингу.
3.3 MERGE (Зіставлення через об’єднання): Анігіляція ліквідності
Де є створення, там є і знищення. MERGE — це зворотний процес до MINT.
Розглянемо зворотний випадок. Ринок ось-ось закриється, і всі закривають свої позиції.
Аліса має 100 YES, і вона хоче продати їх за $0.60.
Боб має 100 NO, і він також хоче продати їх за $0.40.
Примітка: Обидва вони — продавці! Ніхто не хоче платити pUSD, щоб купити їхні токени.
У цей момент механізм Polymarket знову почне діяти. При зустрічі SELL проти SELL Оператор знову зробить свою магію:
Смарт-контракт забирає 100 YES у Аліси.
Смарт-контракт забирає 100 NO у Боба.
Смарт-контракт викликає функцію
_merge, щоб повністю знищити ці 100 пар YES+NO і розблокувати $100 pUSD з казначейства.Надсилає $60 pUSD Алісі.
Надсилає $40 pUSD Бобу.
Механізм Merge має такі математичні та фінансові характеристики:
Дефляційний механізм: Загальна пропозиція токенів у системі зменшується.
Канал виходу: Він гарантує, що навіть без «покупця», доки ціни продавців YES і NO в сумі дають $1.00 (фактично відмовляючись від $1.00 простору), кожен все одно може отримати готівку.
Розуміння цих трьох методів зіставлення дає вам уявлення про життєвий цикл ринку Polymarket:
Рання стадія (домінує MINT): Ринок щойно відкрився, токенів немає. Як «бики», так і «ведмеді» постійно вливають кошти в систему через механізм MINT в обмін на токени. Загальна пропозиція швидко зростає.
Середня стадія (домінує COMPLEMENTARY): Ринок має достатню ліквідність, і більшість угод — це обмін існуючими токенами. Загальна пропозиція стабілізується.
Пізня стадія (домінує MERGE): Результати стають зрозумілішими, і всі починають закривати свої позиції. Як «бики», так і «ведмеді» знищують токени через механізм MERGE, щоб отримати готівку. Загальна пропозиція зменшується.
Будь ласка, зверніть увагу, що ці три шляхи не обираються суб’єктивно Оператором, а суворо визначаються правилами маршрутизації смарт-контракту на основі напрямку ордерів (BUY проти 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. Математична умова дуже зрозуміла: коли
Ціна(YES) + Ціна(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 має бути такою:
Загальний PnL = Σ(дохід від продажу) + Σ(дохід від Merge) + Σ(дохід від Redeem) - Σ(витрати на купівлю) - Σ(витрати на Split) + Ринкова вартість поточної позиції
Ось чому ви бачите деяких великих гравців у таблиці лідерів, які показують збитки в мільйони, але насправді вони заробляють статки. Тому що виграшні позиції після Redeem багато інструментів «стирають» з історичних записів, залишаючи лише ті, що все ще в збитку.
Пастка розрахунку PnL
Розділ 5: Крива комісій
Якщо ви торгуєте часто, ви помітите, що комісії Polymarket — це не фіксований відсоток. Іноді з вас беруть $10 за купівлю контракту на $1000, а іноді лише $2.
Чому? Давайте подивимося на формулу комісії, приховану глибоко в коді:
Комісія = C × feeRate × p × (1 - p) (де C — сума транзакції, p — ціна)
5.1 Чому p(1-p)?
Припустимо, ви хочете купити 100 YES за ставкою 2%:
Якщо ціна YES $0.50:
Комісія = 100 × 2% × 0.50 × 0.50 = $0.50Якщо ціна YES $0.90:
Комісія = 100 × 2% × 0.90 × 0.10 = $0.18Якщо ціна YES $0.10:
Комісія = 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
Якщо ви грали на ринках з кількома результатами, як-от вибори, «Оскари» або спортивні події на Polymarket, ви точно стикалися з ринками Negative Risk.
Це найбільш «мозковиносна» частина всієї статті, але вона також найкраще відображає естетику інженерії смарт-контрактів.
P.S. Це також частина, яку наш співзасновник @DakshBigShit вирішив після 36-годинного марафону під час розробки нашого власного API.
6.1 Больові точки традиційних ринків з кількома результатами
Припустимо, є чотири кандидати: А, B, C, D. Ви абсолютно ненавидите А і впевнені, що А не може перемогти. Ви хочете «зашортити» А.
На традиційному бінарному ринку вам просто потрібно купити контракт NO на А. Але на ринку з кількома результатами, якщо А програє, це означає, що має перемогти хтось із B, C або D. Отже, «шорт А» математично суворо еквівалентний «лонгу B + лонгу C + лонгу D». (Це речення дуже важливе; читайте його, поки не зрозумієте.)
Якщо ви підете на ринок і купите контракти YES для B, C і D окремо, ви зіткнетеся з величезною проблемою: дуже низька ефективність капіталу. Тому що вам потрібно заплатити три окремі суми, і якщо ціни цих трьох у сумі дають більше $1.00, ви можете навіть отримати збиток.
6.2 Магія адаптера Negative Risk (NegRiskAdapter)
Polymarket розгорнула спеціальний смарт-контракт NegRiskAdapter для вирішення цієї проблеми. Він надає функцію під назвою convertPositions.
Мета функції — миттєво конвертувати ваші контракти NO у контракти YES для всіх інших кандидатів і повернути вам суму готівкою.
Давайте математично доведемо, чому ця конвертація зберігає вартість.
Налаштування сценарію: Є n кандидатів.
У вас є А акцій контрактів NO на кандидата 1 і А акцій контрактів NO на кандидата 2 (ви шортите обох 1 і 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) готівкою, плюс А акцій контрактів YES для кандидатів 3, 4, ... n.
У цьому прикладі він повертає: A × (2-1) = A готівкою! Плюс А акцій YES для кандидата 3, А акцій YES для кандидата 4...
Після конвертації реальна вартість ваших активів (у всіх можливих часових лініях):
Якщо перемагає кандидат 1: ваші YES_3 і YES_4 стають нікчемними. У вас є лише готівка A. Загальна вартість = A. (Дорівнює вартості до конвертації!)
Якщо перемагає кандидат 2: ваші YES_3 і YES_4 стають нікчемними. У вас є лише готівка A. Загальна вартість = A. (Дорівнює вартості до конвертації!)
Якщо перемагає кандидат 3: ваш YES_3 коштує $1, інші стають нікчемними. Плюс готівка A. Загальна вартість = A + A = 2A. (Дорівнює вартості до конвертації!)
Q.E.D. Незалежно від того, як розвивається світ, вартість до і після конвертації абсолютно однакова.
Математичне доведення конвертації 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: Фізичні крайнощі швидкості
Нарешті, поговоримо про найжорстокіший вимір торгівлі: час.
У традиційній високочастотній торгівлі ми обговорюємо мікросекунди (мільйонні частки секунди). На Polymarket ми обговорюємо мілісекунди. Але тут є величезна структурна нерівність.
Якщо ви спілкувалися в секції алгоритмічної торгівлі на Reddit, ви знайдете, що всі програмісти, які розробляють ботів для Polymarket, скаржаться на одне й те саме: «Чому я завжди маю чекати 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. Якщо сервер не отримує heartbeat від клієнта протягом 10 секунд, він автоматично скасує всі відкриті ордери для цього користувача. Протягом цих 90 секунд перезапуску heartbeat маркет-мейкерів примусово перериваються, і їхні ордери будуть колективно очищені системою.
Ці 90 секунд представляють справжній «вакуум ліквідності» в системі. Для моделей ціноутворення опціонів питання про те, як оцінити Theta (часовий розпад) цих 90 секунд і як захопити ринок, коли механізм відновлюється на 91-й секунді, є головною загадкою для топових платформ і кількісних студій.
Порівняння часової шкали затримки
Розділ 8: Епічна реструктуризація V2 та остаточна битва проти «Ghost Fill»
Якщо ви дочитали до цього місця, ви зрозуміли основний каркас Polymarket. Але якщо ви хочете продовжувати заробляти на цьому ринку у 2026 році, ви повинні розуміти великий землетрус, що щойно стався.
Між лютим і травнем 2026 року Polymarket тихо пройшла епічне оновлення архітектури V2. Це оновлення не тільки реструктуризувало заставу та формули комісій, але, що важливіше, воно розпочало остаточну битву за вирішення найвідомішого бага на ринках прогнозів, а саме «примарних заповнень» (Ghost Fill).
8.1 Що таке Ghost Fill? Розрив стану між ончейном та офчейном
До оновлення Polymarket V2 незліченні маркет-мейкери та кількісні боти були змучені явищем: ваш бот вловлює чудову можливість на 5-хвилинному ринку (як-от BTC Up/Down 5m) і негайно надсилає запит Taker. API Polymarket миттєво повертає: «Зіставлено! Успіх!». Ваш сповіщення в Telegram також вискакує з хвилюванням «FILLED». Але коли ви відкриваєте Polygonscan, щоб перевірити блокчейн-провідник, ви виявляєте, що ця транзакція позначена як REVERTED (невдала), марно витрачаючи комісії Gas. І ваша позиція залишається незмінною.
Книга ордерів чітко показує зіставлення, але блокчейн каже, що нічого не сталося. Це Ghost Fill.
Щоб зрозуміти суть цього бага, нам потрібно повернутися до базової архітектури, обговореної в Розділі 1: Офчейн-зіставлення + Ончейн-розрахунок.
Коли ордер на купівлю Аліси та ордер на продаж Боба зіставляються в офчейн-книзі CLOB, система лише ставить знак рівності між цими двома ордерами в базі даних. Фактичний переказ активів вимагає від Оператора упакувати підписи обох сторін і подати їх у мережу Polygon для виконання TransferFrom.
Це створює фатальний часовий розрив. Протягом цього часового розриву стан гаманця користувача може змінитися.
8.2 Два шляхи атаки Ghost Fill
У ранній V1 та щойно запущеній V2 хакери та зловмисні маркет-мейкери використовували цей часовий розрив, щоб винайти два надзвичайно руйнівні методи атаки:
Перший: Атака через низьковартісний incrementNonce (Ера V1)
В архітектурі V1 стани ордерів керувалися глобальним nonce (випадковим числом). Зловмисні гравці могли шалено розміщувати дуже привабливі фейкові ордери (Spoofing) офчейн. Коли справжній покупець «клює», і ордер показує зіставлення офчейн, зловмисний гравець може викликати функцію
incrementNonceончейн до того, як Оператор її подасть.Ця операція коштує дуже мало (кілька центів у Gas), але може миттєво анулювати всі старі ордери з nonce для цієї адреси. Коли Оператор подає зіставлену транзакцію ончейн, смарт-контракт виявляє, що nonce неправильний, і безпосередньо відкочує її. Атакувальник виходить сухим із води, тоді як справжній покупець не тільки втрачає торгову можливість, але й може бути введений в оману фейковою книгою ордерів.
Другий: «Зомбі-ордери» з порожніх гаманців (Рання V2)
Оновлення V2 видалило глобальний nonce і використало єдиний хеш ордера для керування станами скасування, блокуючи перший шлях. Але хакери швидко виявили глибшу вразливість: обман балансу. Зловмисний користувач може внести $1000 на гаманець, підписати купу лімітних ордерів на загальну суму $10,000, а потім негайно переказати всі гроші з гаманця. Оскільки ордери Polymarket підписані офлайн, доки підпис дійсний і схвалення токенів (Approval) не відкликано, ці ордери здаються «легітимними» для офчейн-механізму зіставлення. Але насправді баланс цього гаманця — $0.
Коли ваш бот «з’їдає» ці «зомбі-ордери», і Оператор подає їх ончейн, базова функція бібліотеки Solady TransferFrom видасть помилку (код помилки 0x7939f424) через недостатній баланс на іншій стороні. Ваша транзакція знову відкочується.
8.3 Чому традиційні біржі не мають цієї проблеми?
Ви можете запитати: чому Binance або традиційні децентралізовані біржі (як-от Uniswap) не мають цієї проблеми?
Тому що Binance суто централізована; ваші гроші існують у її базі даних, і вона має абсолютний контроль. Зіставлення та вирахування відбуваються атомарно. А Uniswap суто ончейн; зіставлення та вирахування завершуються в одній транзакції смарт-контракту, також атомарно.
Але Polymarket обрала гібридну архітектуру: офчейн-зіставлення шукає швидкість, тоді як ончейн-розрахунок шукає прозорість. Тим часом кошти користувачів зберігаються в повністю самостійно керованих гаманцях (як-от EOA або Gnosis Safe), де користувачі мають абсолютні права розпорядження і можуть переказати гроші в будь-який час.
Доки стани фінансування на обох сторонах зіставлення пов’язані з дійсно вільним самостійно керованим гаманцем користувача, «розрив стану» завжди існуватиме.
8.4 Остаточне рішення: Депозитний гаманець (Асоційоване казначейство)
4 травня 2026 року Polymarket офіційно оголосила про головне оновлення на рівні протоколу, безпосередньо зменшивши частку Ghost Fill з пікових 30% до 0.17% і прямуючи до нуля.
Як вони це зробили? Відповідь — впровадження Депозитного гаманця (Асоційованого казначейства).
Polymarket нарешті зрозуміла, що фундаментальний спосіб вирішення Ghost Fill — це обмеження «абсолютної свободи» коштів користувачів. За нової архітектури користувачі більше не можуть безпосередньо брати участь в офчейн-зіставленні зі своїми рідними гаманцями (EOA). Ви повинні спочатку внести кошти на Депозитний гаманець, контрольований смарт-контрактом.
У цьому казначействі:
Ви маєте право власності, але не абсолютні негайні права розпорядження.
Коли ви розміщуєте офчейн-ордер, казначейство логічно блокує відповідний доступний баланс.
Якщо ви хочете зняти гроші з казначейства, ця операція зняття (State Revocation) сама по собі має фізичну часову вартість. Вона повинна пройти перевірку смарт-контрактом, щоб переконатися, що у вас немає незавершених ордерів, які зіставляються.
Впроваджуючи цей буферний шар, Polymarket примусово пов’язує стан офчейн-зіставлення та стан ончейн-фінансування, повністю усуваючи можливість «ордерів з порожнього гаманця». Це не тільки інженерна перемога, але й глибокий компроміс і реконструкція суперечності між «самостійним зберіганням» та «ефективністю торгівлі» в децентралізованих фінансах.
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 (відключення на 10 секунд очищає ордери), офіційна команда повністю видалила цей штучний «лежачий поліцейський» наприкінці лютого, оголосивши, що Polymarket офіційно увійшла в мікросекундну рукопашну сутичку HFT (високочастотної торгівлі). (Це також причина, чому ми в insiders.bot готуємося незабаром відкрити API, щоб приєднатися до цієї битви.)
Висновок: Бачити цю машину наскрізь з нуля
З моменту, коли ви натискаєте кнопку розміщення ордера:
Ваш підпис надсилається до офчейн-книги ордерів.
Relayer спалює свій Gas, щоб прокласти вам шлях.
Оператор шукає для вас оптимальний шлях зіставлення серед COMPLEMENTARY, MINT та MERGE.
Крива комісій елегантно витягує крихітні витрати на тертя за допомогою формули
p(1-p).Якщо ваша операція складна,
NegRiskAdapterнавіть виконає для вас алхімію збереження матеріалу.
Зрештою, все розраховується протягом тих вирішальних 250 мілісекунд. (Це також причина, чому insiders.bot вважає прозорість і швидкість наслідування угод вирішальними.)
Ваші гроші не зникли. Вони просто суворо дотримуються фізичних законів цієї точної машини під назвою ctf-exchange-v2, перетікаючи туди, куди вони мають потрапити.
Наступного разу, коли ви побачите обурливі коефіцієнти або привабливу арбітражну можливість на Polymarket, не поспішайте натискати «Купити». Спочатку прокрутіть шестерні цієї машини у своїй голові.
Розуміючи ці фундаментальні «Фа» у поєднанні з правильним «Дао», ви обов’язково будете непереможні.
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).
Вам також може сподобатися

Години торгівлі ф'ючерсами: торгуйте криптовалютою 24/7 та повертайте до 45% комісійних
Дізнайтеся про години торгівлі ф'ючерсами та найкращий час для торгівлі криптоф'ючерсами. Відкрийте для себе переваги цілодобового ринку, пікові торгові сесії та способи повернення до 45% комісій.

Чому a16z Crypto залучає ще 2,2 мільярда доларів для масштабних інвестицій у Web3?

Що роблять проєкти, народжені під час криптозими?

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

Лекція засновника a16z у Стенфорді: коли ідеї Волл-стріт і Кремнієвої долини розходяться, помиляється саме Волл-стріт

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

Інтерв’ю зі стратегічним керівником Coinbase Institutional: інституціоналізація криптоактивів досягає критичної точки

Діалог з генеральним директором Agora Ніком: боротьба за ліцензії на стейблкоїни тільки починається

Арбітрум видає себе за хакера і ‘викрадає’ гроші, втрачені KelpDAO
KelpDAO зазнала хакерської атаки і втратила близько $300 мільйонів, ставши найбільшою DeFi-безпековою інцидентом цього року. Через кілька годин…

Зміна USDT на 1 мільярд: повернення до ончейн торгівлі
Tether влив 1 мільярд USDT на Ethereum, що спричинило рух на ринку. Загальна кількість USDT тепер становить 193…

Чому крипто RaveDAO знову зросло на 138%, незважаючи на обвинувачення в маніпуляціях?
RAVE зіштовхнулося з обвинуваченнями у маніпуляціях, але все ж таки демонструє зростання. Після обвинувачень токен відновився на 138%,…

Грейскейл змінює подання Hyperliquid ETF, замінює Coinbase на Anchorage як зберігача
Грейскейл змінив зберігача для Hyperliquid ETF, замінивши Coinbase на Anchorage Digital Bank. Anchorage Digital Bank — єдиний у…

Ріпл Щойно Перемістив $100 Мільйонів в XRP Crypto On-Chain, Поки Резерви Бірж Досягли Ведмежого Сигналу: Яка Сторона Переможе?
Ріпл перемістив 75,000,000 XRP вартістю $107,000,000 на блокчейн, що може вплинути на ціну криптовалюти. Резерви бірж XRP досягли…

Прогноз ціни на біткоїн: Ставка Blackrock на великий біткоїн
BlackRock залучив $871 мільйон у свій ETF для біткоїну, що перевершило всі інші крипто-ETF. Загальний приплив активів до…

Кардано утримує $0.24 із стрибком обсягу ADA на 48%: Чи можливо відновлення?
Кардано (ADA) зафіксовано на рівні $0.24 після зламу зростаючого тренду на $0.26, що викликає напружене спостереження за ринком.…

Токенізоване золото прибуло на Solana: чи стане Bitcoin Layer 2 наступним кроком для підвищення RWA?
OCBC запустила GOLDX токен на Ethereum та Solana, спричинивши ажіотаж на 290% зростання на ринку токенізованого золота. Solana…

Майкл Сейлор натякає на більші закупки Bitcoin й удвічі частіші дивіденди
Майкл Сейлор оголосив про можливе підвищення закупок Bitcoin. “Stretch” – перевага, що пропонує дивіденди двічі на місяць. Збільшується…

Прогноз Ціни Ethereum: ETH Мемкоїни Набирають Обертів
Ethereum спад до $2,300 — шанс для ETH мемкоїнів створити нових мільйонерів. ASTEROID та Wojak — мемкоїни на…
Години торгівлі ф'ючерсами: торгуйте криптовалютою 24/7 та повертайте до 45% комісійних
Дізнайтеся про години торгівлі ф'ючерсами та найкращий час для торгівлі криптоф'ючерсами. Відкрийте для себе переваги цілодобового ринку, пікові торгові сесії та способи повернення до 45% комісій.
