Блокчейн/Уровень VI · После биткоина/6.3 Ethereum и смарт-контракты/Урок 4
DeFi: AMM, кредитование и что пошло не так
Код, который заменил банк, и ключи, которые он забыл запереть
МатериалыТаблица для отслеживания коэффициентов залогаДоступ к блок-эксплореру (например, Etherscan)Whitepaper Uniswap v2Блок-эксплорер для Ethereum или Solana
Любопытство
- Как два статических числа в смарт-контракте могут определять цену актива?
- Почему кредитованию под криптозалог с избыточным обеспечением нужен стейблкоин в роли расчётной единицы?
- Как пользователь может занять миллионы долларов и вернуть их в рамках одной транзакции?
Исследование
- MakerDAO, основанный Руне Кристенсеном в 2014 году, запустил DAI в декабре 2017 года. Это стейблкоин, привязанный к доллару и обеспеченный криптовалютными займами с избыточным обеспечением. Пользователи блокируют активы, например эфир, в смарт-контрактах, чтобы занять DAI. Протокол поддерживает привязку с помощью механизмов погашения и ликвидаций, если стоимость залога опускается ниже установленных порогов. Так появилась первая децентрализованная кредитная система на Ethereum, работающая без банков и центральных посредников.
- Uniswap, запущенный Хейденом Адамсом в ноябре 2018 года, заменил книги ордеров автоматическими маркет-мейкерами (AMM). Пул содержит два токена и определяет цену сделок по правилу постоянного произведения x · y = k. Любой может торговать против резервов пула или предоставлять ликвидность, чтобы зарабатывать на комиссиях. Это избавило от необходимости в контрагенте в каждый момент времени. Пользователи торгуют с пулом, а не с другим человеком, а цены удерживают в соответствии с рынком арбитражёры, поддерживающие равновесие с внешними площадками, а не сведение заявок на покупку и продажу.
- В июне 2020 года Compound начал раздавать свой токен COMP пользователям, которые предоставляли ликвидность или брали активы в долг. Эта практика, получившая название «майнинг ликвидности», стимулировала приток капитала в протоколы и дала старт «лету DeFi». Yearn Finance, начинавший ранее в 2020 году под именем iEarn и запустивший токен YFI в июле, автоматизировал поиск доходности. В сентябре 2020 года Uniswap провёл аирдроп токенов UNI ранним пользователям. Общая стоимость заблокированных в этих системах средств (TVL) резко выросла: пользователи фармили доходность, и сложился плотный компонуемый финансовый стек, где протоколы строились друг на друге.
- Тревожные сигналы появились ещё до начала лета DeFi. Смарт-контракты публичны и доступны для аудита, но ошибки в них могут быть использованы злоумышленниками. В феврале 2020 года протокол bZx пострадал от атаки с флеш-кредитом (flash loan): злоумышленник занял средства, чтобы манипулировать ценами в рамках одной транзакции. 12 марта 2020 года на фоне рыночной волатильности MakerDAO столкнулся с каскадом ликвидаций: из-за перегрузки сети и сбоев ботов-участников аукционы почти опустели, и эфир примерно на 8 миллионов долларов ушёл за ноль DAI. Maker покрыл дефицит, выпустив и продав на аукционах новые MKR, что размыло долю холдеров. DeFi наследует рыночный риск и добавляет к нему собственные технические сценарии сбоев.
- Протоколы DeFi полагаются на ценовые оракулы, чтобы определять фиатную стоимость залоговых активов, например эфира. Оракулы вроде Chainlink Price Feeds или средневзвешенных по времени цен (TWAP) Uniswap, вычисляемых ончейн, передают цены в смарт-контракты для расчётов обеспечения. Манипуляция этими потоками данных — один из главных векторов атак. Модель доверия смещается с единственного института на код, данные оракулов и механизмы управления. Когда логика даёт сбой в пограничном случае, убытки ложатся на пользователей или холдеров токенов, а не на центральный страховочный механизм.
- Компонуемость DeFi позволяет надстраивать протоколы друг над другом, создавая сложные финансовые инструменты вроде фарминга доходности с плечом. За эту эффективность приходится платить системным риском: сбой на одном уровне может каскадом распространиться на другие. Например, манипуляция ценовым оракулом способна одновременно запустить ликвидации на нескольких кредитных платформах. Компромисс лежит между прозрачностью и открытым доступом к смарт-контрактам без разрешений, с одной стороны, и хрупкостью, присущей взаимосвязанному коду, — с другой; эту хрупкость лишь отчасти смягчают аварийные механизмы, такие как экстренное отключение (shutdown) в Maker и функции приостановки в Compound.
- DeFi заменил посредников смарт-контрактами, которые применяют одинаковые правила ко всем участникам. Автоматизированные маркет-мейкеры (AMM), такие как Uniswap v2, запущенный в мае 2020 года, позволили торговать через пулы ликвидности, а не через книги ордеров. Протоколы кредитования сделали возможными займы с избыточным обеспечением: пользователи вносили активы в качестве залога, чтобы занять стейблкоины или другие токены. Эти системы работали без центральных администраторов, одобряющих отдельные транзакции.
- Главная уязвимость возникла из-за внешних источников цен, известных как оракулы. Протоколам нужны были точные цены активов, чтобы рассчитывать стоимость залога и запускать ликвидации. В марте 2020 года, во время обвала рынка, MakerDAO пережил каскадные ликвидации: перегрузка сети и запаздывающие ценовые данные позволили ботам выигрывать аукционы залога со ставками в ноль DAI, оставив безнадёжные долги на миллионы долларов. Прозрачные правила всё равно не сработали, когда засорилась окружающая их инфраструктура.
- Манипуляции оракулами оказались разрушительнее простой волатильности. В октябре 2022 года трейдер взвинтил цену малоликвидного токена MNGO на тех рынках, с которых считывал данные оракул Mango, раздув стоимость своего залога, и занял под него около 110 миллионов долларов. У протокола остался безнадёжный долг, превышающий его ликвидные резервы, что показало: код не может защитить от манипулированных входных данных.
- Мосты и административные ключи добавили новые точки отказа. Мосты переносят активы между блокчейнами, концентрируя риск в одном кастодиальном субъекте или смарт-контракте. В нескольких крупных взломах злоумышленники использовали сохранённые административные привилегии или ошибки в логике мостов, чтобы вывести средства. В отличие от неизменяемых правил консенсуса Биткоина, эти обновляемые контракты допускали изменения на основе социального консенсуса, но вместе с тем ставили пользователей в зависимость от усмотрения команд управления, обладавших властью над параметрами протокола.
- Решения, совместимые с Биткоином, могут снизить эти риски. Discreet Log Contracts позволяют сторонам проводить расчёты по внешним событиям на основе подписанных обязательств доверенных оракулов, устраняя необходимость в ончейн-источниках цен, хотя оракул по-прежнему может засвидетельствовать манипулированную цену. Кредитование с эскроу можно реализовать с помощью явных, проверяемых скриптов, в которых залог заблокирован до выполнения условий. Рынки с пакетным клирингом — это решение на уровне дизайна рынка, а не функция Биткоина — обрабатывали бы несколько ордеров вместе, уменьшая преимущества, которые даёт порядок их исполнения.
- Урок для Биткоина не в том, чтобы избегать рынков, а в том, чтобы строить их на правилах, которые может проверить любой: залог хранится в видимых скриптах, исходы фиксируются подотчётными подписями, порядок исполнения теряет значение благодаря пакетному клирингу, и ни одна сторона не может изменить правила после того, как пользователи взяли на себя обязательства. То, что DeFi сделал правильно (открытый доступ, прозрачные позиции, расчёты без клиринговой палаты), стоит забрать домой; его административные ключи и неподотчётные источники цен — нет.
Часть IЛето DeFi: AMM, кредитование и MakerDAO
Часть IIDeFi: рынки без посредников и что пошло не так
Ключевые факты
- В декабре 2017 года MakerDAO запустила DAI — стейблкоин, привязанный к доллару и обеспеченный криптовалютными займами с избыточным обеспечением.
- Uniswap популяризировал автоматический маркет-мейкер, который использует правило постоянного произведения x · y = k для ценообразования сделок без книги ордеров.
- В июне 2020 года Compound запустил «майнинг ликвидности», начав раздавать токены COMP, и это дало старт лету DeFi.
- В феврале 2020 года протокол bZx пострадал от атаки с флеш-кредитом, в ходе которой злоумышленник использовал логику смарт-контрактов в рамках одной транзакции.
- 12 марта 2020 года из-за перегруженных аукционов ликвидации залог MakerDAO примерно на 8 миллионов долларов был продан за ноль DAI.
- Протоколы DeFi используют ценовые оракулы, такие как Chainlink и TWAP Uniswap, чтобы определять фиатную стоимость залоговых активов.
- Uniswap v2 (май 2020 года) развил архитектуру AMM, в которой торговля идёт против пулов, а не по книгам ордеров, добавив пары «токен — токен» и ценовые оракулы.
- В марте 2020 года из-за перегрузки сети аукционы залога MakerDAO закрывались по нулевым ставкам, оставив миллионы долларов безнадёжного долга.
- В октябре 2022 года трейдер манипулировал ценой, которую считывал оракул Mango Markets, раздул свой залог и занял около 110 миллионов долларов.
- Мосты концентрируют риск, перемещая активы между блокчейнами, и подвергают пользователей рискам кастодиальных субъектов или уязвимостей смарт-контрактов.
- Discreet Log Contracts позволяют проводить расчёты по внешним событиям на основе подписанных обязательств доверенных оракулов без ончейн-источников цен.
- Рынки с пакетным клирингом обрабатывают несколько ордеров в одном блоке, уменьшая преимущества, которые даёт порядок исполнения, и снижая подверженность манипуляциям в реальном времени.
Упражнение девять, шесть, три, один
9СобратьПеречислите 9 протоколов DeFi, действовавших в 2020 году. Укажите их основную функцию (займы, обмен, стейблкоины) и символ токена.
6СгруппироватьРаспределите 9 протоколов по 6 группам по профилю риска: подверженность манипуляциям ценой, сложность смарт-контрактов, зависимость от ликвидности, зависимость от оракулов, централизация управления или другое.
3Выделить главноеСведите 6 групп к 3 ключевым техническим уязвимостям, которые определяют системный риск DeFi.
1КристаллизоватьНапишите 1 предложение о том, как компонуемость (composability) усиливает в децентрализованных финансах и доходность, и эффект заражения.
Проверка фактов
Даты, цифры и утверждения были проверены по приведенным ниже опубликованным источникам.
- MakerDAO, 'The Dai Stablecoin System' (2017) and 'The Maker Protocol: MakerDAO's Multi-Collateral Dai (MCD) System' (2020)
- H. Adams, N. Zinsmeister & D. Robinson, 'Uniswap v2 Core' (2020)
- Compound documentation (COMP distribution, June 2020)
- MakerDAO 'Black Thursday' reporting (March 2020)
- Contemporary reporting on the Mango Markets exploit (October 2022)