Releases: edgedlt/narwhal
Releases · edgedlt/narwhal
v0.1.0
Initial release of a Go implementation of the Narwhal DAG-based mempool protocol.
Made for personal use. Unaudited. Use at your own risk.
Features
- DAG-based mempool separating data availability from ordering
- Parallel transaction broadcast with no leader bottleneck
- Certificate-based availability guarantees (2f+1 acknowledgments)
- Dual signature schemes: Ed25519 (parallel verification) and BLS12-381 (aggregation)
- Configurable workers, batching, and adaptive pacing
- Generic design supporting custom hash and transaction types
- Epoch-based reconfiguration for validator set changes
- Comprehensive observability hooks for metrics integration
Verification
- Fault tolerance tests: crash, slow validator, Byzantine equivocation, out-of-order delivery
- Stress tests: 50K TPS sustained load, goroutine/memory leak detection, rapid start/stop cycles
- Comprehensive test suite with race detection
Documentation