Блокчейн/Уровень IX · Скорость и зрелище/9.2 Честный рынок/Урок 6
Бессрочные кривые и рынки с самоценообразованием
Отказ от события миграции и внешнего источника цен
МатериалыБлок-эксплорер для Solana или EthereumДокументация по математике AMM с константным произведениемТаблица для отслеживания соотношения резервов
Любопытство
- Почему перенос ликвидности с кривой в пул открывает окно для атак?
- Как контракт может определить собственную цену, не полагаясь на внешний оракул?
- В чём компромисс между фиксированной внутренней глубиной ликвидности и переменной ликвидностью, которую предоставляет рынок?
Исследование
- Многие бондинг-кривые на лаунчпадах рассчитывают цену токенов по формуле постоянного произведения, в которой виртуальные резервы задают стартовую цену. Когда токен достигает определённого порога капитализации, он обычно проходит «выпуск» (graduation) — накопленные резервы переносятся в пул автоматического маркет-мейкера (AMM). Миграция сопровождается паузой в торгах и выполнением сложных изменений состояния, которые передают владение активами между контрактами.
- Момент «выпуска» структурно уязвим. Он создаёт короткое окно, когда ликвидность находится в процессе переноса и открыта для снайпинга со стороны опытных игроков, отслеживающих неподтверждённые транзакции. В плохо спроектированных системах ошибки на этом этапе могут привести к безвозвратной блокировке средств или краже. Бессрочная кривая полностью исключает это событие: контракт никогда не мигрирует, поэтому окно, связанное с миграцией, исчезает, хотя обычные сэндвич-атаки на сделки по кривой остаются возможными.
- Бессрочная кривая определяет цену исключительно по собственным внутренним резервам — соотношению резерва нативного актива (например, SOL) к резерву токена. Поскольку контракт держит обе стороны сделки, он котирует цены покупки и продажи непосредственно по этим балансам. Такой механизм самоценообразования устраняет зависимость от внешних ценовых фидов (оракулов), которые часто становятся вектором манипуляций в децентрализованных финансах.
- Манипуляции с оракулами уже вывели из DeFi-протоколов значительный капитал. В октябре 2022 года злоумышленник взвинтил цену токена MNGO на малоликвидных рынках, данные с которых считывал оракул Mango Markets, завысив тем самым стоимость своего залога, и занял под него около 110 миллионов долларов. У кривой, которая берёт цену только из собственных резервов, нет внешнего фида, который можно исказить; её цену всё равно можно сдвинуть торговлей, но лишь заплатив за каждый токен цену самой кривой.
- Главный компромисс — глубина ликвидности. В бессрочной кривой доступная ликвидность определяется начальными параметрами и последующими сделками внутри одного контракта. Она не получает преимуществ агрегированной ликвидности от внешних маркет-мейкеров или других пулов. Крупные сделки сдвигают её цену сильнее, чем в глубоком пуле с множеством поставщиков ликвидности, а её глубина растёт только по мере роста собственных резервов.
- Чтобы проверить этот механизм, изучите реализацию бондинг-кривой в блок-эксплорере. Обратите внимание на переменные «виртуальных резервов», которые задают константу произведения (k). При каждой сделке поля виртуальных и реальных резервов меняются на одинаковые величины; постоянная разница между ними — начальная виртуальная сумма — задаёт форму кривой, а цена определяется только собственным состоянием контракта.
Ключевые факты
- «Выпуск» (graduation) предполагает перенос резервов с бондинг-кривой в пул AMM, что создаёт переходное состояние, уязвимое для снайпинга.
- Бессрочные кривые исключают миграцию, удерживая всю ликвидность в одном необновляемом контракте.
- Самоценообразование использует соотношение резервов нативного актива к резервам токена (постоянное произведение), а не внешние оракулы.
- Атака на Mango Markets в октябре 2022 года показала, насколько рискованно полагаться на манипулируемые ценовые фиды оракулов при оценке залога, под который можно занимать.
- Внутреннее ценообразование устраняет поверхность атаки, связанную с манипуляцией внешними данными, но ограничивает глубину ликвидности собственными резервами контракта.
- Виртуальные резервы в бондинг-кривых увеличивают начальную ликвидность, а их неизменность гарантирует, что математическая форма кривой остаётся постоянной.
Упражнение девять, шесть, три, один
9СобратьВыделите 9 механизмов запуска токенов. Для каждого укажите, используется ли в нём событие миграции («выпуск», graduation) или бессрочная структура, и как определяется цена.
6СгруппироватьСгруппируйте эти 9 механизмов в 6 групп по тому, как они управляют ликвидностью и определяют цену.
3Выделить главноеСократите 6 групп до 3 фундаментальных компромиссов между безопасностью, которую даёт простота, и эффективностью, которую даёт агрегация.
1КристаллизоватьНапишите одно предложение о том, какая атака, если таковая существует, исчезает при удалении события миграции.
Проверка фактов
Даты, цифры и утверждения были проверены по приведенным ниже опубликованным источникам.
- E. Hertzog, G. Benartzi & G. Benartzi, 'Bancor Protocol' white paper (2017)
- H. Adams, N. Zinsmeister & D. Robinson, 'Uniswap v2 Core' (2020)
- Contemporary reporting on the Mango Markets exploit (October 2022)