diff options
| author | murilo ijanc | 2026-03-24 15:04:03 -0300 |
|---|---|---|
| committer | murilo ijanc | 2026-03-24 15:04:03 -0300 |
| commit | 9821aabf0b50d2487b07502d3d2cd89e7d62bdbe (patch) | |
| tree | 53da095ff90cc755bac3d4bf699172b5e8cd07d6 /CHANGELOG.md | |
| download | tesseras-dht-9821aabf0b50d2487b07502d3d2cd89e7d62bdbe.tar.gz | |
Initial commitv0.1.0
NAT-aware Kademlia DHT library for peer-to-peer networks.
Features:
- Distributed key-value storage (iterative FIND_NODE, FIND_VALUE, STORE)
- NAT traversal via DTUN hole-punching and proxy relay
- Reliable Datagram Protocol (RDP) with 7-state connection machine
- Datagram transport with automatic fragmentation/reassembly
- Ed25519 packet authentication
- 256-bit node IDs (Ed25519 public keys)
- Rate limiting, ban list, and eclipse attack mitigation
- Persistence and metrics
- OpenBSD and Linux support
Diffstat (limited to 'CHANGELOG.md')
| -rw-r--r-- | CHANGELOG.md | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..3d5c3f2 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,34 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [0.1.0] - 2026-03-24 + +### Added + +- Kademlia DHT with iterative FIND_NODE, FIND_VALUE, and STORE operations. +- NAT type detection (global, cone NAT, symmetric NAT). +- DTUN hole-punching for cone NAT traversal. +- Proxy relay for symmetric NAT nodes. +- Reliable Datagram Protocol (RDP) with 3-way handshake, sliding windows, + cumulative ACK, EACK/SACK, retransmission, and graceful close. +- Datagram transport with automatic fragmentation and reassembly. +- Ed25519 packet authentication (reject unsigned packets). +- 256-bit node IDs derived from Ed25519 public keys. +- Address advertisement for routing table updates. +- Rate limiting per source address. +- Ban list for misbehaving peers. +- Eclipse attack mitigation via bucket diversity checks. +- Persistence for routing table and DHT storage. +- Metrics collection (message counts, latency, peer churn). +- Configurable parameters via `Config` builder. +- Event-based API for async notification of DHT events. +- OpenBSD (`kqueue`) and Linux (`epoll`) support via mio. +- Examples: `join`, `put_get`, `dgram`, `rdp`, `two_nodes`, `network`, + `remote_get`, `tesserasd`. +- Integration, scale, and lossy-network test suites. +- Fuzz harness for wire protocol parsing. +- Benchmark suite. |