AkshayaMani
5e3b4788ec
RFC Refactor PR: Modular Rewrite of Mix Protocol Specification ( #158 )
...
This PR rewrites the Mix Protocol RFC for clarity, layering, and
implementability. It reorganizes the spec into a modular structure
aligned with RFC 7322 and RFC 2119, with clean separation between
protocol logic, integration, and pluggable components.
### Goals
- Clearly define Mix as a **message-based routing protocol**, not a
transport or application-layer solution.
- Support **per-message anonymity** via a `mixify` flag and **external
integration** through Entry and Exit layers.
- Adopt a clean, layered structure: motivation → integration → routing
model → cryptographic structure → node behavior.
- Use correct RFC formatting, keywords, and SEMBR for implementation
clarity.
### Changes Completed in This PR
#### Sections 0–5: Foundational Structure and Protocol Layering
* [x] **Abstract**: Concise, non-repetitive summary of protocol purpose
and scope.
* [x] **§1 Introduction**: Cleanly describes protocol role, document
scope, and integration model.
* [x] **§2 Terminology**: Defines all key terms; includes correct use of
`MUST`, `SHOULD`, and informal variants.
* [x] **§3 Motivation and Background**: Articulates need for sender
anonymity in libp2p; includes `§3.1 Comparison with Tor`.
#### Section 4 Mixing Strategy and Packet Format
* [x] **§4.1 Mixing Strategy**: Defines continuous-time mixing;
justifies choice over batching.
* [x] **§4.2 Packet Format Overview**: Defines what a mix packet must
achieve; outlines Sphinx format properties and rationale.
#### Section 5 Protocol Overview and Integration
* [x] **§5 Protocol Overview**: Clean, layered walkthrough of core
protocol behavior and layering in libp2p.
* [x] **§5.1 Integration with Origin Protocols**: External interface
components (Mix Entry/Exit layers).
* [x] **§5.2 Mixify Option**: Per-message flag defined.
* [x] **§5.3 Why a Protocol, Not a Transport**: Explains why Mix is
layered as a libp2p protocol, not a transport.
* [x] **§5.4 Protocol Interaction Flow**: Three-phase diagram and
explanation (entry → routing → exit).
#### Section 6 Pluggable Components
* [x] Discovery: advertise Mix support via ENR, X25519 key
* [x] Delay strategy: sender-defined per-hop delay
* [x] Spam protection: PoW/VDF/RLN options, exit node validation
* [x] Cover traffic: periodic loops for unobservability
* [x] Incentivization: nodes MUST participate to send
#### Section 7 Core Mix Protocol Responsibilities
* [x] Define Sender, Intermediary, Exit node roles
* [x] Specify lifecycle and message flow per role
#### Section 8 Sphinx Packet Format (Detailed Spec)
* [ ] Full field definitions (α, β, γ, δ, delays, MACs)
* [ ] Encoding and padding behavior
#### Section 9 Node Behavior (Mix Protocol Handler)
* [ ] Describe sender node logic: path selection, packet wrapping
* [ ] Describe intermediary/exit node behavior: decryption, delay,
forwarding
#### Section 10 Limitations and Future Work
* [ ] SURB-based reply support (unimplemented)
* [ ] DoS/Sybil attack surface
* [ ] Path overlap, message reordering, end-to-end acks
#### Appendices
* [ ] Appendix A: Proof-of-Work Example
* [ ] Appendix B: ENR-Based Discovery Example
2025-06-27 14:03:10 -04:00
Jimmy Debe
36caaa621a
Fix Errors rfc.vac.dev ( #165 )
...
Two errors causing build problems on rfc.vac.dev. This should be fix.
2025-06-05 10:13:21 -04:00
Jimmy Debe
db90adc94e
Fix LaTeX errors ( #163 )
...
LaTeX are causing build errors on rfc.vac.dev. Potential fixes..
2025-06-02 17:33:46 -04:00
Cofson
f829b12517
waku/standards/core/66/metadata.md update ( #148 )
...
Improved metadata.md in waku/standards/core/66 folder
2025-05-13 01:52:53 +02:00
Cofson
91c9679bc8
update waku/informational/30/adaptive-nodes.md ( #147 )
...
Improved adaptive-nodes.md file in waku/informational/30 folder
---------
Co-authored-by: Jimmy Debe <91767824+jimstir@users.noreply.github.com >
2025-04-29 10:25:54 +02:00
Cofson
614348a498
Status deprecated update2 ( #134 )
...
These are from the previous PR:
https://github.com/vacp2p/rfc-index/pull/109
---------
Co-authored-by: Jimmy Debe <91767824+jimstir@users.noreply.github.com >
2025-04-29 10:24:09 +02:00
Cofson
5971166405
Update discv5.md ( #139 )
...
Updates to discv5 links.
2025-04-29 10:22:57 +02:00
Cofson
db365cb756
update waku/standards/application/54/x3dh-sessions.md ( #151 )
...
Improved x3dh-sessions.md file in the waku/standards/application/54
folder
2025-04-24 15:04:57 +02:00
Cofson
4df2d5f787
update waku/informational/23/topics.md ( #144 )
...
Updates to topics.md in waku/informational/23 folder
2025-04-22 12:56:38 +02:00
Cofson
af7c413e64
update waku/informational/27/peers.md ( #145 )
...
Improved peers.md file in waku/informational/27 folder
2025-04-22 12:55:32 +02:00
Cofson
7408956616
update waku/informational/29/config.md ( #146 )
...
Improved config.md file in waku/informational/29 folder
2025-04-22 12:55:15 +02:00
Jimmy Debe
34aa3f3647
Fix links 10/WAKU2 ( #153 )
...
Update links that were not working.
2025-04-15 19:35:08 -04:00
Jimmy Debe
1b8b2ac70b
Add missing status to 13/WAKU-STORE ( #149 )
...
13/WAKU-STORE was missing the status.
2025-04-15 19:32:24 -04:00
Jimmy Debe
3b152e44b5
20/TOY-ETH-PM: Update ( #141 )
...
Removing Waku terminology (Waku v2). Updating links, grammar and some
formatting changes. A path to stable should be considered as
implementation has not been revisited for two years.
---------
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com >
2025-04-09 17:20:00 -04:00
Jimmy Debe
cafa04fb93
10/WAKU2: Update ( #125 )
...
Updates include changing links, removing deprecated specs, and adding
updated specs.
---------
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com >
2025-04-09 17:19:40 -04:00
Jimmy Debe
805280880a
14/WAKU2-MESSAGE: Move to Stable ( #120 )
...
Updating 14/WAKU2-MESSAGE rfc. Suggesting a move to stable.
---------
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com >
2025-04-09 17:19:10 -04:00
Jimmy Debe
517b63984c
Update the RFCs: Vac Raw RFC ( #143 )
...
Updated a few Vac raw RFCs noise-x3dh-double-ratchet, eth-mls-on-chain,
eth-secpm, eth-dcgka.
2025-04-04 17:04:00 +02:00
Jimmy Debe
f08de10845
26/WAKU2-PAYLOADS: Update ( #136 )
...
26/WAKU2-PAYLOADS updating links and some information in sections.
2025-03-31 19:06:58 -04:00
Jimmy Debe
e8a3f8a77d
12/WAKU2-FILTER: Update ( #119 )
...
An update of the 12/WAKU2-FILTER RFC. Some rearrange some sections,
updated links and terms.
---------
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com >
2025-03-25 11:48:27 -04:00
Arseniy Klempner
8ee2a6d6b2
docs: add optional retrieval hint to causal history in sds ( #130 )
2025-03-07 18:32:46 -08:00
Jimmy Debe
f4b34afd1a
Fix Linting Errors ( #135 )
...
Fix the current markdown-linting errors.
2025-03-07 16:36:06 +01:00
Jazz Turner-Baggs
0277fd0c4d
docs: update dead links in 64/Network ( #133 )
...
This PR updates dead links in 64/NETWORK.
-
`https://github.com/waku-org/specs/blob/master/standards/core/metadata.md `
is repalced with
`https://github.com/vacp2p/rfc-index/blob/main/waku/standards/core/66/metadata.md `
- Updates the name `WAKU-METADATA` to `66/WAKU2-METADATA` to match style
2025-02-25 09:24:45 +00:00
Hanno Cornelius
9bed57e4ad
docs: define basic sharding for Communities ( #132 )
...
Changes here address the bulk of what is necessary for
https://github.com/waku-org/pm/issues/266 and
https://github.com/status-im/status-go/issues/5821 to define the new
shared-shard strategy for Communities.
This PR should be enough unblock implementation and, once merged, we can
go ahead with the pubsub topic changes in status-go.
I'm not yet closing the accompanying deliverable, as the spec still
requires a full list of all Communities-related messages with functional
scope explicitly assigned.
2025-02-21 12:38:27 +00:00
Hanno Cornelius
235c1d5aa6
docs: clarify receiving sync messages ( #131 )
...
Minor adds to "Receive message" procedure to reflect changes introduced
in https://github.com/vacp2p/rfc-index/pull/129
2025-02-20 11:03:49 +00:00
Arseniy Klempner
718245979f
docs: update sds sync message requirements ( #129 )
2025-02-18 21:10:31 -08:00
Cofson
1ddddc7994
update to tree structure ( #128 )
...
closed the previous due to some signature errors and fixed it in this
one (for reference: https://github.com/vacp2p/rfc-index/pull/121 )
---------
Co-authored-by: Jimmy Debe <91767824+jimstir@users.noreply.github.com >
2025-02-15 04:03:46 +01:00
Jimmy Debe
a60a2c45de
13/WAKU-STORE: Update ( #124 )
...
Update 13/WAKU-STORE RFC to store v3 spec. Previous draft has been moved
to `previous-versions` version number 00.
2025-02-03 03:52:35 -05:00
Jimmy Debe
c3d5fe6f88
15/WAKU2-BRIDGE: Update ( #113 )
...
Updating format, adding references and some information.
---------
Co-authored-by: kaiserd <1684595+kaiserd@users.noreply.github.com >
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com >
2025-01-28 20:21:01 -05:00
Arseniy Klempner
7a01711ffc
fix(sds): remove optional from causal history field in Message protobuf ( #123 )
2025-01-28 12:02:54 +02:00
Prem Chaitanya Prathi
dc7497a312
add usage guidelines for waku content topics ( #117 )
...
1. add usage guidelines for waku content topics
2. update communities spec as per content topic changes (#118 )
- Update content topic usage as per
https://forum.vac.dev/t/status-communities-review-and-proposed-usage-of-waku-content-topics/335
- Update symmetric encryption done at content topic level before
messages are handed over to waku
- Update about shard or pubsub topic usage
2025-01-02 17:45:06 +05:30
Jimmy Debe
08b363d67e
Update SDS.md: Remove Errors ( #115 )
...
Remove markdown error from the SDS rfc.
2024-12-18 03:16:50 +01:00
Jinho Jang
2b297d597f
Update peer-exchange.md to fix a build error ( #114 )
...
<img width="1714" alt="Screenshot 2024-12-06 at 8 29 20 PM"
src="https://github.com/user-attachments/assets/b3fce6c4-48e8-44a6-8f7d-64e42002e121 ">
Images should be defined using relative paths to successfully build
https://rfc.vac.dev/ , which is powered by Docusaurus.
I have verified that this update resolves the build issue locally.
2024-12-07 00:49:08 +09:00
Hanno Cornelius
bee78c40b9
docs: add SDS protocol for scalable e2e reliability ( #108 )
...
Introduces the "Scalable Data Sync" protocol, based on the e2e
reliability mechanisms discussed in the [Vac forum
post](https://forum.vac.dev/t/end-to-end-reliability-for-scalable-distributed-logs/293/10 ).
The initial aim is to provide an end-to-end reliability protocol for
Status chat protocols, specifically within the context of Status
Communities.
---------
Co-authored-by: fryorcraken <110212804+fryorcraken@users.noreply.github.com >
Co-authored-by: Jimmy Debe <91767824+jimstir@users.noreply.github.com >
2024-11-28 16:22:36 +00:00
Jimmy Debe
87d4ff74d0
Workflow Fix: markdown-lint ( #111 )
...
Fixing some errors that still occur in markdown-lint.
2024-11-20 18:32:58 -05:00
Jimmy Debe
dcc579c47a
Update WAKU2-PEER-EXCHANGE: Move to draft ( #7 )
...
Move 34/WAKU2-PEER-EXCHANGE to draft.
2024-11-20 12:36:40 -05:00
Jimmy Debe
ff87c84dc7
Update Waku Links ( #104 )
...
Change Waku links that do not point to master waku/specs repo. Also
update title for template, to look better on the rfc website.
2024-11-20 12:32:56 -05:00
Jimmy Debe
e60519bc80
Update .markdownlint.json ( #106 )
...
Remove 80 characters line length requirement
- Semantic breaks must still be enforced.
Remove requirements to remove headings with the same content.
- If multiple headings have the same headings, those headings should not
be referenced within the document.
2024-11-20 12:23:13 -05:00
Jimmy Debe
776c1b76cd
rfc-index: Update ( #110 )
...
Removing .DS_Store files and updating some links.
2024-11-20 12:22:29 -05:00
ksr
38fce27d33
typo fix
2024-11-08 08:42:02 +01:00
Hanno Cornelius
37b3edfba3
docs: add spec for status protocol stack, deprecate waku-usage spec ( #105 )
...
This adds a new raw specification covering the Status protocol stack,
including:
- common app-level features (content topics, functional scopes,
ephemerality)
- e2e reliability layer
- encryption layer (TBD)
- Waku transport layer
It deprecates/replaces the previous status waku-usage spec.
---------
Co-authored-by: Jimmy Debe <91767824+jimstir@users.noreply.github.com >
2024-10-25 17:33:35 +01:00
0xbathang
b717c0aec9
Update README.md ( #101 )
2024-10-11 16:49:21 +02:00
0xbathang
869e12f06a
Update README.md ( #102 )
2024-10-11 16:49:06 +02:00
Afri Schoedon
5b5e972259
cosmetic: fix typo in readme ( #99 )
2024-10-09 17:54:02 +02:00
Afri Schoedon
d5e0072498
cosmetic: fix external links in 1/COSS ( #100 )
2024-10-09 17:53:44 +02:00
ramsesfv
c655980494
Eth secpm splitted ( #91 )
...
This branch contains 2 new RFCs:
1. An RFC describing the secure 1-to-1 communication channels;
2. An RFC describing the MLS and the decentralized MLS.
---------
Co-authored-by: Ekaterina Broslavskaya <seemenkina@gmail.com >
Co-authored-by: kaiserd <1684595+kaiserd@users.noreply.github.com >
2024-10-03 16:20:18 +02:00
Jimmy Debe
9b5e2194cf
Update simple-scaling ( #93 )
...
Remove slug within title of spec.
2024-09-17 13:14:00 -04:00
Jimmy Debe
a519e67752
Move Status-URL-scheme ( #98 )
...
Move url-scheme to `status/raw`.
2024-09-17 13:11:46 -04:00
Jimmy Debe
36f64f01f0
feat(59/STATUS-URL-DATA): initial draft ( #13 )
...
Moved from https://github.com/status-im/specs/pull/169
Reference pull request: https://github.com/vacp2p/rfc/pull/600
---------
Co-authored-by: Felicio Mununga <felicio@users.noreply.github.com >
2024-09-17 13:11:30 -04:00
Jimmy Debe
ad80a59e2b
62/STATUS-PAYLOAD: Add Description ( #95 )
...
62/STATUS-PAYLOAD missing description.
2024-09-16 12:51:00 -04:00
AkshayaMani
7f5276e18c
libp2p Mix Protocol Spec Draft ( #97 )
...
Old PR can be found here: [Mix Protocol Spec
#85 ](https://github.com/vacp2p/rfc-index/pull/85 )
2024-09-16 08:05:47 -04:00