Open
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
fryorcraken
reviewed
Oct 28, 2025
|
|
||
| ## Production Maturity | ||
|
|
||
| ### libp2p |
Contributor
There was a problem hiding this comment.
We already have a "libp2p" comparison here: https://docs.waku.org/learn/waku-vs-libp2p
Would be good to consolidate (eg delete old file)
|
|
||
| **Waku** is a privacy-preserving messaging protocol built on top of libp2p, extending it with metadata privacy and zero-knowledge DoS protection. | ||
|
|
||
| These protocols are complementary, Waku inherits libp2p's networking foundation and adds privacy-first messaging capabilities. |
Contributor
There was a problem hiding this comment.
Suggested change
| These protocols are complementary, Waku inherits libp2p's networking foundation and adds privacy-first messaging capabilities. | |
| These protocols are complementary, Waku inherits libp2p's networking foundation and adds privacy-first messaging capabilities. | |
| Waku defines a number of libp2p protocol to enable peer-to-peer messaging on consumer devices, such as mobile and browser. Those protocols solve problems of peer discovery and messages routing on devices with battery, bandwidth or availability restrictions. | |
| It is a peer-to-peer communication stack with battery included, enabling developers to build decentralised application with minimum overhead. | |
| Waku also aims to resolve the infrastructure needs for decentralized communication with the introduction of financial incentivization (research in progress). |
|
|
||
| | Aspect | libp2p | Waku | | ||
| |--------|--------|------| | ||
| | **Purpose** | General P2P infrastructure | Privacy-preserving messaging | |
Contributor
There was a problem hiding this comment.
Suggested change
| | **Purpose** | General P2P infrastructure | Privacy-preserving messaging | | |
| | **Purpose** | General P2P libraries | Privacy-preserving, anonymouse, censorship-resistant messaging SDKs and infrastructure. | |
| | Aspect | libp2p | Waku | | ||
| |--------|--------|------| | ||
| | **Purpose** | General P2P infrastructure | Privacy-preserving messaging | | ||
| | **Metadata Privacy** | None (connection patterns visible) | Strong (no-signature relay, k-anonymity) | |
Contributor
There was a problem hiding this comment.
Suggested change
| | **Metadata Privacy** | None (connection patterns visible) | Strong (no-signature relay, k-anonymity) | | |
| | **Metadata Privacy** | None (connection patterns visible) | Strong (no-signature relay, k-anonymity, message sending over mixnet) | |
| |--------|--------|------| | ||
| | **Purpose** | General P2P infrastructure | Privacy-preserving messaging | | ||
| | **Metadata Privacy** | None (connection patterns visible) | Strong (no-signature relay, k-anonymity) | | ||
| | **DoS Protection** | Peer scoring only | RLN (zero-knowledge proofs) | |
Contributor
There was a problem hiding this comment.
Suggested change
| | **DoS Protection** | Peer scoring only | RLN (zero-knowledge proofs) | | |
| | **DoS Protection** | Peer scoring, no bandwidth capping, message inspection needed for validation | RLN (anonymous permissionless bandwidth capping) | |
| - Same transport encryption as libp2p | ||
| - **Strong metadata privacy**: no-signature policy prevents sender identification | ||
| - Content topic strategies provide k-anonymity | ||
| - **Formal privacy guarantees**: proven sender anonymity against single-node adversaries |
Contributor
There was a problem hiding this comment.
Suggested change
| - **Formal privacy guarantees**: proven sender anonymity against single-node adversaries | |
| - **Sender anonymity**: sending messages through native mixnet (development in progress) |
| - **Strong metadata privacy**: no-signature policy prevents sender identification | ||
| - Content topic strategies provide k-anonymity | ||
| - **Formal privacy guarantees**: proven sender anonymity against single-node adversaries | ||
| - **Zero-knowledge DoS protection**: Rate Limiting Nullifiers (RLN) prevent spam without revealing identity |
Contributor
There was a problem hiding this comment.
Suggested change
| - **Zero-knowledge DoS protection**: Rate Limiting Nullifiers (RLN) prevent spam without revealing identity | |
| - **Bandwidth capping**: Rate Limiting Nullifiers (RLN) prevent network flood in an anonymous and permissionless manner (smart contract gates memberships) |
| | Adversary | libp2p | Waku | | ||
| |-----------|--------|------| | ||
| | Casual eavesdropper | ✅ Protected (encryption) | ✅ Protected (encryption) | | ||
| | Network-level observer | ❌ Metadata exposed | ✅ Sender anonymity preserved | |
Contributor
There was a problem hiding this comment.
Suggested change
| | Network-level observer | ❌ Metadata exposed | ✅ Sender anonymity preserved | | |
| | Network-level observer | ❌ Metadata exposed | ✅ Sender and receiver anonymity preserved | |
| | Casual eavesdropper | ✅ Protected (encryption) | ✅ Protected (encryption) | | ||
| | Network-level observer | ❌ Metadata exposed | ✅ Sender anonymity preserved | | ||
| | Compromised relay node | ❌ Can correlate traffic | ✅ Cannot identify sender | | ||
| | Global passive adversary | ❌ No protection | ⚠️ Timing correlation possible | |
Contributor
There was a problem hiding this comment.
Suggested change
| | Global passive adversary | ❌ No protection | ⚠️ Timing correlation possible | | |
| | Global passive adversary | ❌ No protection | ⚠️ Timing correlation possible (application dependent | |
| ## When to Use Each Protocol | ||
|
|
||
| ### Choose libp2p When: | ||
| - Building blockchain protocols or Layer 2 networks |
Contributor
There was a problem hiding this comment.
Suggested change
| - Building blockchain protocols or Layer 2 networks | |
| - Building blockchain protocols, Layer 2 networks or other p2p systems with very specific requirements |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Creates comparison section with waku vs xmtp and libp2p articles.