1 | Requirement | Tor | I2P | Veilid | Urbit | Freenet-Locutus (2023) | Iroh | Reticulum (LXMF) | Yggdrasil | Braid | Hyphanet (previously Freenet) | ZeroNet | RetroShare | BitTorrent | DAT | Earthstar (Willow) | P2Panda | PPPPP | Secure Scuttlebutt | Nostr | Polycentric | Spritely | Briar (Bramble) | Signal | Berty (Wesh) | NewNode | Session | SimpleX | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2 | Core Function | Anonymity Network | Anonymity Network | Anonymity Network | Distributed Computation | Distributed Computation | Distributed Computation | Overlay Network | Overlay Network | State Synchronization | Content Distribution | Content Distribution | Content Distribution | Content Distribution | Content Distribution | Decentralized Collaboration | Decentalized Collaboration | Social Network | Social Network | Social Network | Social Network | Private Messaging | Private Messaging | Private Messaging | Private Messaging | Private Messaging | Private Messaging | ||||||||||||||||||
3 | Decentralized (No Single Point of Failure) | NO | YES | YES | YES | YES | PARTIAL: uses DHT to find peers | NO: clients provide relay defaults | |||||||||||||||||||||||||||||||||||||
4 | Private (Packets Encrypted in Transit) | YES | YES | YES | YES | YES | YES | YES | PARTIAL: depends on the transport | YES | YES | YES | YES | YES | YES | YES | YES | YES | |||||||||||||||||||||||||||
5 | Authenticated (Signed Events) | YES | YES: explicit authentication of peers | YES | YES | YES | YES: all messages are signed | YES | YES | ||||||||||||||||||||||||||||||||||||
6 | Anonymous (Peer Obfuscation) | YES: onion routing | YES | YES | NO | NO | NO | NO | NO | YES | PARTIAL: Can operate over Tor | PARTIAL: operate over Tor/I2P | NO | NO | NO | NO | NO: identity trivially linked to IP address | NO: partly centralized architecture | YES: local only or via Tor | NO: Phone number required | |||||||||||||||||||||||||
7 | Censorship Resistant (Blind Replication) | NO | NO | NO | YES | YES | PARTIAL: friend-to-friend | YES | PARTIAL | PARTIAL: explicit replication | PARTIAL: some content on multiple relays | PARTIAL: no public data | PARTIAL: no public data | ||||||||||||||||||||||||||||||||
8 | Perfect Forward Secrecy | YES | YES | YES | NO | YES | YES | ||||||||||||||||||||||||||||||||||||||
9 | Blockchain / Distributed Ledger | NO | NO | NO | NO | NO | NO | NO | NO | NO | NO | NO | YES: each user/feed has its own blockchain | NO | NO | NO | |||||||||||||||||||||||||||||
10 | Financial Instrument / Cryptocurrency | NO | NO | NO | YES: depends on Ethereum | NO | NO | NO | NO | NO | NO | NO | NO | NO | NO | PARTIAL: optional WorldCoin | NO | YES | |||||||||||||||||||||||||||
11 | Content Publishing | YES | YES | YES | YES: NomadNet "pages" | YES: most existing web servers work | YES | YES: core use case | YES | PARTIAL: external Beaker Browser | YES | YES: public feeds and reactions | YES | YES: forums and blogs | NO: "Stories" only to specific peers | ||||||||||||||||||||||||||||||
12 | Distributed Storage | NO | NO: external Tahoe-LAFS | YES: DHT | YES | YES: DHT (WASM contracts) | NO | NO | YES | YES: BitTorrent based protocol | YES | PARTIAL: explicit opt in | YES: append-only log | YES: append-only DAG (tangle) | YES: followers replicate all content | PARTIAL: between clients and relays only | NO | ||||||||||||||||||||||||||||
13 | Distributed Storage: Verified Order | YES: block chain | |||||||||||||||||||||||||||||||||||||||||||
14 | Distributed Storage: Mutability | N/A | N/A | N/A | N/A | YES | NO | YES | |||||||||||||||||||||||||||||||||||||
15 | Distributed Storage: Mutability (multi-player) | N/A | N/A | N/A | N/A | YES | NO | NO | NO | YES | PARTIAL: events | PARTIAL: forums | PARTIAL: multi-admin groups | ||||||||||||||||||||||||||||||||
16 | Distributed Storage: Ephemerality | N/A | N/A | N/A | N/A | NO | YES | ||||||||||||||||||||||||||||||||||||||
17 | Private Messaging | NO: requires third-party app | PARTIAL: VeilidChat work in progress | NO | YES | NO | NO | NO | YES: encrypted but still replicated publicly | YES: core use case | YES: core use case | YES: core use case | |||||||||||||||||||||||||||||||||
18 | Private Messaging: Store/Forward | N/A | PARTIAL | N/A | N/A | YES: identical to other content | PARTIAL: requires Briar Mailbox | YES: encrypted in transit and at rest | |||||||||||||||||||||||||||||||||||||
19 | Private Messaging: Sealed Sender | N/A | N/A | N/A | N/A | YES | YES | ||||||||||||||||||||||||||||||||||||||
20 | Private Messaging: End-to-End Encrypted | N/A | YES | N/A | N/A | N/A | YES | YES | |||||||||||||||||||||||||||||||||||||
21 | Private Messaging: Groups | N/A | PARTIAL: IRC client support | YES | NO | NO | NO | YES | YES | YES | |||||||||||||||||||||||||||||||||||
22 | Supports Linux | YES | YES: veilid-server, veilid-cli | YES: NomadNet, Sideband, various CLI | YES | YES | YES | YES | YES | YES | YES: Manyverse | YES | YES | ||||||||||||||||||||||||||||||||
23 | Supports Android | YES: Orbot | YES | PARTIAL: VeilidChat work in progress | YES: Sideband | YES | NO | YES | YES: Manyverse | YES | YES | YES | |||||||||||||||||||||||||||||||||
24 | Supports Web Client | NO | NO | PARTIAL: WASM implementation | NO | YES | NO | YES | YES | PARTIAL: ssbweb | YES | YES | NO | NO | |||||||||||||||||||||||||||||||
25 | Tolerates Short Lived Connections | YES | YES | YES | YES | NO | PARTIAL | PARTIAL: syncing can take a while | NO: mailbox or synchronous messaging | YES | |||||||||||||||||||||||||||||||||||
26 | Relay Servers: Public | YES | YES | YES | YES | YES | YES: public trackers | YES: "pubs" | YES | YES | YES | ||||||||||||||||||||||||||||||||||
27 | Relay Servers: Private | YES | YES | YES: private trackers | YES: "rooms" | YES: Briar Mailbox | NO | ||||||||||||||||||||||||||||||||||||||
28 | Decentralized Identity | NO | YES | NO | N/A | YES: via ZeroID | NO | NO | YES: public key | YES: public key | YES | NO | |||||||||||||||||||||||||||||||||
29 | Shared Identity Across Devices | NO | NO: theoretically possible | N/A | N/A | N/A | NO: one identity per device | NO: planned | YES | NO: planned | |||||||||||||||||||||||||||||||||||
30 | Friend-to-Friend / Friendnet | YES | YES: possible if configured properly | YES | YES | YES: can be enforced with custom key | YES | Essentially a centralized friendnet | |||||||||||||||||||||||||||||||||||||
31 | Offline First Operation | NO | NO | NO | YES: similar to a git repository | YES: all operations local first, synced later | NO | YES: stored locally until delivered | YES: stored until delivered | ||||||||||||||||||||||||||||||||||||
32 | Transport via Internet | YES | YES | YES | YES | YES | YES: manual peer configuration | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES: libp2p | YES | YES | ||||||||||||||||||||||
33 | Transport via Local Area Network | NO | YES | YES | YES | YES | YES | YES | PARTIAL: requires manual deployment | YES | NO | YES: libp2p | |||||||||||||||||||||||||||||||||
34 | Transport via Nearby Device | NO | NO | NO | NO | NO | PARTIAL: bluetooth unmaintained | YES: Bluetooth | NO | YES: BLE, Nearby | |||||||||||||||||||||||||||||||||||
35 | Transport via Sneakernet | NO | NO | YES: paper and ink | YES: theoretically | YES: theoretically | PARTIAL: proposed | PARTIAL: conceptually possible | NO | NO | |||||||||||||||||||||||||||||||||||
36 | Transport via Long Distance Radio | NO | NO | NO | YES: LoRa | NO | NO | NO | NO | ||||||||||||||||||||||||||||||||||||
37 | Bridged to Plainnet Internet | YES | NO | NO | N/A | N/A | N/A | YES | N/A | NO | N/A | NO | N/A | N/A | N/A | N/A | Plainnet, web frontends | Plainnet, web browsers | NO | Plainnet default | |||||||||||||||||||||||||
38 | Transparent Layer-3 Network Proxy | YES: SOCKS proxy | PARTIAL: SAMv3 | NO | NO | YES | NO | NO | NO | ||||||||||||||||||||||||||||||||||||
39 | Stable Release / Maintained | YES | YES | PARTIAL | YES | PARTIAL | YES | YES | YES | YES | PARTIAL: multiple forks | YES | YES | YES | PARTIAL: new maintainer, being rewritten to use the Willow protocol | NO | NO | YES | YES | YES | NO | YES | YES | ||||||||||||||||||||||
40 | Open Source | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | PARTIAL: server out of date? | YES | |||||||||||||||||||||||||
41 | Programming language | C | C / Rust | Rust / Dart | Various esolang | Rust | Rust | Python / C | Go | C | Python / Javascript | C | Javascript / Rust | Rust | Javascript / Rust | Go / Javascript | Java / C | Java | |||||||||||||||||||||||||||
42 | Threat model | https://www.newnode.com/vulnerability-mitigation-overview | |||||||||||||||||||||||||||||||||||||||||||
43 | |||||||||||||||||||||||||||||||||||||||||||||
44 | |||||||||||||||||||||||||||||||||||||||||||||
45 | |||||||||||||||||||||||||||||||||||||||||||||
46 | |||||||||||||||||||||||||||||||||||||||||||||
47 | |||||||||||||||||||||||||||||||||||||||||||||
48 | |||||||||||||||||||||||||||||||||||||||||||||
49 | |||||||||||||||||||||||||||||||||||||||||||||
50 | |||||||||||||||||||||||||||||||||||||||||||||
51 | |||||||||||||||||||||||||||||||||||||||||||||
52 | |||||||||||||||||||||||||||||||||||||||||||||
53 | |||||||||||||||||||||||||||||||||||||||||||||
54 | |||||||||||||||||||||||||||||||||||||||||||||
55 | |||||||||||||||||||||||||||||||||||||||||||||
56 | |||||||||||||||||||||||||||||||||||||||||||||
57 | |||||||||||||||||||||||||||||||||||||||||||||
58 | |||||||||||||||||||||||||||||||||||||||||||||
59 | |||||||||||||||||||||||||||||||||||||||||||||
60 | |||||||||||||||||||||||||||||||||||||||||||||
61 | |||||||||||||||||||||||||||||||||||||||||||||
62 |