1 Каково допустимое решение для пакетного аукциона?
2 Что мы имеем в виду, когда говорим, что заказы должны быть урегулированы наилучшим образом? То есть какова наша целевая функция?
3 Почему это не может быть сделано по цепочке?
4 Ограничения для допустимого решения
5 Решение, предоставляемое решателем, определяет цены токенов и ордера, которые должны быть выполнены.
То есть решатель возвращает решение вида:
цена за знак Х, цена за маркер Y, Цена за маркер Z, …
Ордер Элис за количество х знак Х, за ордер Боба на Y Количество токенов Z, ордер Кармен для Z количество маркеров Z, …
Это и есть формат решения. Решение должно также удовлетворять следующим ограничениям.
Для каждого ордера мы требуем:
- максимальная сумма продажи не превышена (вы не продаете больше, чем указали)
- предельная цена не превышена (вы гарантированно не купите сверх указанной вами суммы)
- сохранение токена (общая сумма проданного токена X равна общей сумме купленного токена X)
- согласованность цене (например, если знак АВС имеет цену х в DEF маркеров, маркер DEF имеет цену 1/х в ABC маркеры).
- арбитраж-принуждение к свободе (нет возможности арбитража в рамках заказов в пакете)
Существует также еще одно более математическое ограничение, называемое нормализацией обменного курса; я просто отсылаю вас к их вайт пеперу для формального определения.
Важно отметить, что один ордер позволяет урегулировать только до 30 заказов. Это происходит потому, что после этого момента становится довольно трудно придумать хорошее решение за те 4 минуты, которые даны решателям.
Целевая функция: максимизация благосостояния трейдера
Теперь, после того как решения, предлагаемые решателями, проверены на валидность (путем проверки вышеуказанных ограничений), одно решение должно быть выбрано как “лучшее”. Здесь, в протоколе Gnosis, best определяется как решение, которое максимизирует благосостояние трейдера, определяемое как общий торговый профицит, который:
- дает более справедливое решение в том смысле, что токены распределяются между трейдерами, которые ценят их больше всего, то есть теми, кто предлагает лучшие предельные цены
Сторонние решатели пытаются удовлетворить заказы, которые максимизируют площадь (показанную выше) по всем возможным парам.
Краудсорсинг NP-solid
А теперь самое интересное!
Найти наилучшее решение, удовлетворяющее вышеприведенным ограничениям и имеющее максимальный торговый профицит,-задача NP-трудная. Неофициально это означает, что самый известный алгоритм для решения такого рода проблем будет работать так долго (мы говорим о годах), что решение будет трудноразрешимым.
Однако, поскольку эта проблема также является NP-полной, решения могут быть проверены и проверены в разумные сроки. Таким образом, весьма изобретательно, протокол Gnosis по существу краудсорсинг решение этой проблемы (найти лучший набор заказов для выполнения в данной партии).
Группа независимых “решателей” работает над тем, чтобы найти лучшее решение для каждой партии, используя эвристические подходы, и они вознаграждаются за победу. (В случае ничьей присуждается первое представленное решение.)
Это также объясняет, почему трудно сказать, какие заказы будут включены, а какие нет. Вы не можете предсказать, какие заказы будут выполнены. Если бы вы могли, это не было бы NP-трудной проблемой. Удивительным побочным продуктом этого является то, что нет надежных стратегий для выполнения вашего заказа на этом DEX; если бы они были, это не было бы NP-трудной проблемой. Это также дает протоколу относительно хорошую устойчивость к китам (без необходимости прибегать к KYC).
Сборы
Протокол взимает комиссию в размере 0,1% от объема исполненной сделки.
Почему это важно: решатели должны платить газ за каждый включенный заказ. Таким образом, чтобы получить прибыль (то есть получить достаточный стимул) от включения данного заказа, решатели должны получать больше комиссионных, чем они теряют в ценах на газ. Более формально, если общая стоимость заказа O равна $x, решатель потребует, чтобы 0,1% от $x было больше, чем плата за газ при включении O в их решение.