synor/crates/synor-sharding/Cargo.toml
Gulshan Yadav 89c7f176dd feat(sharding): add Phase 14 M3 - Sharding Protocol for 100,000+ TPS
- Add synor-sharding crate with full sharding infrastructure
- Implement ShardState with per-shard Merkle state trees
- Implement VRF-based leader election for shard consensus
- Add CrossShardMessage protocol with receipt-based confirmation
- Implement ShardRouter for address-based transaction routing
- Add ReshardManager for dynamic shard split/merge operations
- Implement ProofAggregator for cross-shard verification

Architecture:
- 32 shards default (configurable up to 1024)
- 3,125 TPS per shard = 100,000 TPS total
- VRF leader rotation every slot
- Atomic cross-shard messaging with timeout handling

Components:
- state.rs: ShardState, ShardStateManager, StateProof
- leader.rs: LeaderElection, VrfOutput, ValidatorInfo
- messaging.rs: CrossShardMessage, MessageRouter, MessageReceipt
- routing.rs: ShardRouter, RoutingTable, LoadStats
- reshard.rs: ReshardManager, ReshardEvent (Split/Merge)
- proof_agg.rs: ProofAggregator, AggregatedProof

Tests: 40 unit tests covering all modules
2026-01-19 20:23:36 +05:30

42 lines
812 B
TOML

[package]
name = "synor-sharding"
version = "0.1.0"
edition = "2021"
description = "Synor sharding protocol for 100,000+ TPS scalability"
authors = ["Synor Team"]
license = "MIT"
repository = "https://github.com/synor/blockchain"
[dependencies]
synor-types = { path = "../synor-types" }
synor-crypto = { path = "../synor-crypto" }
# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
bincode = "1.3"
# Hashing and Merkle trees
blake3 = "1.5"
sha2 = "0.10"
# Async runtime
tokio = { version = "1.36", features = ["full"] }
# Synchronization
parking_lot = "0.12"
crossbeam-channel = "0.5"
# VRF (Verifiable Random Function)
rand = "0.8"
rand_chacha = "0.3"
# Error handling
thiserror = "1.0"
# Logging
tracing = "0.1"
[dev-dependencies]
proptest = "1.4"
criterion = "0.5"