Learning Platform
Глоссарий Troubleshooting
Урок 08.01 · 20 мин
Продвинутый
DeFiAMMDEXLendingStakingArchitecture

DeFi System Design на TON

DeFi экосистема TON (2026)

TON DeFi экосистема активно развивается. Ключевые протоколы:

TON DeFi Ecosystem (2026)
DEX
Lending
Liquid Staking
Cross-chain
Stablecoins
Yield
NOTE

Legacy Toncoin Bridge — deprecated

Оригинальный Toncoin Bridge (TON ↔ Ethereum / BNB) был официально отключён 10 мая 2025 после ~32K transfers и 100M+ TON moved (zero security incidents). На замену пришли general-purpose cross-chain провайдеры (LayerZero, Axelar, Symbiosis) и нативные wrapped tokens (tgBTC, USDe). При проектировании cross-chain интеграций в 2026 — закладывайте именно эти каналы, не legacy Toncoin Bridge.

Ключевые отличия DeFi на TON vs Ethereum

АспектEthereum DeFiTON DeFi
ComposabilityСинхронная (flash loans, chained calls)Асинхронная (message chains)
Flash loansВозможныНевозможны (нет atomic cross-contract)
MEVЗначительный (front-running, sandwich)Минимальный (async messages)
Gas modelПользователь платит за всёForward gas + excess return
Token standardERC-20 (монолитный)Jetton (sharded)
Liquidity fragmentationL2 проблемаНет L2 → единый liquidity pool
NOTE

Flash loans невозможны на TON — это feature, не bug

Flash loans на Ethereum позволяют взять кредит, использовать и вернуть в одной транзакции. На TON каждый вызов контракта — отдельная транзакция. Нет атомарности → нет flash loans. Это снижает attack surface (flash loan attacks — один из главных exploit vectors в Ethereum DeFi).

AMM DEX Architecture на TON

Constant Product Formula

x × y = k

Где:
  x = reserve Token A в pool
  y = reserve Token B в pool
  k = constant product (не меняется при swaps)

Swap: отдать dx Token A → получить dy Token B
  (x + dx) × (y - dy) = k
  dy = y × dx / (x + dx)

TON DEX Architecture (STON.fi style)

AMM DEX Architecture на TON
Router
Pool: TON/USDT
Pool: TON/STON
LP Wallet Alice
LP Wallet Bob

Swap Message Flow

DEX Swap: User wants to swap 100 USDT → TON

1. User → User's USDT Wallet: transfer(100, pool_address, swap_payload)
2. User's USDT Wallet → Pool's USDT Wallet: internal_transfer(100)
3. Pool's USDT Wallet → Pool: transfer_notification(100, user)
4. Pool: calculate output = 100 × reserve_TON / (reserve_USDT + 100) × (1 - fee)
5. Pool → User: send TON (direct, not Jetton) + excess gas

Messages: 4-5 hops
Total time: ~15-25 sec (cross-shard)
Gas: ~0.05 TON (excess returned)

Lending Protocol Architecture

Core Components

Lending System:
├── Market Controller (master)
│   ├── Supported assets list
│   ├── Interest rate parameters
│   ├── Liquidation thresholds
│   └── Oracle price feeds
├── Supply Pool (per asset)
│   ├── Total supplied
│   ├── Total borrowed
│   ├── Interest rate model
│   └── Utilization ratio
├── User Position (per user, sharded)
│   ├── Collateral deposits
│   ├── Borrow amounts
│   ├── Health factor
│   └── Accrued interest
└── Liquidation Bot (off-chain)
    ├── Monitor health factors
    ├── Trigger liquidation tx
    └── Claim liquidation bonus

Liquidation Flow

Liquidation (health_factor < 1.0):

1. Off-chain bot detects: user_position.health_factor < 1.0
2. Bot → Market: "liquidate(user, collateral_asset, debt_asset, amount)"
3. Market → User Position: verify health_factor < 1.0
4. User Position → Debt Pool: "repay(amount)" (from liquidator's funds)
5. User Position → Collateral Pool: "release(collateral × (1 + bonus))"
6. Collateral → Liquidator: receive collateral with bonus

Key design: liquidation must be profitable for bot (bonus 5-15%)
Otherwise nobody liquidates → protocol becomes insolvent

Staking Pool Architecture

Liquid Staking (stTON/tsTON):

User deposits 100 TON →
Pool mints 95 stTON (exchange rate includes accrued rewards) →
Pool stakes TON with validator →
Validator earns rewards →
Exchange rate: stTON/TON increases over time

Unstake:
User burns 95 stTON →
Pool calculates: 95 × current_rate = 102 TON (with accumulated rewards) →
Pool unstakes from validator (unbonding period) →
User receives 102 TON
TIP

Design Pattern: Exchange Rate Token

Liquid staking tokens (stTON) используют exchange rate вместо rebase. 1 stTON ≠ 1 TON — rate растёт со временем. Это проще для интеграций (DeFi, wallets) чем rebase-токены (которые меняют balance).

Advanced DeFi на TON (2025-2026)

EVAA Protocol: leveraged liquid staking

EVAA — основной lending протокол на TON. После TGE 3 октября 2025 ($EVAA token live на Binance Alpha, MEXC, STON.fi, Gate.io) протокол активно расширяет функциональность. К моменту TGE:

  • 300,000+ wallets onboarded
  • $1.4B+ суммарно в транзакциях
  • ATH $118M deposits

Новый primitive: leveraged liquid staking loop:

Leveraged liquid staking (Tonstakers + EVAA):

Step 1: User stakes 100 TON в Tonstakers → получает 100 tsTON
Step 2: User supplies 100 tsTON в EVAA как collateral
Step 3: User borrows ~70 TON против tsTON (LTV 70%)
Step 4: User stakes 70 TON в Tonstakers → 70 tsTON
Step 5: Loop: supply 70 tsTON, borrow 49 TON, stake → 49 tsTON, ...

Effective leverage: ~3-5x on staking yield
APY uplift: base ~5% staking → ~7.89% leveraged
Borrow cost: ~0.37% APR (low благодаря TON pool dynamics)
WARNING

Leverage loop = leveraged liquidation risk

При падении tsTON/TON exchange rate (теоретически возможно при slashing event у валидаторов), loop может попасть под liquidation. Health factor в leveraged loop падает быстрее, чем в “плоском” supply. Дизайн: автоматический deleveraging bot мониторит health и unwind’ит loop до критического порога.

Storm Trade: perpetuals на TON

Storm Trade — первый perpetual futures DEX на TON, работающий через Telegram Bot UI. Особенности дизайна:

АспектStorm Trade
LeverageДо 50x (некоторые активы — до 100x)
AssetsCrypto + RWA (forex, stocks, commodities)
MarginTON и USDT
ArchitectureSequencer-based order execution — фиксирует цену в момент open
SlippageZero slippage благодаря sequencer queue management
SocialSquad tournaments, copy trading через Telegram

Архитектурные импликации perpetuals на TON:

Perpetual DEX architecture (Storm Trade style):

Off-chain Sequencer:
  - Receives signed orders (signData) from users
  - Maintains order queue с FIFO ordering
  - Computes mark price from oracle feeds (Pyth/RedStone)

On-chain Execution:
  - Sequencer batches matched orders → submits to Vault contract
  - Vault: holds margin (USDT/TON), tracks positions
  - Liquidation: off-chain bot monitors → triggers on-chain liquidation tx
  
Funding rate:
  - Computed off-chain on schedule (например, каждые 8h)
  - Applied on-chain как state update в Vault

Trade-off: sequencer = центр доверия (один оператор). Хотя сами funds custody on-chain, censorship resistance ниже, чем у full on-chain order book. Это типичный compromise для high-frequency DEX дизайна.

Pyth и RedStone: production-grade oracles на TON

В 2025 две major oracle сети интегрировались с TON:

RedStoneпервый oracle с production feeds на TON (запуск в 2025). Поддерживает 70+ chains, 130+ клиентов. Также предоставляет smart contract templates с TON Connect integration.

Pyth Network — расширил поддержку до 100+ блокчейнов в Q1 2025. На TON в Q2 2025 был проведён upgrade Pyth Oracle до v2 — поддержка более 3 price feeds в одной update transaction (адресует ограничение TON cell size 1023 бит через cell chain traversal).

Pyth Oracle v2 on TON:

Cell chain для multi-feed update:
  Cell 1: header + first 3 feeds
    ref → Cell 2: next 3 feeds
      ref → Cell 3: next 3 feeds
        ref → ...

Contract iterates через ref'ы для всех feeds → атомарный update многих цен в одной транзакции.

Сравнение для системного дизайна:

АспектPythRedStoneСвой oracle
LatencyPull-based, on-demandPull + pushПолный контроль
Coverage1000+ feeds1200+ feedsПо вашим ассетам
CostPay-per-updateSubscription/templateПолная стоимость инфраструктуры
Trust modelWormhole + publishersDecentralized data feedsВаше доверие
Best forCrypto-native DeFiCrypto + RWASpecialized dApps
NOTE

Когда не использовать готовый oracle

Готовый oracle (Pyth/RedStone) хорош для общих market prices (TON/USD, BTC/USD, ETH/USD). Если ваш протокол работает с специфичными данными — длиннохвостые токены без публичного price feed, RWA с custom evaluation, или off-chain events — придётся строить свой oracle. Storm Trade использует комбинацию: Pyth/RedStone для major assets, custom feeds для RWA.

Design pattern: oracle fallback chain

Multi-oracle fallback:

primary_price = Pyth.get_price(symbol)
if (primary_price.staleness > 60s OR primary_price.confidence < threshold) {
  secondary_price = RedStone.get_price(symbol)
  if (secondary_price.staleness > 60s) {
    // Critical: emergency pause
    pause_trading()
  } else {
    use secondary_price
  }
} else {
  use primary_price
}

Production lending/perp протоколы никогда не доверяют одному oracle. Multi-oracle с staleness check + emergency pause — обязательный паттерн.

Design Checklist для DeFi на TON

АспектПроверка
Async safetyВсе multi-step операции имеют bounce handlers и timeouts?
SlippageMin output amount проверяется? Refund при slippage > tolerance?
ReentrancyНе применимо на TON (Actor Model), но race conditions в state machine?
OraclePrice feed актуален? Staleness check? Fallback oracle?
LiquidationProfitable для liquidators? Dust amounts handled?
GasGas budget для worst-case message chain? Excess returned?
Проверка знанийKnowledge check
ОтветAnswer

Чтобы привязать design-решения к реальному состоянию экосистемы, полезно посмотреть обзор DeFi-протоколов TON: STON.fi и DeDust как DEX, EVAA как lending, оракулы и staking-инфраструктура.

DeFi на TON: обзор протоколов

Проверьте понимание

Результат: 0 из 0
Аналитический
Вопрос 1 из 2. Почему flash loan attacks значительно менее вероятны на TON, чем на Ethereum?

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

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

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

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