Перейти к содержанию
Learning Platform
Глоссарий Troubleshooting
Урок 07.01 · 25 мин
Начальный
DeFiAMMLendingTVLComposability

DeFi экосистема

Зачем это блокчейну?

В предыдущих модулях мы научились писать смарт-контракты на Solidity, работать с ERC-20 токенами и развертывать их на Ethereum. Но что делают самые важные контракты в экосистеме? Они создают параллельную финансовую систему — DeFi (Decentralized Finance).

В 2024 году в DeFi-протоколах заблокировано более $100 миллиардов. Биржи без посредников, кредиты без банков, стейблкоины без центральных эмитентов. Все это работает на смарт-контрактах, которые мы уже умеем писать.

В этом модуле мы разберем математику и механизмы, стоящие за каждым типом DeFi-протокола. Начнем с обзора экосистемы, а затем углубимся в формулы AMM, имплементацию Uniswap, механизмы кредитования и оракулы.

7 категорий DeFi-протоколов

DeFi экосистема состоит из семи основных категорий. Каждая решает конкретную финансовую задачу без традиционных посредников:

DeFi экосистема: 7 категорий протоколов
🔄
DEXes (AMM)
Обмен токенов через пулы ликвидности
UniswapCurveBalancer
🏦
Lending
Займы и кредитование без посредников
AaveCompoundSky (MakerDAO)
💲
Stablecoins
Токены с привязкой к доллару
USDTUSDCDAI/USDS
📊
Derivatives
Бессрочные фьючерсы и опционы
dYdXGMXHyperliquid
🔮
Oracles
Внешние данные на блокчейне
ChainlinkPythUMA
🔀
Aggregators
Лучшая цена с нескольких DEX
1inchParaswapCoW Swap
📈
Yield
Автоматическая оптимизация доходности
YearnConvexLido
Композируемость (DeFi Legos):
DEXesAggregators
DEXesLending
LendingYield
OraclesLending
OraclesDerivatives
Протоколы комбинируются как Lego: депозит в Aave дает aToken, который можно использовать как залог в MakerDAO, а полученный DAI -- инвестировать в Yearn для максимальной доходности.

1. DEXes (Decentralized Exchanges)

Обмен токенов через пулы ликвидности. Вместо ордер-бука (как на Binance) используют математические формулы — Automated Market Makers (AMM). Любой пользователь может стать провайдером ликвидности и получать комиссии.

Ключевые протоколы: Uniswap (xy=k), Curve (оптимизирован для стейблкоинов), Balancer (мульти-токенные пулы).

2. Lending (Кредитование)

Депозит токенов для получения процентов или использование залога для займа. Процентные ставки устанавливаются алгоритмически на основе спроса и предложения — никакой кредитный комитет не принимает решения.

Ключевые протоколы: Aave (flash loans, multi-chain), Compound (пионер алгоритмических ставок), Sky/MakerDAO (эмитент DAI).

3. Stablecoins (Стейблкоины)

Токены с привязкой к доллару. Три типа:

  • Фиатные: USDC (Circle), USDT (Tether) — обеспечены долларами на банковском счете
  • Крипто-обеспеченные: DAI/USDS (MakerDAO/Sky) — залог в ETH, WBTC, других токенах
  • Алгоритмические: привязка через механизмы смарт-контрактов (высокий риск)

4. Derivatives (Деривативы)

Торговля с кредитным плечом (до 50x) без центрального посредника. Бессрочные фьючерсы (perpetuals) — самый популярный инструмент: нет срока экспирации, funding rate привязывает цену к спотовой.

Ключевые протоколы: dYdX, GMX (Arbitrum), Hyperliquid.

5. Oracles (Оракулы)

Смарт-контракты не могут получить данные извне блокчейна. Оракулы доставляют цены активов, погоду, результаты событий. Без оракулов невозможны ликвидации в lending, расчет деривативов, привязка стейблкоинов.

Ключевые протоколы: Chainlink (крупнейшая сеть, тысячи узлов), Pyth (низкая латентность), UMA (оптимистичные оракулы).

6. Aggregators (Агрегаторы)

Разбивают крупные ордера по нескольким DEX для получения лучшей цены. Алгоритмы маршрутизации находят оптимальный путь обмена, минимизируя проскальзывание.

Ключевые протоколы: 1inch (крупнейший), Paraswap, CoW Swap (batch auctions).

7. Yield (Оптимизация доходности)

Автоматически перемещают капитал между протоколами для максимизации доходности. Yearn находит лучшие ставки. Lido предлагает ликвидный стейкинг ETH (stETH). Convex оптимизирует доходность на Curve.

Ключевые протоколы: Yearn, Convex, Lido (liquid staking).

8. Restaking и Liquid Restaking Tokens (LRT)

Отдельная категория DeFi, выросшая в 2024-2025 годах. EigenLayer ввёл примитив restaking: валидатор Ethereum (или держатель LST вроде stETH) повторно “ставит” свои ETH в качестве экономической безопасности для других протоколов — так называемых AVS (Actively Validated Services): oracle networks, data availability layers, sequencers L2, bridges.

Без restaking:           С restaking (EigenLayer):
ETH stake -> Ethereum    ETH stake -> Ethereum + AVS_1 + AVS_2 + ...
1 источник дохода        N источников дохода (но N штрафов slashing)
1 риск slashing          composable crypto-economic security

Ключевые факты на 2026 год:

  • EigenLayer mainnet slashing активирован 17 апреля 2025, redistribution — летом 2025, multi-chain verification (включая Base) — следом. До этого был только “soft” режим без штрафов.
  • Пик TVL рестейкинга превысил **28Bв2025году;послепереоценкирисков(slashingrepricing)экосистемастабилизироваласьоколо28B** в 2025 году; после переоценки рисков (slashing repricing) экосистема стабилизировалась около 15-19B, EigenLayer удерживает >90% доли.
  • Каждый AVS задаёт Operator Sets и Unique Stake — какую долю ETH-стейка операторы могут потерять за нарушение конкретного AVS, без каскадного slashing других сервисов.
  • Появились конкуренты с другой моделью риска: Symbiotic (permissionless collateral), Karak (multi-asset), Babylon (Bitcoin-restaking).

Над EigenLayer построен слой Liquid Restaking Tokens (LRT) — те же “квитанции” о депозите, что и LST, но для restaked ETH. Пользователь получает токен, который автоматически собирает доходность с базового стейкинга и от выбранных операторами AVS, остаётся ликвидным и используется как collateral в Aave/Pendle:

ПротоколТокенTVL (2025)Особенность
Ether.fieETH / weETH~$3.2BЛидер LRT, native restaking + AVS-fee aggregation
RenzoezETH~$2BStrategy manager поверх EigenLayer
PufferpufETH~$1.3BAnti-slashing pre-confirmation hardware
Kelp DAOrsETH~$0.7BMulti-LST basket (stETH + ETHx)

Системный риск. LRT добавляют леверидж: если LRT депонирован в Aave как collateral, slashing-инцидент в одном из AVS приводит к каскаду ликвидаций. Это новый вектор атак, не существовавший до 2024 года, и одна из главных тем DeFi-аудитов 2025-2026.

Ключевые протоколы: EigenLayer, Symbiotic, Karak (restaking-платформы); Ether.fi, Renzo, Kelp, Puffer (LRT-обёртки).

Проверка знанийKnowledge check
К какой категории DeFi-протоколов относятся Uniswap, Curve и Balancer?
ОтветAnswer
DEX (Decentralized Exchanges) -- биржи, использующие AMM (Automated Market Makers) вместо ордер-бука для обмена токенов через пулы ликвидности.

TVL: метрика капитала в DeFi

Total Value Locked (TVL) — суммарная стоимость активов, заблокированных в смарт-контрактах протокола. Это основная метрика для оценки масштаба DeFi-протокола.

TVL: капитал в DeFi протоколах
Lido~$33B
Aave~$20B
EigenLayer~$15B
Sky (MakerDAO)~$8B
Uniswap~$5B
Compound~$3B
TVL данные приблизительные и меняются ежедневно. Источник: DeFiLlama

Что показывает TVL?

  • Доверие: Чем больше TVL, тем больше пользователей доверяют протоколу свои средства
  • Ликвидность: Высокий TVL = низкое проскальзывание при обмене
  • Зрелость: Протоколы с многолетним TVL прошли проверку временем

Ограничения TVL

  • Double-counting: Один и тот же актив может учитываться в нескольких протоколах (например, stETH из Lido депонирован в Aave)
  • Leverage: TVL может быть раздут заемным капиталом
  • Не учитывает доходность: Высокий TVL не означает высокую прибыльность для LP

Ключевые концепции DeFi

Permissionless (Без разрешений)

Любой человек с криптокошельком может взаимодействовать с DeFi-протоколом. Нет KYC, нет заявок, нет одобрений. Смарт-контракт обрабатывает транзакцию одинаково для всех:

// Никакой проверки личности -- только адрес и подпись
function swap(address tokenIn, uint amountIn, uint amountOutMin) external {
    // Любой msg.sender может вызвать
}

Non-custodial (Некастодиальность)

Пользователь контролирует свои средства. Средства хранятся в смарт-контракте, а не на балансе компании. Ключевое отличие от CEX:

  • CEX (Binance): Вы доверяете биржи хранить ваши монеты. “Not your keys, not your coins”
  • DeFi (Uniswap): Средства в аудированном смарт-контракте. Вы взаимодействуете напрямую со своим кошельком

Composable (Композируемость)

“DeFi Legos” — протоколы комбинируются друг с другом. Пример цепочки:

  1. Депозит ETH в Lido → получаете stETH
  2. Депозит stETH в Aave как залог → берете займ в DAI
  3. Депозит DAI в Yearn → получаете автоматически оптимизированный доход

Каждый шаг — взаимодействие с отдельным смарт-контрактом. Композируемость возможна благодаря стандартам (ERC-20) и открытому коду.

Transparent (Прозрачность)

Все транзакции на блокчейне. Каждый может:

  • Прочитать исходный код смарт-контракта
  • Проверить состояние пулов ликвидности
  • Увидеть все свопы, кредиты и ликвидации

Smart Contract Risk (Риск кода)

Код — это контрагент. В DeFi нет службы поддержки и кнопки “отменить”:

  • Баги = потеря средств (Harvest Finance — 34M,CreamFinance34M, Cream Finance -- 130M)
  • Аудит снижает, но не устраняет риск
  • Timelock и multisig ограничивают damage от компрометации
Проверка знанийKnowledge check
Почему композируемость ('DeFi Legos') создает не только возможности, но и системные риски?
ОтветAnswer
Композируемость позволяет комбинировать протоколы (Lido -> Aave -> Yearn), но создает цепочки зависимостей: уязвимость в одном протоколе может каскадно повлиять на все связанные протоколы и их TVL.

AMM vs Order Book

Два способа организовать обмен токенов. Традиционные биржи (CEX) используют ордер-бук. DeFi использует AMM:

AMM vs Order Book: сравнение моделей
Критерий
Order Book (CEX)
AMM (DEX)
Ликвидность
Market makers (профессиональные трейдеры)
Liquidity providers (любой пользователь)
Ценообразование
Bid/ask спред (заявки покупателей и продавцов)
Формула (xy = k определяет цену)
Скорость
Instant matching (микросекунды)
Block confirmation (12 сек Ethereum)
KYC
Обязателен (паспорт, адрес)
Не требуется (только кошелек)
Кастодиальность
Биржа хранит средства
Пользователь контролирует средства
Листинг
Биржа решает (заявка, аудит, листинг)
Permissionless (любой создает пул)
Проскальзывание
Низкое для ликвидных пар
Зависит от размера пула
Доход LP
N/A (только для трейдеров)
Комиссии с каждого свопа (0.3%)

Ключевой insight: AMM позволяет создать ликвидный рынок для ЛЮБОГО токена без маркет-мейкеров. На CEX для нового токена нужен листинг и маркет-мейкер. На Uniswap любой может создать пул за одну транзакцию.

Десятичные знаки токенов

Это критически важная деталь для DeFi-разработки. Разные токены используют разное количество десятичных знаков. Путаница приводит к катастрофическим ошибкам — отправка 1 USDC вместо 1,000,000 USDC или наоборот.

TokenDecimals1.0 в rawviem / ethers.js
ETH / WETH181000000000000000000parseEther("1")
DAI181000000000000000000parseUnits("1", 18)
USDC61000000parseUnits("1", 6)
USDT61000000parseUnits("1", 6)
WBTC8100000000parseUnits("1", 8)

Предупреждение: Смешивание decimals без конвертации вызывает катастрофические ошибки. Всегда проверяйте token.decimals() перед вычислениями. USDC имеет 6 decimals, а ETH — 18. Разница в 10^12 раз!

// ПРАВИЛЬНО: учитываем decimals каждого токена
import { parseUnits, formatUnits } from 'viem';

const usdcAmount = parseUnits("100", 6);    // 100_000_000n (100 USDC)
const ethAmount = parseUnits("0.05", 18);   // 50_000_000_000_000_000n (0.05 ETH)
const wbtcAmount = parseUnits("0.001", 8);  // 100_000n (0.001 WBTC)

// НЕПРАВИЛЬНО: использование parseEther для USDC
// const wrong = parseEther("100"); // Это 100 * 10^18 -- КАТАСТРОФА для USDC

Паттерн Approve + Interact

Для взаимодействия с любым DeFi-протоколом необходим двухшаговый паттерн (из ERC-20, урок ETH-08):

  1. Approve: Дать протоколу разрешение тратить ваши токены
  2. Interact: Вызвать функцию протокола (swap, deposit, borrow)
import { getContract, parseUnits } from 'viem';

// Шаг 1: Approve -- разрешить Uniswap Router тратить USDC
const usdc = getContract({ address: USDC_ADDRESS, abi: erc20Abi, client: walletClient });
await usdc.write.approve([UNISWAP_ROUTER, parseUnits("1000", 6)]);

// Шаг 2: Swap -- вызвать функцию обмена
const router = getContract({ address: UNISWAP_ROUTER, abi: routerAbi, client: walletClient });
await router.write.swapExactTokensForTokens([
  parseUnits("100", 6),  // amountIn: 100 USDC
  parseUnits("0.04", 18), // amountOutMin: минимум 0.04 ETH
  [USDC_ADDRESS, WETH_ADDRESS], // path
  myAddress,              // to
  BigInt(Math.floor(Date.now() / 1000) + 1800), // deadline: 30 минут
]);

Без approve протокол не сможет забрать ваши токены — это защитный механизм ERC-20. Каждый DeFi-протокол требует approve перед первым взаимодействием.

Структура модуля DeFi

Этот модуль состоит из следующих уроков:

#ТемаСодержание
1DeFi экосистемаКатегории, TVL, ключевые концепции (этот урок)
2AMM: xy = kФормула постоянного произведения, расчет свопов, комиссии
3Uniswap V2Имплементация, LP-токены, flash swaps, fork-тестирование
4Uniswap V3/V4Концентрированная ликвидность, hooks, singleton
5Impermanent LossМатематика IL, стратегии минимизации
6Lending: AaveМодель кредитования, процентные ставки, ликвидации
7Flash LoansАтомарные займы, арбитраж, fork-тестирование
8Chainlink OraclesPrice feeds, VRF, автоматизация
9Oracle DesignOracle problem, TWAP, манипуляции
10StablecoinsМеханизмы привязки, CDP, алгоритмические
11DerivativesPerpetuals, funding rate, синтетические активы
12TokenomicsGovernance, ve-модель, token design

Связь с предыдущими модулями

DeFi опирается на все, что мы изучили ранее:

  • ERC-20 (ETH-08): Все DeFi-протоколы работают с ERC-20 токенами. Approve/transferFrom — фундаментальный паттерн взаимодействия
  • Solidity (ETH-06/07): DeFi-контракты написаны на Solidity. Паттерны из ETH-07 (ReentrancyGuard, AccessControl) критичны для безопасности
  • Gas (ETH-05): DeFi-транзакции могут быть дорогими. Swap на Uniswap V3 стоит ~150,000 gas. Оптимизация газа — реальная экономия
  • EVM (ETH-04): Понимание storage layout помогает при fork-тестировании (slot manipulation)

Практика: DeFi Fork Lab

В этом модуле мы будем тестировать DeFi-протоколы на форке мейннета — копии реального состояния Ethereum с настоящими балансами, пулами и контрактами.

Настройка

  1. Получите бесплатный RPC-ключ на Alchemy или Infura
  2. Обновите .env в лабораторной:
MAINNET_RPC_URL=https://eth-mainnet.g.alchemy.com/v2/YOUR_KEY_HERE
  1. Запустите форк-ноду:
# Docker Compose (Anvil fork)
docker compose --profile fork up -d

# Или через Hardhat (EDR fork)
npx hardhat test --network mainnetFork
  1. Проверьте работу форка:
cast chain-id --rpc-url http://localhost:8546
# Должен вернуть 1 (Ethereum mainnet)

Fork позволяет тестировать взаимодействие с реальными контрактами Uniswap, Aave, Chainlink без реальных средств. Мы будем активно использовать это в следующих уроках.

DeFi на TON устроен иначе: из-за асинхронных сообщений swap-операции состоят из нескольких транзакций (нет atomic call между контрактами). Как из-за этого меняются паттерны DEX, лендинга и оракулов — разобрано в курсе по TON.

DeFi на TON: обзор

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

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

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

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