Вводный курс DeFi для всех. Безопасность. Технические и экономические аудиты
Дисклеймер
Материал подготовлен моим коллегой из DAO Envelop - T.
Введение
Следует различать технические и экономические аудиты.
Технические аудиты сосредоточены на целостности кода и ошибках, а экономические аудиты касаются более широких факторов, таких как колебания рынка, уязвимости управления и ликвидационные кризисы, которые влияют на стабильность протокола.
Архитектура протоколов DeFi
Протоколы DeFi обычно состоят из нескольких слоев, каждый из которых играет определенную роль в общей функциональности протокола. Эти слои, как правило, включают в себя:
- Ядро: Это основа протокола, включающая смарт-контракты. Технические аудиты обычно сосредоточены на этом уровне, гарантируя, что смарт-контракты выполняются согласно задумке без уязвимостей или ошибок программирования.
- Оракул: Протоколы DeFi часто полагаются на оракулов для получения данных в режиме реального времени из внешних источников (например, данные о ценах, процентных ставках). Неверные данные могут привести к ошибкам в ценообразовании, недостаточному обеспечению или другим рискам. Экономический аудит исследует зависимость протокола от оракулов и потенциальные риски манипулирования оракулами, которые технический аудит часто не может полностью устранить.
- Уровень управления: Многие протоколы DeFi используют децентрализованные автономные организации (ДАО) для принятия ключевых решений. Этот уровень включает голосование, принятие решений и изменение протокола. Экономические аудиты анализируют уязвимости в структурах управления, такие как манипуляция силой голосования или атаки с использованием мгновенных займов, когда злоумышленники временно получают большую силу голосования, чтобы повлиять на решения протокола.
- Слой ликвидности: обеспечивает достаточную ликвидность протокола для его правильной работы. В протоколах кредитования или торговли этот слой определяет, могут ли пользователи получить доступ к средствам или совершить сделки. Экономические аудиты моделируют ситуации нехватки ликвидности, чтобы проверить, как протоколы справляются в условиях недостаточной ликвидности, таких как большие снятия или резкое снижение рынка.
Экономические риски в слоистой архитектуре
Взаимодействие между слоями в иерархической архитектуре протоколов DeFi может вводить определённые экономические риски, которые часто не покрываются традиционными техническими аудитами:
- Взаимозависимость между протоколами: Многие протоколы DeFi зависят друг от друга для обеспечения ликвидности, залога или данных. Например, протокол кредитования может полагаться на внешние стейблкоины в качестве залога. Если этот стейблкоин обвалится или потеряет связь с фиатной валютой, протокол кредитования может столкнуться с недостатком залога, что приведет к массовым ликвидациям.
- Каскадные эффекты между протоколами: Атакующие могут использовать один уровень, чтобы воздействовать на другие, используя взаимосвязи между протоколами, чтобы вызвать более широкий ущерб. Например, злоумышленники могут манипулировать ценами активов в одном протоколе (через манипулирование Oracle), чтобы влиять на кредитование, торговлю или операции с залогами в других протоколах.
- Кризисы ликвидности: Многослойная архитектура также вводит риск кризисов ликвидности, где ликвидность одного слоя зависит от другого. Внезапное изъятие ликвидности из пула может нарушить работу протокола, что приведет к каскадным сбоям, затрагивающим функции других слоев.
Взаимосвязь протоколов DeFi означает, что риски часто распространяются на несколько уровней. Уязвимость на одном уровне (например, оракул или уровень управления) может вызвать цепную реакцию, приводящую к сбоям на других уровнях (например, на уровне ликвидности или основных операций). Технические аудиты в основном сосредоточены на основном протоколе, обеспечивающем правильную работу смарт-контрактов, но они не могут моделировать системные риски, возникающие из взаимодействия между этими уровнями.
Что такое экономическая аудиты?
Экономические аудиты моделируют реальные рыночные условия и проводят стресс-тесты для оценки устойчивости протокола в различных экономических сценариях.
Экономические аудиты подчеркивают понимание внутренней экономической динамики протоколов DeFi и того, как внешние факторы, такие как флуктуации рынка, кризисы ликвидности и манипуляции управления, могут использовать уязвимости.
Ключевыми аспектами экономических аудитов является моделирование сценариев, таких как экстремальные колебания цен, изменения ликвидности и изменения поведения пользователей. Они также изучают структуры управления ДАО, поскольку плохо спроектированные системы могут позволить зловредным акторам получить контроль над протоколом
Кроме того, экономические аудиты изучают структуры стимулов, чтобы гарантировать, что они способствуют здоровому участию и отпугивают злонамеренные действия. Плохо спроектированные стимулы могут привести к эксплуатации или дестабилизации. Экономические аудиты также учитывают последствия атак на отдельные протоколы взаимосвязанной экосистемы DeFi, где сбои могут распространяться и вызывать широкомасштабные нарушения.
Эти аудиты оценивают, как одно нападение может вызвать цепную реакцию, аналогичную тому, как финансовые кризисы распространяются в традиционных рынках. Учитывая взаимосвязанную природу DeFi, такие каскадные сбои представляют существенные риски, поскольку потенциальное влияние краха одного протокола может оказать влияние на ликвидность, ценообразование и управление в других.
Наконец, экономические аудиты оценивают, насколько хорошо откалиброваны параметры риска протокола для обработки стресса и манипуляций. Они предоставляют всестороннюю систему безопасности, выявляя уязвимости, которые технические аудиты самостоятельно не могут обнаружить, для лучшей защиты экосистемы DeFi.
Соотношение технических и экономических уязвимостей
Техническая и экономическая аудиты необходимы, но они служат различным целям и не могут заменить друг друга.
Технические и экономические аудиты дополняют друг друга и являются неотъемлемыми для создания комплексной системы обеспечения безопасности.
Критические уязвимости, выявленные экономическими аудитами
Технические аудиты не могут решить уязвимости, вызванные внешними экономическими факторами, зависимостями и взаимодействием с другими протоколами. Необходимы экономические аудиты для выявления и устранения этих проблем.
Зависимости токенов и каскадные эффекты
Взаимозависимость токенов представляет существенный риск в DeFi, где токены из разных протоколов часто зависят друг от друга. Резкое снижение стоимости одного токена может вызвать цепную реакцию, затрагивающую несколько платформ.
- Технические аудиты: обычно не учитывают, как внешние экономические условия, такие как спад рынка или атаки на связанные протоколы, могут вызвать каскадные сбои, затрагивающие токен протокола.
- Экономические аудиты: Моделирование таких сценариев для оценки устойчивости протокола. Например, во время краха Terra Luna, открепление его стейблкоина привело к широким нарушениям в экосистеме DeFi.
Зависимость от оракула и манипулирование ценами
Многие протоколы DeFi полагаются на оракулы для получения внешних данных, таких как цены на токены или процентные ставки. Однако такая зависимость создает общую уязвимость: если оракул подвергается взлому или предоставляет неточные или подделанные данные, протокол может столкнуться с серьезными рисками.
- Атаки на манипуляцию ценами: типичная форма экономической атаки, при которой злоумышленники манипулируют ценами токенов, сообщаемыми оракулами, чтобы получить прибыль, например, через арбитражные возможности или принудительное ликвидирование.
- Технические аудиты: обычно сосредоточены на обеспечении правильного взаимодействия кода с оракулом, но не оценивают риски манипулирования ценами на уровне оракула, что может иметь разрушительные последствия для протокола.
Атаки на управление
Злоумышленники могут злоупотреблять механизмами управления, чтобы захватить протокол, предложить злонамеренные действия или украсть средства, как это продемонстрировано в эксплуатации Beanstalk. В этом случае злоумышленник временно занял большое количество токенов через мгновенный кредит, контролировал 79% избирательной силы, принял злонамеренное предложение и украл 181 миллион долларов.
- Технические аудиты: обычно не уделяют внимание управленческим структурам и фокусируются на коде смарт-контрактов.
- Экономические аудиты: Анализ потенциальных уязвимостей в системах управления, особенно рисков, связанных с временным увеличением голосовой силы с помощью методов, таких как флэш-займы, которые часто не обнаруживаются техническими аудитами.
Кризисы ликвидности и устойчивость протокола
Внезапное снижение ликвидности может вызвать скольжение цен, принудительные ликвидации или дефицит залогов, что потенциально может привести к системному краху. Такие кризисы могут возникать из-за спада на рынке, волатильности токенов или масштабных выводов.
- Технические аудиты: проверяют правильную работу контрактов в нормальных условиях.
- Экономические аудиты: моделируют условия повышенного напряжения, такие как нехватка ликвидности, для оценки способности протокола выдержать подобные сценарии и эффективно восстановиться.
Примеры экономических атак
Случай №01: Атака на рынок Mango
- Дата: Октябрь 2022
- Метод атаки: Манипуляция ценой
- Сумма убытков: $116 миллионов
В этой атаке злоумышленник манипулировал ценой токенов Mango ($MNGO), создавая расхождения в ценах на нескольких биржах, что вызвало массовые ликвидации и в конечном итоге истощило средства протокола.
Процесс атаки: Злоумышленник использовал два кошелька, каждый из которых содержал $5 миллионов в USDC, чтобы начать атаку. Кошелек 1 разместил крупный ордер на продажу MANGO-токенов на сумму $483 миллиона по низкой цене $0.0382.
Манипуляция ценой: Кошелек 2 приобрел все MANGO-токены, проданные кошельком 1, по этой низкой цене. Злоумышленник затем начал активно покупать MANGO-токены на нескольких платформах, включая Mango Markets, AscendEX и FTX, подняв цену с $0.0382 до $0.91 за короткое время.
Использование взрывного роста цены: Внезапный рост цены вызвал массовые ликвидации коротких позиций, так как цена MANGO-токена превысила стоимость залога коротких продавцов. Злоумышленник извлек прибыль из взрывного роста цены, после чего цена MANGO-токена упала до $0.0259.
Результат: Атака привела к значительным потерям ликвидности для рынка Mango, с ликвидацией более 4 000 коротких позиций, что вызвало дестабилизацию протокола.
Случай №02: Атака Beanstalk
- Дата: апрель 2022 года
- Метод атаки: Манипуляция управлением
- Сумма убытков: $181 миллион
Этот атака включала злоумышленника, использующего системы управления для продвижения злонамеренных предложений.
- Атака на правила управления: злоумышленник предложил ДАО перевести токены из казны Beanstalk на свой кошелек. Эти предложения были замаскированы под законные изменения в управлении. Система управления Beanstalk требовала экстренного голосования, где для прохождения предложений требовалось большинство в две трети голосов.
- Атака с флэш-займом: злоумышленник использовал флэш-займ для временного заимствования большого количества токенов Beanstalk, получив контроль над 79% силы голоса. С помощью этого большинства злоумышленник успешно принял предложения, переведя средства из казны Beanstalk на свой кошелек.
Исход: успешная атака на управление привела к потере привязки токена BEAN, его цена упала на 75%, что серьезно повлияло на стабильность протокола. Общий ущерб составил 181 миллион долларов.
Случай 3: Депег UST и крах Terra Luna
- Дата: май 2022 года (подробнее)
- Метод атаки: Совокупность факторов
- Сумма убытков: $60 миллиардов
Стабильная монета UST от Terra была алгоритмически привязана к доллару США, полагаясь на свою связь с токеном Luna для поддержания стабильности цены. Система позволяла обменивать UST на Luna по фиксированному курсу для сохранения привязки. Однако модель сильно зависела от доверия рынка и ликвидности, которые оба рухнули под внешним экономическим давлением.
В мае 2022 года крупное рыночное событие привело к тому, что UST потерял привязку и упал ниже $1. Это вызвало эффект «смертельной спирали», поскольку держатели UST бросились обменивать свои токены на Luna. Это быстро разбавило предложение Luna, что привело к падению ее цены.
По мере того, как отвязка UST ухудшалась (UST стал дешевле к доллару), образовалась петля обратной связи, в результате чего цены UST и Luna рухнули, что сделало протокол непригодным для восстановления.
- Неустойчивый алгоритм привязки: Механизм поддержания долларовой привязки UST был по своей сути нестабильным и в значительной степени зависел от арбитража между UST и LUNA. Когда доверие к UST резко упало, этот механизм дал сбой, вызвав массовый рост предложения LUNA и резкое падение ее цены.
- Чрезмерная зависимость от арбитражных механизмов: Когда привязка UST не сработала, вся система стала нестабильной. Это привело к быстрому росту предложения LUNA, поскольку инвесторы конвертировали UST в LUNA, что еще больше дестабилизировало систему.
- Неустойчивая доходность протокола Anchor, который предлагал высокую доходность по вкладам в UST, которая была неустойчивой и создавала структуру, похожую на финансовую пирамиду. При резком увеличении изъятия средств резервы Терры быстро истощались, что еще больше дестабилизировало экосистему.
- Отсутствие устойчивых резервов: Резервы Terra были недостаточны для поддержки привязки UST в экстремальных рыночных условиях. Несмотря на попытки использовать резервы биткоина для стабилизации UST, эти попытки не увенчались успехом, углубив кризис.
- Рыночная паника и потеря доверия: По мере распространения новостей об отмене привязки UST началась паническая продажа, что привело к потере доверия инвесторов и ажиотажной распродаже. Это создало спираль смерти как для UST, так и для LUNA, в результате чего цена LUNA упала почти до нуля.
Воздействие: Крах Terra Luna имел далеко идущие последствия для экосистемы DeFi. Многие протоколы, связанные с Terra через пулы ликвидности, платформы для кредитования и услуги стейкинга, столкнулись с кризисом ликвидности, что привело к массовым ликвидациям и потерям средств из-за их экспозиции к Terra.