Networks

Version 14.1 by Zenna Elfen on 2025/11/24 11:48
Warning
For security reasons, the document is displayed in restricted mode as it is not the current version. There may be differences and errors due to this.

This page contains an overview of all P4P Networks in this wiki and their building blocks.

You can also add a P4P Network or have a look at the P4P Applications.

Building Blocks of P4P Networks

Lost in translation? Take a look at the terminology.

To fully assemble a P4P network one needs a few different building blocks. The following is an overview of the building blocks needed for P4P networks. 

Data Synchronization

 Synchronization answers how updates flow between peers and how they determine what data to exchange. This layer is about diffing, reconciliation, order, causality tracking, and efficient exchange, not persistence or user-facing collaboration semantics.

- _How do peers detect differences and synchronize state?_
- Examples: Range-Based Set Reconciliation, RIBLT, Gossip-based sync, State-based vs op-based sync, Lamport/Vector/HLC clocks, Braid Protocol

*Relevant links or documentation:*

Collaborative Data Structures & Conflict Resolution

 This layer defines how shared data evolves when multiple peers edit concurrently. It focuses on conflict-free merging, causality, and consistency of meaning, not transport or storage. CRDTs ensure deterministic convergence, while event-sourced or stream-driven models maintain a history of all changes and derive consistent state from it.

- _How do peers collaboratively change shared data and merge conflicts?_
- Examples: CRDTs (Yjs, Automerge), OT, Event Sourcing, Stream Processing, Version Vectors, Peritext

*Relevant links or documentation:*

Data Storage & Replication

 This layer focuses on durability, consistency, and redundancy. It handles write-paths, crash-resilience, and replication semantics across nodes. It is the “database/storage engine” layer where data lives and survives over time, independent of sync or merging logic.

- _How is data persisted locally and replicated between peers?_
- Examples: SQLite, IndexedDB, LMDB, Hypercore (append-only logs), WALs, Merkle-DAGs (IPFS/IPLD), Blob/media storage

*Relevant links or documentation:*

Peer & Content Discovery

 Discovery occurs in two phases:
 1. Peer Discovery → finding _any_ nodes
 2. Topic Discovery → finding _relevant_ nodes or resources
 These mechanisms enable decentralized bootstrapping and interest-based overlays.

- _How do peers find each other, and how do they discover content in the network?_
- Examples: DHTs (Kademlia, Pastry), mDNS, DNS-SD, Bluetooth scanning, QR bootstrapping, static peer lists, Interest-based routing, PubSub discovery (libp2p), Rendezvous protocols

*Relevant links or documentation:*

# Identity & Trust

 Identity systems ensure reliable mapping between peers and cryptographic keys.  They underpin authorization, federated trust, and secure overlays.

- _How peers identify themselves, authenticate, and establish trustworthy relationships?_
- Examples: PKI, Distributed Identities (DIDs), Web-of-Trust, TOFU (SSH-style), Verifiable Credentials (VCs), Peer key fingerprints (libp2p PeerIDs), Key transparency logs

Distributed Network Types

Flowchart depicting typologies of distributed networks, such as Friend-2-Friend, Grassroots Networks, Federated Networks, Local-First, P2P and P4P Networks

Flowchart depicting distributed network variants, under development. Building on work from Z. Elfen, 2024: https://doi.org/10.17613/naj7d-6g984

Overview of P4P Networks

Failed to execute the [velocity] macro. Cause: [The execution of the [velocity] script macro is not allowed in [xwiki:Projects.WebHome]. Check the rights of its last author or the parameters if it's rendered from another script.]. Click on this message for details.