Panoramica dell'architettura
Savitri Network è strutturato come un monorepo con 13 sottomoduli git. Ogni crate Rust è indipendente con dipendenze locali per percorso.
Gerarchia dei crate
savitri-core/
├── savitri-types/ ← tipi base (transazioni, account, cripto)
├── savitri-crypto/ ← Ed25519, hashing, ZKP
├── savitri-mempool/ ← scoring SIMD, gestione coda
├── savitri-consensus/ ← PoU, voto BFT, DAG
├── savitri-storage/ ← RocksDB, modello di stato
├── savitri-network/ ← libp2p, gossipsub, scoperta peer
├── savitri-rpc/ ← server JSON-RPC 2.0
├── savitri-contracts/ ← esecuzione contratti intelligenti
├── savitri-node/ ← punto di ingresso, orchestrazione
└── savitri-cli/ ← strumenti da riga di comando
Flusso dei dati
[Client] → RPC → Mempool → Consenso (PoU+BFT) → Storage
↓
[Rete P2P] ← → [Altri nodi]
Componenti chiave
Mempool
Coda ottimizzata con SIMD e scoring delle transazioni (0–1000). Usa AVX2+FMA su x86_64 e NEON su ARM per la verifica parallela delle firme.
Consenso PoU+BFT
Proof-of-Unity valuta i validatori in base a uptime, stake e prestazioni hardware. Il voto BFT con quorum 2f+1 (67%) garantisce la tolleranza ai guasti bizantini.
Storage DAG
Lo stato della rete è rappresentato come un grafo aciclico diretto (DAG). Lo sharding consente l'elaborazione parallela delle transazioni indipendenti.
Livello P2P
libp2p con gossipsub per la propagazione di transazioni e blocchi. La verifica delle firme NUMA-aware riduce la latenza sotto carico elevato.
Obiettivi di prestazione
| Metrica | Obiettivo |
|---|---|
| Throughput | 125.000+ TPS |
| Latenza di finalizzazione | < 2 secondi |
| Configurazione minima | Hardware consumer |
| Schema di firma | Ed25519 |