Aller au contenu principal

Vue d'ensemble de l'architecture

Savitri Network est structuré comme un monorepo avec 13 sous-modules git. Chaque crate Rust est indépendant avec des dépendances locales par chemin.

Hiérarchie des crates

savitri-core/
├── savitri-types/ ← primitives (transactions, comptes, crypto)
├── savitri-crypto/ ← Ed25519, hachage, ZKP
├── savitri-mempool/ ← scoring SIMD, gestion de file d'attente
├── savitri-consensus/ ← PoU, vote BFT, DAG
├── savitri-storage/ ← RocksDB, modèle d'état
├── savitri-network/ ← libp2p, gossipsub, découverte de pairs
├── savitri-rpc/ ← serveur JSON-RPC 2.0
├── savitri-contracts/ ← exécution de contrats intelligents
├── savitri-node/ ← point d'entrée, orchestration
└── savitri-cli/ ← outils en ligne de commande

Flux de données

[Client] → RPC → Mempool → Consensus (PoU+BFT) → Stockage

[Réseau P2P] ← → [Autres nœuds]

Composants clés

Mempool

File d'attente SIMD-optimisée avec scoring de transactions (0–1000). Utilise AVX2+FMA sur x86_64 et NEON sur ARM pour la vérification parallèle des signatures.

Consensus PoU+BFT

Proof-of-Unity évalue les validateurs selon l'uptime, le stake et les performances matérielles. Le vote BFT avec quorum 2f+1 (67%) assure la tolérance aux pannes byzantines.

Stockage DAG

L'état du réseau est représenté comme un graphe acyclique dirigé (DAG). Le sharding permet le traitement parallèle des transactions indépendantes.

Couche P2P

libp2p avec gossipsub pour la propagation des transactions et blocs. La vérification de signatures NUMA-aware réduit la latence sous haute charge.

Objectifs de performance

MétriqueCible
Débit125 000+ TPS
Latence de finalisation< 2 secondes
Configuration minimaleMatériel grand public
Schéma de signatureEd25519