Перейти к содержанию
Learning Platform
Глоссарий Troubleshooting
Урок 07.03 · 25 мин
Продвинутый
LendingEVAABorrowLiquidationTON

Lending: протокол EVAA

Лендинг-протоколы позволяют зарабатывать проценты на депозитах и занимать активы под залог — это один из столпов DeFi. EVAA — ведущий лендинг-протокол на TON, и понимание его архитектуры необходимо для интеграции кредитования в ваши приложения. Изучение EVAA раскрывает паттерны проектирования сложных DeFi-систем в асинхронной среде TON.

Lending (кредитование) — второй по значимости тип DeFi-протокола после DEX. На TON основным lending-протоколом является EVAA. Рассмотрим, как работает децентрализованное кредитование на шардированном блокчейне.


Концепция lending

Lending-протокол объединяет два типа пользователей:

РольДействиеМотивация
Supplier (поставщик)Вносит активы в протоколПолучает проценты от заёмщиков
Borrower (заёмщик)Берёт активы под залогПолучает ликвидность без продажи залога
EVAA Protocol: Supply / Borrow
Supplier (USDT)
supply USDT
Borrower (TON как залог)
supply TON (залог)
EVAA Protocol
Pool USDT: reserve = 100,000 USDT
Pool TON: reserve = 50,000 TON
Utilization USDT: 65%
Borrow rate: зависит от utilization
aUSDT (receipt)
Supplier получает
процентный доход
borrow USDT
Borrower получает
USDT, не продавая TON

Supply: поставка активов

Когда пользователь вносит токены в EVAA:

  1. Пользователь отправляет Jetton (например, USDT) в EVAA Pool
  2. EVAA Pool принимает Jetton и обновляет баланс пользователя
  3. Пользователь получает aToken (receipt-токен) — Jetton, подтверждающий его долю в пуле

aToken — это процентный receipt: его стоимость растёт со временем по мере накопления процентов от заёмщиков.

Supply flow (асинхронный):

User -> Jetton Wallet USDT (User) -> transfer USDT
     -> Jetton Wallet USDT (EVAA) -> internal_transfer
     -> EVAA Pool -> обновление баланса
     -> aUSDT Jetton Master -> mint aUSDT
     -> aUSDT Jetton Wallet (User) -> User получает aUSDT

Borrow: заём под залог

Чтобы занять токены, пользователь должен сначала предоставить залог (collateral):

  1. Пользователь вносит залог (например, TON) в EVAA
  2. Протокол рассчитывает максимальную сумму займа на основе стоимости залога
  3. Пользователь запрашивает заём (например, USDT)
  4. EVAA отправляет Jetton заёмщику

Collateral Factor (коэффициент залога)

Не всю стоимость залога можно использовать для займа. Каждый актив имеет collateral factor — долю стоимости, доступную для заимствования:

Залог: 1,000 TON (допустим, цена TON = $2)
Стоимость залога: $2,000

Collateral factor TON: 75%
Доступно для займа: $2,000 * 75% = $1,500

Пользователь может занять до $1,500 в USDT

Процентные ставки: модель утилизации

Ставки в lending-протоколах динамические и зависят от utilization rate (коэффициента использования) пула:

Utilization = Общий долг / Общие резервы

Если в пуле 100,000 USDT и 65,000 заняты:
Utilization = 65,000 / 100,000 = 65%

Чем выше utilization, тем выше ставка заимствования:

Utilization     Borrow Rate
   0%           ~1-2%        (низкий спрос)
  50%           ~3-5%        (умеренный спрос)
  80%           ~8-12%       (высокий спрос)
  95%+          ~25-50%+     (критический -- стимул вернуть долг)

Этот механизм балансирует спрос и предложение: высокие ставки привлекают новых поставщиков и побуждают заёмщиков возвращать долги.


Health Factor и ликвидация

Health Factor (коэффициент здоровья)

Health factor показывает, насколько залог покрывает долг:

Health Factor = (Стоимость залога * Collateral Factor) / Стоимость долга

HF > 1.0  --  позиция безопасна
HF = 1.0  --  на грани ликвидации
HF < 1.0  --  позиция ликвидируема

Процесс ликвидации

Когда health factor падает ниже 1.0 (стоимость залога упала или долг вырос из-за процентов):

  1. Ликвидатор (любой пользователь) видит позицию с HF < 1.0
  2. Ликвидатор погашает часть долга заёмщика (отправляет Jetton в протокол)
  3. Ликвидатор получает залог заёмщика с дисконтом (обычно 5—15%)
  4. Позиция заёмщика частично закрывается, health factor восстанавливается
Пример ликвидации:

Заёмщик: залог 1,000 TON ($2,000), долг $1,600 USDT
Цена TON падает до $1.5 -> залог стоит $1,500
Health Factor = ($1,500 * 0.75) / $1,600 = 0.70 < 1.0

Ликвидатор:
  - Погашает $800 долга (50% от $1,600)
  - Получает $800 / $1.5 * 1.05 = ~560 TON (залог + 5% дисконт)
  - Прибыль ликвидатора: ~5% от суммы ликвидации
WARNING

Риск ликвидации

Ликвидация происходит автоматически, когда health factor падает ниже порога. При высокой волатильности рынка это может произойти за минуты. Заёмщики должны следить за health factor и поддерживать его значительно выше 1.0 (рекомендуется 1.5+).


Особенности lending на TON

Асинхронная проверка залога

На Ethereum lending-протокол проверяет залог синхронно — в момент займа контракт мгновенно читает стоимость залога. На TON это невозможно:

  1. EVAA Pool запрашивает стоимость залога у Price Oracle (контракт с ценами)
  2. Oracle отвечает сообщением с текущей ценой
  3. EVAA Pool проверяет достаточность залога и выдаёт заём

Между запросом и ответом проходит время, поэтому протокол использует conservative pricing — цены берутся с запасом для защиты от манипуляций.

Шардированная модель EVAA

Архитектура EVAA Protocol
EVAA Protocol
├── Main Pool Contract (координация)
├── Price Oracle (on-chain цены)
├── Supply/Borrow позиции (per-user контракты)
├── Position (User A) — залог + долг
├── Position (User B) — залог + долг
└── ...
└── aToken Jetton Master (receipt-токены)
├── aUSDT Wallet (User A)
├── aUSDT Wallet (User B)
└── ...
NOTE

Aave/Compound vs EVAA

На Ethereum Aave — это один Pool контракт, который хранит все позиции всех пользователей. На TON EVAA использует шардированную модель: позиция каждого пользователя — отдельный контракт. Это следует той же логике, что Jetton Wallet — балансы распределены по шардчейнам для масштабируемости.


Ключевые выводы

  1. Supply — вносите активы и получаете процентный доход через aToken (Jetton receipt)
  2. Borrow — берёте заём под залог, ставка зависит от utilization
  3. Health factor — отношение стоимости залога к долгу; < 1.0 = ликвидация
  4. Ликвидация — любой может погасить чужой долг и получить залог с дисконтом
  5. На TON — проверка залога и оракулы работают асинхронно, позиции пользователей шардированы

Частые ошибки

  1. Не учитывают health factor при оценке позиции: если залог обесценится, позиция будет ликвидирована с штрафом.
  2. Забывают, что процентные ставки динамические и зависят от utilization rate: ставка может резко вырасти при высоком спросе на заимствования.
  3. Путают supply APY и borrow APY: первая показывает доходность вкладчика, вторая — стоимость кредита для заёмщика.
  4. Не обрабатывают сценарий ликвидации в своём коде: если ваш контракт взаимодействует с EVAA, он должен корректно реагировать на ликвидацию позиции.

Проверка знанийKnowledge check
Что такое health factor и что происходит, когда он падает ниже 1.0?
ОтветAnswer
Health factor -- это отношение стоимости залога (с учётом collateral factor) к стоимости долга. Когда HF < 1.0, это означает, что залог не покрывает долг, и позиция становится доступной для ликвидации: любой пользователь может погасить часть долга заёмщика и получить его залог с дисконтом (обычно 5-15%).

Закончили урок?

Отметьте его как пройденный, чтобы отслеживать свой прогресс

Войдите чтобы оценить урок

Прогресс модуля
0 из 6