Skip to content

5.3. Addressing Format

ermoluk edited this page Jun 24, 2025 · 2 revisions

To ensure privacy-preserving, scalable, and decentralized routing, FreeFlow uses a custom addressing scheme based on locality and cryptographic identity. Instead of relying on global IP-like addresses or centralized directories, FreeFlow introduces a session-based, cluster-oriented address format that reflects dynamic network structure and trust boundaries.

Each device in the FreeFlow mesh network is assigned a temporary address using the following structure:

ClusterID:NodeID.SessionID

• ClusterID identifies the local mesh group the device is currently part of.

• NodeID is a persistent, cryptographic identifier derived from the device’s public key or similar fingerprint.

• SessionID is a temporary, randomly generated ID for the current active session.

Example address:

A6F2C3:83DD91B5EF3D4C12.4B9A7E

This means:

• The device is part of cluster A6F2C3

• Its NodeID is 83DD91B5EF3D4C12

• It is currently using session ID 4B9A7E

This structure provides several key advantages:

Privacy: SessionID masks repeated activity, even if NodeID is known.

Session Isolation: Each network reconnection triggers a new session, avoiding traceability.

No Global Registry: There is no need for IPs, DNS, or central mapping servers.

Cache-Friendly: Devices store partial routes and address fragments to optimize pathfinding.

Since FreeFlow operates in disconnected or delay-tolerant environments, each node maintains a local cache of seen ClusterIDs and routes, and uses proximity pinging to locate the fastest next hop.

Onion routing ensures that full addresses and routes are never visible to intermediate nodes — only the next step is revealed per layer.

To prevent collisions or duplication: • NodeIDs are derived from cryptographic keys, making collisions statistically negligible

• SessionIDs are randomly generated and time-bound

• Old sessions naturally expire when devices go offline

The format is extensible. For example, it can be expanded to include logical regions:

Region:ClusterID:NodeID.SessionID

This allows for future mesh segmentation, large-scale federation, or domain-based scoping.

In FreeFlow, addressing is not just about locating a device — it’s a core part of the network’s privacy, trust, and decentralized design.

Clone this wiki locally