Wiki source code of Networks

Version 14.1 by Zenna Elfen on 2025/11/24 11:48

Hide last authors
Zenna Elfen 3.1 1 (% class="box" %)
2 (((
Zenna Elfen 11.1 3 This page contains an overview of all P4P Networks in this wiki and their building blocks.
4
5 You can also [[add a P4P Network>>doc:Projects.WebHome]] or have a look at the [[P4P Applications>>doc:P4P.Applications.WebHome]].
Zenna Elfen 3.1 6 )))
Zenna Elfen 1.1 7
8
Zenna Elfen 3.1 9
10
Zenna Elfen 12.1 11
12
Zenna Elfen 13.1 13
14
Zenna Elfen 14.1 15
16
Zenna Elfen 11.1 17 == Building Blocks of P4P Networks ==
Zenna Elfen 9.1 18
19
Zenna Elfen 11.1 20 (% class="box" %)
21 (((
Zenna Elfen 12.1 22 Lost in translation? Take a look at the [[terminology>>doc:P4P.Definitions.WebHome]].
Zenna Elfen 11.1 23 )))
24
25 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.
26
27
Zenna Elfen 14.1 28 ==== **Data Synchronization** ====
Zenna Elfen 11.1 29
Zenna Elfen 13.1 30 > 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.
Zenna Elfen 11.1 31
Zenna Elfen 13.1 32 - _How do peers detect differences and synchronize state?_
33 - Examples: Range-Based Set Reconciliation, RIBLT, Gossip-based sync, State-based vs op-based sync, Lamport/Vector/HLC clocks, Braid Protocol
Zenna Elfen 11.1 34
Zenna Elfen 13.1 35 *Relevant links or documentation:*
Zenna Elfen 11.1 36
37
Zenna Elfen 14.1 38 ==== **Collaborative Data Structures & Conflict Resolution** ====
Zenna Elfen 11.1 39
Zenna Elfen 13.1 40 > 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.
41
42 - _How do peers collaboratively change shared data and merge conflicts?_
43 - Examples: CRDTs (Yjs, Automerge), OT, Event Sourcing, Stream Processing, Version Vectors, Peritext
44
45 *Relevant links or documentation:*
46
47
Zenna Elfen 14.1 48 ==== **Data Storage & Replication** ====
Zenna Elfen 13.1 49
50 > 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.
51
52 - _How is data persisted locally and replicated between peers?_
53 - Examples: SQLite, IndexedDB, LMDB, Hypercore (append-only logs), WALs, Merkle-DAGs (IPFS/IPLD), Blob/media storage
54
55 *Relevant links or documentation:*
56
Zenna Elfen 14.1 57 ==== **Peer & Content Discovery** ====
Zenna Elfen 13.1 58
59 > Discovery occurs in two phases:
60 > 1. **Peer Discovery** → finding _any_ nodes
61 > 2. **Topic Discovery** → finding _relevant_ nodes or resources
62 > These mechanisms enable decentralized bootstrapping and interest-based overlays.
63
64
65 - _How do peers find each other, and how do they discover content in the network?_
66 - Examples: DHTs (Kademlia, Pastry), mDNS, DNS-SD, Bluetooth scanning, QR bootstrapping, static peer lists, Interest-based routing, PubSub discovery (libp2p), Rendezvous protocols
67
68 *Relevant links or documentation:*
69
Zenna Elfen 14.1 70 # **Identity & Trust**
Zenna Elfen 13.1 71
72 > Identity systems ensure reliable mapping between peers and cryptographic keys. They underpin authorization, federated trust, and secure overlays.
73
74 - _How peers identify themselves, authenticate, and establish trustworthy relationships?_
75 - Examples: PKI, Distributed Identities (DIDs), Web-of-Trust, TOFU (SSH-style), Verifiable Credentials (VCs), Peer key fingerprints (libp2p PeerIDs), Key transparency logs
76
77
78
79
80
81
Zenna Elfen 11.1 82 == Distributed Network Types ==
83
84
85 [[Flowchart depicting distributed network variants, under development. Building on work from Z. Elfen, 2024: ~[~[https:~~~~/~~~~/doi.org/10.17613/naj7d-6g984~>~>https://doi.org/10.17613/naj7d-6g984~]~]>>image:P4P_Typology.png||alt="Flowchart depicting typologies of distributed networks, such as Friend-2-Friend, Grassroots Networks, Federated Networks, Local-First, P2P and P4P Networks" data-xwiki-image-style-alignment="center" height="649" width="639"]]
86
87
88
Zenna Elfen 12.1 89 == Overview of P4P Networks ==
Zenna Elfen 11.1 90
Zenna Elfen 1.1 91 {{include reference="Projects.WebHome"/}}