跳到主要内容

架构概述

Savitri Network 采用单体仓库结构,包含 13 个 git 子模块。每个 Rust crate 相互独立,通过本地路径依赖进行关联。

Crate 层级结构

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 → 内存池 → 共识(PoU+BFT)→ 存储

[P2P 网络] ← → [其他节点]

核心组件

内存池

采用 SIMD 优化的交易队列,评分范围 0–1000。在 x86_64 上使用 AVX2+FMA,在 ARM 上使用 NEON 进行并行签名验证。

PoU+BFT 共识

Proof-of-Unity 根据运行时间、质押量和硬件性能对验证者进行评分。BFT 投票需要 2f+1 法定人数(67%),确保拜占庭容错。

DAG 存储

网络状态以有向无环图(DAG)形式表示。分片允许并行处理独立交易。

P2P 层

使用 libp2p 和 gossipsub 传播交易和区块。NUMA 感知的签名验证降低了高负载下的延迟。

性能目标

指标目标
吞吐量125,000+ TPS
最终确认延迟< 2 秒
最低节点要求消费级硬件
签名方案Ed25519