6.8 KiB
Waku Specifications
Waku builds a family of privacy-preserving, censorship-resistant communication protocols for web3 applications. This repository contains specifications for the Waku suite of protocols.
List of Specifications:
- Standards
- Core: Standards and protocols for the core Waku p2p communications offering.
- Application: Standards and protocols that describe various applications or encryption use cases built on top of a Waku network.
- Informational: Waku design issues, general guidelines or background information that does not constitute a new feature.
Core standards
Waku Specifications | Description |
---|---|
10/WAKU2 | Waku Overview |
11/WAKU2-RELAY | Waku Relay |
12/WAKU2-FILTER | Waku Filter |
13/WAKU2-STORE | Waku Store |
14/WAKU2-MESSAGE | Waku Message |
17/WAKU2-RLN-RELAY | Waku RLN Relay |
19/WAKU2-LIGHTPUSH | Waku Lightpush |
33/WAKU2-DISCV5 | Waku Discovery v5 Ambient Peer Discovery |
36/WAKU2-BINDINGS-API | Waku C Bindings API |
WAKU2-PEER-EXCHANGE | Waku Peer Exchange |
WAKU2-ENR | Waku Usage of ENR |
WAKU2-INCENTIVIZATION | Waku Incentivization |
66/WAKU2-METADATA | Waku Metadata |
64/WAKU2-NETWORK | Waku Network |
RELAY-SHARDING | Waku Relay Sharding |
WAKU2-STORE | Waku Store Query |
WAKU2-RLN-CONTRACT | Waku RLN Contract Specification |
Application standards
Waku Specifications | Description |
---|---|
20/TOY-ETH-PM | Toy Ethereum Private Message |
21/WAKU2-FAULT-TOLERANT-STORE | Waku Fault-Tolerant Store |
22/TOY-CHAT | Waku Toy Chat |
26/WAKU2-PAYLOAD | Waku Message Payload Encryption |
53/WAKU2-X3DH | X3DH Usage for Waku Payload Encryption |
54/WAKU2-X3DH-SESSIONS | Session Management for Waku X3DH |
DANDELION | Waku Dandelion |
WAKU2-DEVICE-PAIRING | Device Pairing and Secure Transfers with Noise |
WAKU2-NOISE | Noise Protocols for Waku Payload Encryption |
TOR-PUSH | Waku Tor Push |
RLN-KEYSTORE | Waku RLN Keystore JSON schema |
TRANSPORT-RELIABILITY | Waku Transport Reliability |
REQ-RES-RELIABILITY | Reliability for request-response protocols |
Informational
Waku Specifications | Description |
---|---|
23/WAKU2-TOPICS | Waku Topic Usage Recommendations |
27/WAKU2-PEERS | Waku Peer Management Recommendations |
29/WAKU2-CONFIG | Waku Parameter Configuration Recommendations |
30/ADAPTIVE-NODES | Adaptive Nodes |
ADVERSARIAL-MODELS | Waku Adversarial Models and Attack-based Threat List |
RELAY-STATIC-SHARD-ALLOC | Waku Relay Static Shard Allocation |
Resources
Relevant Waku resources related to the specifications located in this repository:
Contributions
Contributions are welcome from any party. Contributors can create specifications relating to the Waku domain and create a pull request to begin discussion.
Please adhere to the following contribution guidelines:
- use the recommended template for new proposed specifications
- use keywords as per the language recommendations in the template and Vac COSS
- use semantic breaks
- links to Waku, Vac or other IFT-related specifications must be to the corresponding Github repository and not to a webpage. For example, Waku specs reside in waku-org/specs and Vac RFCs in vacp2p/rfc-index.
- we no longer use "v2" in the name of new specifications (and existing spec names inconsistent with this rule will eventually be revised). For example, do not call your specification "Waku v2 New Protocol" but simply "Waku New Protocol"
- the title of new specifications must be prefixed with
WAKU2-
to differentiate it from other projects' specs and previous RFC generations. For example, "Waku New Protocol" could be titledWAKU2-NEW-PROTOCOL
.
New specifications are considered a proof of concept. Once a rough consensus is reached towards stabilization, the specification may be considered to receive the draft status and further discussion will continue on the Vac RFC-Index repository.
NOTE: Specifications located in this repository should be considered not production ready. Discussion should be conducted with the intention of maturing each specification.
Head over to the Vac RFC-Index repository where other Waku specifications live.