Jimmy Debe
dd397adc59
Update Coss Date ( #206 )
2025-11-04 18:02:05 +01:00
Jimmy Debe
69802377a8
Fix Linting Errors ( #204 )
...
Fix linting errors from the sds.md rfc.
2025-10-24 17:11:01 +02:00
Hanno Cornelius
171e934d61
docs: add SDS-Repair extension ( #176 )
...
Added SDS-R, an (optional) extension of SDS to allow for coordinated
repair of missing messages over a limited time window.
It functions by allowing subgroups of participants to rebroadcast
dependencies that were reported missing by other participants. As with
the rest of SDS, it aims to scale to larger groups first and could
likely be simplified for 1:1 or small group chats. To prevent an
explosion in repair requests or broadcast storms, it uses backoff timers
to prevent multiple participants from performing the same action (either
request a repair or rebroadcast in response to a repair request) in a
probabilistic manner.
Note that what is still missing is a specified recommended way to use
SDS-R in conjunction with retrieving missing dependencies from Store
nodes.
---------
Co-authored-by: fryorcraken <110212804+fryorcraken@users.noreply.github.com >
2025-10-13 15:37:44 +01:00
AkshayaMani
36be428cdd
RFC Refactor: Sphinx Packet Format ( #173 )
2025-10-05 20:21:16 -04:00
Hanno Cornelius
6672c5bedf
docs: update lamport timestamps to uint64, pegged to current time ( #196 )
...
Lamport timestamps should remain close to current time (in milliseconds)
for new joiners to be able to have their messages ordered reasonably
close to other messages in the channel.
This means that:
- the `timestamp` field should be large enough to accommodate
millisecond resolution timestamps, i.e. `uint64` (see
https://github.com/vacp2p/rfc-index/pull/195 for reasoning)
- the lamport timestamp should be updated before sending _each_ message
to `max(timeNowInMs, current_lamport_timestamp + 1)`.
The current spec only indicated that Lamport timestamps should be
_initialised_ to current time, which means that the logical timestamp
would soon drift from current time.
2025-10-02 14:07:29 +01:00
fryorcraken
b1da70386e
fix: use milliseconds for Lamport timestamp initialization ( #179 )
...
Changed Lamport timestamp initialization from nanoseconds to
milliseconds. The current time in nanoseconds exceeds JavaScript's
Number.MAX_SAFE_INTEGER, making nanosecond precision unsuitable for
JavaScript implementations. Milliseconds provide sufficient precision
while remaining well within safe integer bounds for decades to come.
2025-09-15 20:23:58 +10:00
seugu
f051117d37
VAC-RAW/Consensus-hashgraphlike RFC ( #142 )
...
This simple, scalable and decentralized consensus is for using in
decentralization MLS RFC.
todo:
- [x] solve lints
- [x] refine the RFC: adding liveness and time expiration section, also
default counting silent peers (peers that dont participate the voting)
- [x] add references
- [x] add license
- [x] first round reviewing
- [x] second round reviewing
- [x] last round review
---------
Co-authored-by: Ekaterina Broslavskaya <seemenkina@gmail.com >
2025-09-15 10:06:24 +03:00
Jimmy Debe
3505da6bd6
sds lint fix ( #177 )
...
Fix lint issue in sds.md
2025-08-22 14:53:34 +02:00
seugu
3b968ccce3
VAC/RAW/ ETH-MLS-OFFCHAIN RFC ( #166 )
...
The first version of decentralized MLS (de-MLS) aka ETH-MLS-OFFCHAIN
RFC.
---------
Co-authored-by: Ekaterina Broslavskaya <seemenkina@gmail.com >
Co-authored-by: Jimmy Debe <91767824+jimstir@users.noreply.github.com >
Co-authored-by: kaiserd <1684595+kaiserd@users.noreply.github.com >
2025-08-21 13:33:59 +03:00
Hanno Cornelius
536d31b5b7
docs: re-add sender ID to messages ( #170 )
...
Re-added the concept of a participant ID and the corresponding
`sender_id` field in each SDS message.
This is useful to filter "self-triggered" messages as described in
https://github.com/waku-org/js-waku/pull/2528
However, this will also be a necessary part of the protocol once p2p
message exchange is added.
---------
Co-authored-by: fryorcraken <110212804+fryorcraken@users.noreply.github.com >
Co-authored-by: shash256 <111925100+shash256@users.noreply.github.com >
2025-08-19 16:38:42 +01:00
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
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
Arseniy Klempner
8ee2a6d6b2
docs: add optional retrieval hint to causal history in sds ( #130 )
2025-03-07 18:32:46 -08: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
Arseniy Klempner
7a01711ffc
fix(sds): remove optional from causal history field in Message protobuf ( #123 )
2025-01-28 12:02:54 +02:00
Jimmy Debe
08b363d67e
Update SDS.md: Remove Errors ( #115 )
...
Remove markdown error from the SDS rfc.
2024-12-18 03:16:50 +01: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
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
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
0xbathang
b717c0aec9
Update README.md ( #101 )
2024-10-11 16:49:21 +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
a519e67752
Move Status-URL-scheme ( #98 )
...
Move url-scheme to `status/raw`.
2024-09-17 13:11:46 -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
Jimmy Debe
3ab314d87d
Fix Files for Linting ( #94 )
2024-09-13 16:51:09 +02:00
ramsesfv
13aaae37d1
Update eth-secpm.md ( #84 )
...
Included preliminary notes related to the onchain component.
---------
Co-authored-by: kaiserd <1684595+kaiserd@users.noreply.github.com >
2024-08-29 12:00:33 +02:00
Jimmy Debe
ed2c68f072
1/COSS: New RFC Process ( #4 )
...
Making changes to COSS to reflect new RFC process.
---------
Co-authored-by: kaiserd <1684595+kaiserd@users.noreply.github.com >
2024-08-09 10:38:31 -04:00
Aaryamann Challani
eb25cd06d6
chore: replace email addresses ( #86 )
...
Replacing my email addresses with ones that are valid
2024-08-05 09:35:04 -04:00
Pablo Lopez
a5b24ac0a2
fix_: broken image links ( #81 )
...
brought from https://github.com/vacp2p/rfc/tree/master/static/rfcs/2
2024-06-28 17:11:23 +03:00
Jimmy Debe
89cac77ae4
feat(60/STATUS-URL-SCHEME): initial draft ( #14 )
...
Moved from https://github.com/status-im/specs/pull/159
Reference pull request: https://github.com/vacp2p/rfc/pull/602
2024-06-21 08:35:42 -04:00
Jimmy Debe
cbefa483fc
32/RLN-V1: Move to Draft ( #40 )
...
Update 32/RLN-V1 to move to draft.
---------
Co-authored-by: Aaryamann Challani <43716372+rymnc@users.noreply.github.com >
2024-06-06 09:39:56 -04:00
Jimmy Debe
99be3b9745
Move Raw Specs ( #37 )
...
Move Vac raw specs into raw subdirectory.
2024-05-27 07:57:18 -04:00
ramsesfv
7e3a625812
ETH-SECPM-DEC ( #28 )
...
Co-authored-by: Jimmy Debe <91767824+jimstir@users.noreply.github.com >
Co-authored-by: Ekaterina Broslavskaya <seemenkina@gmail.com >
Co-authored-by: seugu <99656002+seugu@users.noreply.github.com >
2024-05-27 12:15:46 +02:00
ramsesfv
e234e9d5a3
Update eth-secpm.md ( #35 )
...
Added flow diagrams
---------
Co-authored-by: Jimmy Debe <91767824+jimstir@users.noreply.github.com >
2024-05-21 11:21:34 +02:00
Jimmy Debe
0b0e00f510
feat(rln-stealth-commitments): add initial tech writeup ( #23 )
...
By: rymnc
Reference pull request: https://github.com/vacp2p/rfc/pull/658
Initial writeup on viability of stealth commitments for status
communities
---------
Co-authored-by: fryorcraken <110212804+fryorcraken@users.noreply.github.com >
2024-04-15 17:34:56 +05:30
Jimmy Debe
2eaa7949c4
Broken Links + Change Editors ( #26 )
...
Fix to broken links, changed links, and added new editors to spec, 10,
12, 14, 17, 19.
2024-03-21 10:08:40 -04:00
kaiserd
f7733cb7df
Move Raw Specs
2024-03-01 19:16:47 +01:00
kaiserd
e05bbd22c0
feat(readme): explain new RFC process
2024-03-01 19:15:13 +01:00
Jimmy Debe
89fe39dd85
Update README.md
2024-03-01 11:45:13 -05:00
Jimmy Debe
f3a3e14a86
Update and rename waku-usage.md to status-waku-usage.md
2024-03-01 11:16:12 -05:00
Jimmy Debe
61a39e26d7
Update and rename vac/raw/57/simple-scaling.md to status/raw/simple-scaling.md
2024-03-01 11:15:07 -05:00
kaiserd
130388671d
fix(57): define rendezvous ns field as string
2024-03-01 16:50:09 +01:00
kaiserd
8308d7a016
Merge pull request #18 from vacp2p/waku-usage
2024-03-01 16:48:03 +01:00
Jimmy Debe
bff05cc075
Update README.md
2024-03-01 09:52:53 -05:00
Jimmy Debe
b7660cb25d
Create README.md
2024-03-01 09:51:59 -05:00
Jimmy Debe
49ead1234b
Create waku-usage.md
2024-02-29 22:04:35 -05:00