-
Notifications
You must be signed in to change notification settings - Fork 8
Create comparison section #255
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
fryorcraken
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
First pass
|
|
||
| ## Production Maturity | ||
|
|
||
| ### libp2p |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| 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 | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| | **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) | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| | **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) | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| | **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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| - **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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| - **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 | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| | 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 | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| | 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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| - Building blockchain protocols or Layer 2 networks | |
| - Building blockchain protocols, Layer 2 networks or other p2p systems with very specific requirements |
Creates comparison section with waku vs xmtp and libp2p articles.