Блокчейн

Lending протоколы: Aave, Compound

Представь банк, который работает 24/7, выдаёт кредиты за 12 секунд, не спрашивает паспорт и управляется кодом, а не людьми. При этом в нём заблокировано больше $50 миллиардов. Это не фантастика - это Aave и Compound. Но как выдать кредит анонимному адресу и быть уверенным, что он вернёт деньги? А ещё существует кредит на $200 миллионов вообще без залога - и он абсолютно безопасен для кредитора. Как это возможно?

  • **50B+ TVL** заблокировано в lending протоколах (Aave, Compound, MakerDAO) - это больше, чем активы многих региональных банков
  • **Ликвидационные боты** зарабатывают миллионы долларов в год, мониторя тысячи позиций и конкурируя за право ликвидировать в пределах одного блока (12 сек)
  • **Flash loans** обеспечивают до 10B+ в день операций арбитража и рефинансирования, выравнивая цены между сотнями DEX

Предварительные знания

  • AMM: Uniswap and Constant Product

Collateral: кредитование без доверия

В традиционных финансах банк выдаёт кредит, оценив твою кредитную историю, доход, место работы. В DeFi смарт-контракт не знает, кто ты. У него нет доступа к бюро кредитных историй, нет судебной системы для взыскания долга. Как выдать кредит анонимному адресу `0x...` и быть уверенным, что он вернёт?

Ответ: **over-collateralization** (избыточное обеспечение). Чтобы занять $700, ты должен заложить $1,000. Залог всегда превышает долг. Если заёмщик не вернёт - протокол продаст залог и покроет убытки. Доверие не нужно: математика гарантирует платёжеспособность.

**Collateral Factor (LTV - Loan-to-Value)** - максимальное отношение займа к залогу. Для ETH в Aave V3 LTV = 80%. Это значит: заложив ETH на $10,000, ты можешь занять максимум $8,000. Оставшиеся 20% - буфер безопасности на случай падения цены залога.

АктивLTV (Aave V3)Ликвидационный порогЛиквидационный бонус
ETH80%82.5%5%
WBTC73%78%6.25%
USDC77%80%4.5%
LINK68%73%7%
UNI65%77%10%

Когда ты вносишь залог в Aave, протокол выдаёт тебе **aToken** (aETH, aUSDC и т.д.). Это process-bearing токен - его баланс растёт каждую секунду, отражая начисленные проценты. В Compound аналог - **cToken** (cETH, cUSDC), но там растёт не баланс, а обменный курс cToken → базовый актив.

Почему DeFi lending протоколы требуют залог, превышающий сумму займа (over-collateralization)?

Liquidation: принудительное закрытие позиций

Over-collateralization работает, пока цена залога достаточно высока. Но что если ETH упал на 30% за день? Health Factor позиций пробивает 1.0 - долг становится близок к стоимости залога. Если ничего не делать, протокол окажется с «плохими долгами» (bad debt). Для этого существует **ликвидация**.

Ликвидация в DeFi - это **публичный процесс**. Когда Health Factor позиции падает ниже 1.0, **любой** может вызвать функцию `liquidate()` на смарт-контракте. Ликвидатор погашает часть долга заёмщика и забирает соответствующую часть залога **с бонусом**.

**Collateral Factor vs Liquidation Threshold - разные параметры!** - **Collateral Factor (LTV)** = 80% - максимум, который ты можешь занять - **Liquidation Threshold** = 82.5% - порог, при котором начинается ликвидация Разница в 2.5% - это «буферная зона». Ты можешь занять до 80%, но ликвидация не начнётся, пока отношение долг/залог не дойдёт до 82.5%. Это даёт время среагировать при падении цены.

**Ликвидационные каскады** - самый опасный сценарий. 12 марта 2020 года (Black Thursday) ETH упал на 43% за сутки. Ликвидации массово продавали ETH-залог на рынке, что давило цену ещё ниже, вызывая ещё больше ликвидаций. MakerDAO понёс 8.32M убытков: из-за перегрузки сети аукционы прошли с нулевыми ставками - ликвидаторы забирали залог бесплатно.

**Keeper боты** - автоматизированные программы, которые мониторят Health Factor всех позиций и вызывают `liquidate()` в момент, когда HF < 1.0. Конкуренция среди keeper-ов жёсткая: десятки ботов соревнуются за одну ликвидацию через priority fee и MEV (Maximal Extractable Value). Это обеспечивает, что ликвидации происходят быстро - обычно в том же блоке, где HF пересекает порог.

**Как избежать ликвидации:** 1) Не занимать близко к максимальному LTV - держи HF > 1.5. 2) Мониторь позицию через DeFi Saver или Instadapp, которые могут автоматически добавить залог или погасить часть долга. 3) Используй стейблкоины как залог - их цена стабильна. 4) Настрой алерты на HF через Tenderly или собственный бот.

Что такое ликвидационный бонус (liquidation bonus) в Aave и зачем он нужен?

Interest Rate Model: кинкованная кривая ставок

Кто определяет процентную ставку в DeFi? Не банк, не регулятор - **алгоритм**. Ставка зависит от одного параметра: **Utilization Rate** (коэффициент использования). Чем больше средств из пула занято - тем выше ставка. Это удачный механизм рыночного равновесия.

Логика интуитивна: при низкой utilization в пуле много свободной ликвидности - ставка низкая, чтобы стимулировать займы. При высокой utilization ликвидность на исходе - ставка резко растёт, стимулируя возврат займов и привлекая новых поставщиков ликвидности.

**Supply APY vs Borrow APY** - поставщики ликвидности получают часть процентов, которые платят заёмщики. Supply APY всегда ниже Borrow APY, потому что проценты распределяются на весь пул (включая неиспользованную ликвидность), а часть идёт в резервный фонд протокола.

**Variable vs Stable rates (Aave).** Aave предлагает два режима: **Variable Rate** - меняется каждый блок в зависимости от utilization. **Stable Rate** - фиксируется в момент займа и не меняется (с оговоркой: если рыночные условия радикально изменятся, протокол может «ребалансировать» stable rate). Stable rate всегда выше variable - это премия за предсказуемость.

Реальный кейс: скачок ставок при паническом выводе

Как кинк защищает протокол

Ноябрь 2022, крах FTX. Паника на рынке: 1. Пользователи массово выводят USDC из Aave 2. Utilization USDC пула: 75% → 95% за часы 3. Borrow APY прыгает: 3.5% → 75% (кинк сработал!) 4. Заёмщикам невыгодно держать долг при 75% APY - они срочно возвращают 5. Поставщики видят 55% Supply APY - вносят новую ликвидность 6. Utilization возвращается к 82% за сутки Кинк сработал как автоматический стабилизатор: высокая ставка = стимул вернуть заём + привлечение новой ликвидности.

Почему в кинкованной модели процентная ставка резко растёт после optimal utilization (обычно ~80%)?

Flash Loans: кредит без залога за один блок

Всё, что мы обсуждали до этого, было построено на принципе «залог всегда превышает долг». А теперь представь кредит **без залога вообще**. Не $1,000, не $10,000 - а 200 миллионов. Без залога. Без кредитной проверки. Одобрение моментальное. Такой кредит существует - и он возможен только в блокчейне.

**Flash Loan** - это заём, который выдаётся и возвращается **в рамках одной транзакции** (одного атомарного блока). Ключевое свойство EVM: если в конце транзакции долг не погашен - **вся транзакция откатывается** (revert). Деньги никогда не покидали контракт. Для протокола это безрисковая операция.

**Легитимные use cases flash loans:** 1. **Арбитраж** - купить токен дёшево на одном DEX и продать дороже на другом. Flash loan даёт капитал для арбитража без собственных средств. 2. **Collateral swap** - поменять залог (ETH → WBTC) без закрытия позиции. Flash loan позволяет погасить долг, забрать залог, внести новый, занять обратно - за одну транзакцию. 3. **Self-liquidation** - если твоя позиция вот-вот ликвидируется, ты можешь через flash loan погасить долг, забрать залог и продать его - избежав liquidation bonus. 4. **Рефинансирование** - перенести долг из Compound в Aave, если там лучше ставка.

**Flash loan attacks** - тёмная сторона. Злоумышленники используют flash loans для: - **Oracle manipulation** - занять огромную сумму, исказить цену на DEX (который используется как oracle), провести выгодную сделку на другом протоколе, вернуть заём. Пример: bZx exploit (2020) - $350K украдено. - **Governance attacks** - занять governance токены, проголосовать за вредоносный proposal, вернуть токены. Пример: Beanstalk (2022) - $182M украдено. Защита: протоколы используют TWAP (time-weighted average price) оракулы вместо спот-цены, и требуют блокировку токенов перед голосованием.

**Flash Mint** - ещё более экстремальная концепция. Некоторые токены (например, DAI через MakerDAO) позволяют **создать из воздуха** неограниченное количество токенов с условием сжечь их в той же транзакции. Это как flash loan, но без ограничения на размер пула. Теоретически можно создать 1 трлн DAI, использовать и уничтожить - за одну транзакцию.

Flash loans - это инструмент исключительно для хакеров и атак на протоколы

Flash loans - это фундаментальная DeFi-примитив, обеспечивающий рыночную эффективность. Большинство flash loan транзакций - это арбитраж (выравнивание цен между DEX), рефинансирование позиций и collateral swap. Атаки составляют малую долю и направлены не на сам механизм flash loans, а на уязвимости в других протоколах (oracle manipulation, governance exploits).

Путаница возникает из-за медийного фокуса на атаках. Flash loan - это как кредитная линия в банке: большинство используют её легитимно, но иногда кто-то берёт кредит для мошенничества. Виноват не инструмент, а уязвимость, которую он эксплуатирует. Протоколы с надёжными oracle (Chainlink TWAP) и корректной governance-моделью устойчивы к flash loan атакам.

Итоги

  • **Over-collateralization** - фундамент DeFi lending. Без кредитных рейтингов единственная гарантия - залог, превышающий долг. Health Factor = (Залог × Порог) / Долг показывает здоровье позиции
  • **Ликвидация** - публичный процесс: при HF < 1.0 любой может вызвать `liquidate()` и получить liquidation bonus (5-15%). Ликвидационные каскады (Black Thursday 2020) показали, как positive feedback loop может дестабилизировать весь рынок
  • **Кинкованная модель ставок** - автоматический стабилизатор. При utilization ниже оптимума (~80%) ставка растёт плавно, после - резко взлетает. Это удерживает ликвидность в пулах без ручного управления
  • **Flash loans** - беззалоговый кредит, возможный благодаря атомарности EVM. Используются для арбитража, рефинансирования и collateral swap, но могут эксплуатировать уязвимости oracle и governance
  • DeFi lending - это параллельная финансовая система, где код заменяет доверие, математика заменяет кредитные рейтинги, а тот самый банк без паспорта из начала урока выдаёт кредиты надёжнее многих традиционных - потому что его гарантии записаны в неизменяемом смарт-контракте

Связанные темы

Lending протоколы - центральный элемент DeFi, связанный с AMM, стейблкоинами, безопасностью и оракулами:

  • AMM: автоматические маркет-мейкеры — AMM (Uniswap, Curve) обеспечивают ликвидность для ликвидаций и flash loan арбитража - без DEX lending протоколы не могли бы быстро продавать залог
  • Stablecoins: стабильные монеты — Стейблкоины (USDC, DAI) - основной актив для займов. MakerDAO объединяет lending и stablecoin: DAI создаётся через over-collateralized позиции
  • Безопасность: integer overflow — Ошибки в смарт-контрактах lending протоколов могут привести к потере всех средств. Flash loan атаки эксплуатируют уязвимости в арифметике и логике контрактов
  • Oracles: внешние данные — Lending протоколы зависят от oracle для определения цен залога. Манипуляция oracle - главный вектор flash loan атак. Chainlink TWAP - стандартная защита

Вопросы для размышления

  • Почему DeFi lending требует over-collateralization (150%+), а банк может выдать ипотеку с залогом 80%? Какие механизмы позволяют банку брать больший риск?
  • Если бы Ethereum подтверждал блоки не за 12 секунд, а за 1 секунду - как бы это изменило динамику ликвидаций и flash loans?
  • Возможен ли DeFi lending без over-collateralization? Какие компоненты (identity, reputation, insurance) нужны для uncollateralized loans в trustless среде?

Связанные уроки

  • stat-09-regression
Lending протоколы: Aave, Compound

0

1

Войти

Почему flash loan безопасен для протокола, несмотря на отсутствие залога?