Changes for page Networks

Last modified by Zenna Elfen on 2026/01/05 21:51

From version 52.1
edited by Zenna Elfen
on 2026/01/05 20:27
Change comment: There is no comment for this version
To version 15.1
edited by Zenna Elfen
on 2025/11/24 11:56
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,14 +1,9 @@
1 -(% class="jumbotron" %)
1 +(% class="box" %)
2 2  (((
3 -(% class="container" %)
4 -(((
5 -= Building Blocks of P4P Networks =
3 +This page contains an overview of all P4P Networks in this wiki and their building blocks.
6 6  
7 -Making a P4P network is a bit different than traditional communication networks, namely because we side-step the traditional confinement of the internet layers and connect in a variety of means, from bluetooth to sneakernet and beyond. This is of course very nice in a variety of circumstances and to read more about the principles and capabilities of P4P networks, see the about page.
8 -
9 -To fully assemble a P4P network one needs a few different building blocks, below is an overview of 15 of those building blocks. This outline of 15 building blocks has been collaboratively developed. If you see something missing or would like to give feedback, please reach out to Zenna. Now, let's dive into the building-blocks which make P4P protocols.  
5 +You can also [[add a P4P Network>>doc:Projects.WebHome]] or have a look at the [[P4P Applications>>doc:P4P.Applications.WebHome]].
10 10  )))
11 -)))
12 12  
13 13  
14 14  
... ... @@ -15,12 +15,20 @@
15 15  
16 16  
17 17  
18 -(% class="row" %)
13 +
14 +
15 +
16 +
17 +
18 +
19 +== Building Blocks of P4P Networks ==
20 +
21 +
22 +(% class="box" %)
19 19  (((
20 -(% class="col-xs-12 col-sm-8" %)
21 -(((
24 +To fully assemble a P4P network one needs a few different building blocks, below is an overview of 15 of those building blocks. Lost in translation? Take a look at the [[terminology>>doc:P4P.Definitions.WebHome]].
25 +)))
22 22  
23 -== 15 Building Blocks of P4P Networks ==
24 24  
25 25  ==== **1. Data Synchronization** ====
26 26  
... ... @@ -69,114 +69,82 @@
69 69  * Examples: PKI, Distributed Identities (DIDs), Web-of-Trust, TOFU (SSH-style), Verifiable Credentials (VCs), Peer key fingerprints (libp2p PeerIDs), Key transparency logs
70 70  
71 71  
72 -
73 73  ==== **6. Transport Layer** ====
74 74  
75 75  > This layer provides logical connections and flow control. QUIC and WebRTC bring modern congestion control and encryption defaults; Interpeer explores transport beyond IP assumptions.
76 76  
77 -* //How do peers establish end-to-end byte streams and reliable delivery?//
79 +* How do peers establish end-to-end byte streams and reliable delivery?
78 78  * Examples: TCP, UDP, QUIC, SCTP, WebRTC DataChannels, Interpeer transport stack
79 79  
80 80  
81 -
82 82  ==== **7. Underlying Transport (Physical/Link Layer)** ====
83 83  
84 84  > Highly relevant for **offline-first / edge networks**, device-to-device communication, and mesh networks and relates to the hardware which facilitates connections.
85 85  
86 -* //How does data move across the medium?//
87 +* How does data move across the medium?
87 87  * Examples: Ethernet, Wi-Fi Direct / Wi-Fi Aware (post-AWDL), Bluetooth Mesh, LoRa, NFC, Cellular, CSMA/CA, TDMA, FHSS
88 88  
89 -
90 -
91 91  ==== **8. Session & Connection Management** ====
92 92  
93 93  > Manages **connection lifecycle**, including authentication handshakes, reconnection after drops, and session continuation—especially important in lossy or mobile networks.
94 94  
95 -* //How are connections initiated, authenticated, resumed, and kept alive?//
94 +* How are connections initiated, authenticated, resumed, and kept alive?
96 96  * Examples: TLS handshake semantics, Noise IK/XX patterns, session tokens, keep-alive heartbeats, reconnection strategies, session resumption tickets
97 97  
98 98  
99 -
100 100  ==== **9. Content Addressing** ====
101 101  
102 102  > Content addressing ensures **immutability, verifiability, and deduplication**. Identity of data = cryptographic hash, enabling offline-first and tamper-evident systems.
103 103  
104 -* //How is data addressed and verified by content, not location?//
102 +* How is data addressed and verified by content, not location?
105 105  * Examples: IPFS CIDs, BitTorrent infohashes, Git hashes, SHA-256 addressing, Named Data Networking (NDN)
106 106  
107 -
108 -
109 109  ==== **10. P2P Connectivity** ====
110 110  
111 -> Connectivity ensures peers bypass NATs/firewalls to reach each other. 
107 +> Connectivity ensures peers bypass NATs/firewalls to reach each other.
112 112  
113 -* //How can two peers connect directly across networks, firewalls, and NATs?//
109 +* How can two peers connect directly across networks, firewalls, and NATs?
114 114  * Examples: IPv6 direct, NAT Traversal, STUN, TURN, ICE (used in WebRTC), UDP hole punching, UPnP
115 115  
116 -
117 -
118 118  ==== **11. Session & Connection Management** ====
119 119  
120 120  > Manages **connection lifecycle**, including authentication handshakes, reconnection after drops, and session continuation.
121 121  
122 -* //How are connections initiated, authenticated, resumed, and kept alive?//
116 +* How are connections initiated, authenticated, resumed, and kept alive?
123 123  * Examples: TLS handshake semantics, Noise IK/XX patterns, session tokens, keep-alive heartbeats, reconnection strategies, session resumption tickets
124 124  
125 -
126 -
127 127  ==== **12. Message Format & Serialization** ====
128 128  
129 129  > Serialization ensures **portable data representation**, forward-compatible schemas, and efficient messaging. IPLD provides content-addressed structuring for P2P graph data.
130 130  
131 -* //How is data encoded, structured, and made interoperable between peers?//
123 +* How is data encoded, structured, and made interoperable between peers?
132 132  * Examples: CBOR, Protocol Buffers, Cap’n Proto, JSON, ASN.1, IPLD schemas, Flatbuffers
133 133  
134 -
135 -
136 136  ==== **13. File / Blob Synchronization** ====
137 137  
138 138  > Bulk data syncing has **different trade-offs** than small collaborative state (chunking, deduplication, partial transfer, resume logic). Critical for media and archival P2P use-cases.
139 139  
140 -//How are large objects transferred and deduplicated efficiently across peers?//
130 +How are large objects transferred and deduplicated efficiently across peers?
141 141  Examples: BitTorrent chunking, IPFS block-store, NDN segments, rsync-style delta sync, ZFS send-receive, streaming blob transfers
142 142  
143 -
144 144  ==== **14. Local Storage & Processing Primitives** ====
145 145  
146 146  > Provides durable on-device state and local computation (event sourcing, materialization, compaction). Enables offline-first writes and deterministic replay.
147 147  
148 -* //How do nodes persist, index, and process data locally—without external servers?//
137 +* How do nodes persist, index, and process data locally—without external servers?
149 149  * Examples: RocksDB, LevelDB, SQLite, LMDB, local WALs/append-only logs, embedded stream processors (NATS Core JetStream mode, Actyx-like edge runtimes), Kafka-like libraries
150 150  
151 151  
152 -
153 153  ==== **15. Crash Resilience & Abortability** ====
154 154  
155 155  > Ensures P2P apps don’t corrupt state on crashes. Tied to **local storage & stream-processing**, and critical in offline-first and distributed update pipelines. Abortability is the updated term for Atomicity as part of the ACID abbreviation.
156 156  
157 -* //How do nodes recover and maintain correctness under failure?//
145 +* How do nodes recover and maintain correctness under failure?
158 158  * Examples: WALs, idempotent ops, partial log replay, transactional journaling, write fences
159 159  
160 160  
161 161  
162 -
163 -)))
164 164  
165 -
166 -
167 -
168 -
169 -
170 -(% class="col-xs-12 col-sm-4" %)
171 -(((
172 -{{box title=" **Contents**"}}
173 -{{toc depth="5"/}}
174 -{{/box}}
175 -)))
176 -
177 -
178 -(% class="col-xs-12 col-sm-12" %)
179 -(((
180 180  == Distributed Network Types ==
181 181  
182 182  
... ... @@ -187,12 +187,3 @@
187 187  == Overview of P4P Networks ==
188 188  
189 189  {{include reference="Projects.WebHome"/}}
190 -)))
191 -
192 -
193 -
194 -
195 -
196 -
197 -
198 -)))