Блокчейн
Lending протоколы: Aave, Compound
Представь банк, который работает 24/7, выдаёт кредиты за 12 секунд, не спрашивает паспорт и управляется кодом, а не людьми. При этом в нём заблокировано больше $50 миллиардов. Это не фантастика - это Aave и Compound. Но как выдать кредит анонимному адресу и быть уверенным, что он вернёт деньги? А ещё существует кредит на $200 миллионов вообще без залога - и он абсолютно безопасен для кредитора. Как это возможно?
- **50B+ TVL** заблокировано в lending протоколах (Aave, Compound, MakerDAO) - это больше, чем активы многих региональных банков
- **Ликвидационные боты** зарабатывают миллионы долларов в год, мониторя тысячи позиций и конкурируя за право ликвидировать в пределах одного блока (12 сек)
- **Flash loans** обеспечивают до 10B+ в день операций арбитража и рефинансирования, выравнивая цены между сотнями DEX
Предварительные знания
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) | Ликвидационный порог | Ликвидационный бонус |
|---|---|---|---|
| ETH | 80% | 82.5% | 5% |
| WBTC | 73% | 78% | 6.25% |
| USDC | 77% | 80% | 4.5% |
| LINK | 68% | 73% | 7% |
| UNI | 65% | 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 среде?