Johnathan Corgan
021bf69d73
Add detailed packet layout diagrams to protocol documentation
...
Add comprehensive wire format diagrams with byte offsets, field sizes,
and concrete examples to three protocol documents:
fips-wire-protocol.md (Appendix A):
- Encrypted frame (0x00) with plaintext structure breakdown
- Noise IK msg1/msg2 with payload breakdown
- Complete handshake flow diagram
fips-gossip-protocol.md (Appendix A):
- TreeAnnounce with ancestry entry structure and size table
- FilterAnnounce with bloom filter layout
- LookupRequest/LookupResponse with examples
- Message flow showing packet nesting
fips-session-protocol.md (§8):
- SessionSetup, SessionAck, DataPacket, CoordsRequired, PathBroken
- Full nested packet example showing link + session layers
fips-routing.md:
- Refactored Part 4 to "Route Cache Management"
- Moved wire format content to fips-session-protocol.md
2026-02-02 14:19:04 +00:00
Johnathan Corgan
e582f50de7
Session 51: Create fips-intro.md protocol introduction
...
New comprehensive protocol introduction replacing fips-design.md:
- What is FIPS / Why FIPS: goals and design philosophy
- How It Works: transport, spanning tree, bloom filters, routing overview
- Prior Work: Yggdrasil/Ironwood, Noise Protocol, WireGuard references
- Identity System: npub/nsec, node_id derivation, fd00::/8 addressing
- Two-Layer Encryption: link layer (Noise IK), session layer (Noise KK)
- Spanning Tree Protocol: root election, parent selection, gossip limits
- Bloom Filter Routing: filter explanation, propagation, discovery
- Transport Abstraction: transport/link distinction, bridging, types
- Security: threat model, Sybil resistance, accurate metadata exposure
Updated cross-references in README.md and other design docs.
Deleted obsolete fips-design.md.
2026-02-01 20:51:01 +00:00
Johnathan Corgan
5830f54039
Session 50: Design document cleanup and decision documentation
...
Wire Protocol (fips-wire-protocol.md):
- Renamed to "FIPS Wire Protocol and Transport Layer Management"
- Updated intro describing transport layer purpose
- Documented reconnection handling approach (Option C)
- Clarified UDP as expected majority for initial deployments
Session Protocol (fips-session-protocol.md):
- Renamed to "FIPS Session Protocol Flow"
- Documented decisions throughout (removed alternatives analysis)
- Corrected Noise patterns: Link=IK, Session=KK
- Consolidated section 4 with fips-routing.md reference
- Rewrote section 5 terminology with decisions
- Merged duplicate crypto primitives sections
- Added route determination and packet forwarding details
2026-02-01 17:22:44 +00:00
Johnathan Corgan
4890940bb7
Session 49: Wire protocol design with session indices
...
- Add fips-wire-protocol.md: comprehensive packet dispatch design
- Wire format: discriminator byte + session indices for O(1) dispatch
- WireGuard-style roaming: crypto authority, not address
- Security: rate limiting, replay protection, state machine strictness
- Transport considerations for UDP, TCP, Tor
- Rename fips-protocol-flow.md → fips-session-protocol.md
- Update fips-design.md wire format section
- Replace TLV with discriminator + index format
- Cross-reference fips-wire-protocol.md for details
- Update cross-references in all design docs
2026-02-01 16:28:16 +00:00