High-performance Universal VM. Pure Rust. Solana-compatible execution with EVM interop.
| Mode | TPS | Verification | Use Case |
|---|---|---|---|
| Verified Ultrafast | 232K | Full Ed25519 (GPU) | Production |
| Standard | 281K | Full Ed25519 (CPU) | CPU-only nodes |
| Pipeline | 721K | Overlapped stages | Sustained throughput |
| Delta | 14M | Pre-validated | Trusted sequencer |
Hardware: 128 cores + NVIDIA H100
┌─────────────────────────────────────────────────────────────────────────┐
│ ETO UVM — PURE RUST │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ TX INGESTION │
│ ┌──────────────────────────────────────────┐ │
│ │ turbo_ingest (TCP ports 19000-19007) │ │
│ │ → SvmMempool (lock-free SegQueue) │ │
│ │ → Background Ed25519 pre-verification │ │
│ └──────────────────┬───────────────────────┘ │
│ │ │
│ CONSENSUS (commonware aggregation — 1-hop finality) │
│ ┌──────────────────▼───────────────────────┐ │
│ │ Automaton.propose() │ │
│ │ ┌───────────────┐ ┌─────────────────┐ │ │
│ │ │ Sequencer │ │ Validators │ │ │
│ │ │ drain mempool │ │ receive block │ │ │
│ │ │ classify txs │ │ re-execute │ │ │
│ │ │ execute │ │ verify digest │ │ │
│ │ │ push to vals │ │ sign ack │ │ │
│ │ └───────────────┘ └─────────────────┘ │ │
│ │ │ │
│ │ 2f+1 acks → quorum certificate │ │
│ │ Reporter.report() → finalized │ │
│ └──────────────────────────────────────────┘ │
│ │ │
│ EXECUTION (TurboExecutor — Verified Ultrafast Pipeline) │
│ ┌──────────────────▼───────────────────────────────────────────────┐ │
│ │ ┌──────────┐ ┌────────┐ ┌──────────┐ ┌────────────────────┐ │ │
│ │ │ VERIFY │→ │ LOAD │→ │ EXECUTE │→ │ COMMIT + MERKLE │ │ │
│ │ │ GPU/CPU │ │ Batch │ │ Parallel │ │ Shard-batched │ │ │
│ │ │ 12% │ │ 5% │ │ 28% │ │ 55% │ │ │
│ │ └──────────┘ └────────┘ └──────────┘ └────────────────────┘ │ │
│ └──────────────────────────────────────────────────────────────────┘ │
│ │ │
│ STATE (two-layer) │
│ ┌──────────────────▼───────────────────────────────────────────────┐ │
│ │ Hot: DashMap<Pubkey, Account> (FxHash, 64 shards, nanosecond) │ │
│ │ ↓ async drain thread │ │
│ │ Cold: SkippyDB/QMDB (persistent, O(1) Merkle proofs, GPU SHA) │ │
│ └──────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────┘
# Build
make build
# Build with GPU support (requires CUDA 11+)
make build-gpu
# Run benchmark
make bench
# Run tests
make test
# Run standalone node
./runtime/target/release/svm-vm --config testnet/sequencer.toml --genesis genesis.json
# Run 3-node local testnet
cd testnet && ./run.sheto-vm/
├── runtime/ # Pure Rust codebase
│ ├── src/
│ │ ├── bin/
│ │ │ ├── svm_vm.rs # Main production binary
│ │ │ ├── turbo_bench.rs # Primary TPS benchmark
│ │ │ └── ... # Other benchmarks/tests
│ │ ├── consensus/ # Commonware aggregation consensus
│ │ │ ├── automaton.rs # Block proposal + verify
│ │ │ ├── reporter.rs # Finalization on 2f+1 certification
│ │ │ ├── block_push.rs # Push-based block delivery
│ │ │ ├── block_server.rs # Pull-based block server
│ │ │ ├── block_fetcher.rs # Pull-based block client
│ │ │ ├── relay.rs # Digest broadcast relay
│ │ │ └── config.rs # Roles, TOML parsing, timeouts
│ │ ├── hiperf/ # High-performance execution
│ │ │ ├── turbo_executor.rs # Production executor
│ │ │ ├── hybrid_verifier.rs # Auto GPU/CPU signature verification
│ │ │ ├── gpu_verifier.rs # CUDA Ed25519
│ │ │ ├── batch_verifier.rs # CPU Ed25519 batch
│ │ │ ├── block_stm.rs # Aptos-style Block-STM
│ │ │ ├── parallel_merkle.rs # Parallel merkle computation
│ │ │ └── simd_hash.rs # SIMD SHA256
│ │ ├── vm/ # VM interface
│ │ │ ├── mod.rs # Block building
│ │ │ ├── mempool.rs # Lock-free transaction pool
│ │ │ └── turbo_ingest.rs # TCP transaction ingestion
│ │ ├── programs/ # Native SVM programs
│ │ │ ├── system.rs # System program
│ │ │ ├── token.rs # SPL Token
│ │ │ ├── amm.rs # AMM program
│ │ │ ├── agent.rs # AI agent program
│ │ │ └── ...
│ │ ├── evm/ # EVM interoperability (revm)
│ │ │ ├── executor.rs # EVM execution
│ │ │ ├── bridge.rs # SVM <-> EVM bridge
│ │ │ └── precompiles.rs # SVM interop precompiles
│ │ ├── sealevel/ # Parallel execution scheduling
│ │ ├── bpf/ # BPF/SBF program execution
│ │ ├── qmdb_state.rs # Two-layer state (DashMap + QMDB)
│ │ ├── real_qmdb_state.rs # Persistent QMDB backend
│ │ └── block_wal.rs # Write-ahead log
│ └── Cargo.toml
├── testnet/ # Multi-node testnet config
│ ├── run.sh # Launches 3-node cluster
│ ├── sequencer.toml
│ ├── validator1.toml
│ └── validator2.toml
├── paper/ # Whitepaper
├── scripts/ # Deployment scripts
├── genesis.json # Genesis state
├── Makefile
└── Dockerfile
Uses commonware aggregation — a 1-hop streamed attestation protocol. Not traditional BFT.
| Aspect | Detail |
|---|---|
| Protocol | Commonware aggregation (Ed25519 ack signatures) |
| Finality | 1 hop: propose → ack → certificate |
| Roles | Sequencer (proposer) + Validators (attesters) |
| Quorum | 2f+1 acks form a quorum certificate |
| Block digest | SHA256(height || merkle_root || tx_count) |
| Block data | Pushed via TCP (zstd-compressed borsh), not through consensus channel |
| Pipeline | window concurrent blocks in-flight (default 4) |
| Discovery | Static peer list in TOML config |
| Port | Purpose |
|---|---|
| 19000-19007 | Transaction ingestion (TCP) |
| 19100+ | Consensus P2P (commonware lookup) |
| 19200+ | Block data push/pull |
4-stage pipeline: GPU Verify → Load → Parallel Execute → Shard-batched Commit+Merkle
6-stage pipeline: Verify → Analyze → Schedule → Execute → Commit → Merkle
Pre-validated transfers only: Execute → Commit → Merkle (skips verify/analyze/schedule)
EVM transactions are wrapped in SVM envelopes via sentinel EVM_PROGRAM_ID. Uses revm v19 for execution. Cross-VM call depth limited to 4.
[consensus]
role = "sequencer"
private_key_seed = 1
partition = "svm-agg-v1"
listen_port = 19100
block_server_port = 19200
[[validators]]
public_key_seed = 1
address = "127.0.0.1:19100"
block_server = "127.0.0.1:19200"| Variable | Default | Purpose |
|---|---|---|
SVM_MAX_TXS_PER_BLOCK |
200,000 | Max transactions per block |
SVM_AGG_WINDOW |
4 | Concurrent pipeline depth |
SVM_PREVERIFY_WAIT_MS |
10 | Pre-verification wait time |
SIMPLEX_LEADER_TIMEOUT_MS |
20 | Leader timeout |
SIMPLEX_NOTARIZATION_TIMEOUT_MS |
40 | Notarization timeout |
- Rust 1.93+ (pinned in
rust-toolchain.toml) - CUDA 11+ (optional, for GPU verification)
MIT