Обзор архитектуры
Savitri Network структурирована как монорепозиторий с 13 git-подмодулями. Каждый Rust-крейт независим и имеет локальные path-зависимости.
Иерархия крейтов
savitri-core/
├── savitri-types/ ← примитивы (транзакции, аккаунты, крипто)
├── savitri-crypto/ ← Ed25519, хэширование, ZKP
├── savitri-mempool/ ← SIMD-оценка, управление очередью
├── savitri-consensus/ ← PoU, BFT-голосование, DAG
├── savitri-storage/ ← RocksDB, модель состояния
├── savitri-network/ ← libp2p, gossipsub, обнаружение узлов
├── savitri-rpc/ ← JSON-RPC 2.0 сервер
├── savitri-contracts/ ← исполнение смарт-контрактов
├── savitri-node/ ← точка входа, оркестрация
└── savitri-cli/ ← инструменты командной строки
Поток данных
[Клиент] → RPC → Mempool → Consensus (PoU+BFT) → Storage
↓
[P2P сеть] ← → [Другие ноды]
Ключевые компоненты
Mempool
SIMD-оптимизированная очередь с оценкой транзакций (0–1000). Использует AVX2+FMA на x86_64 и NEON на ARM для параллельной верификации подписей.
Консенсус PoU+BFT
Proof-of-Unity оценивает валидаторов по аптайму, стейку и производительности оборудования. BFT-голосование с кворумом 2f+1 (67%) обеспечивает Byzantine fault tolerance.
DAG-хранилище
Состояние сети представлено как направленный ациклический граф (DAG). Шардирование позволяет параллельно обрабатывать независимые транзакции.
Слой P2P
libp2p с gossipsub для распространения транзакций и блоков. NUMA-aware верификация подписей снижает задержки при высокой нагрузке.
Целевые показатели производительности
| Метрика | Цель |
|---|---|
| Пропускная способность | 125 000+ TPS |
| Задержка финализации | < 2 секунды |
| Минимальные требования к ноде | Потребительское железо |
| Схема подписи | Ed25519 |