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
ksr
38fce27d33
typo fix
2024-11-08 08:42:02 +01: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
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
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
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
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
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
Jimmy Debe
18a16ae695
Update and rename simple-scaling.md to simple-scaling.md
2024-02-28 21:55:14 -05:00