Relaynet Protocol Suite Specifications
This website hosts the official Relaynet specifications. If you’re new to Relaynet, you may want to start by watching a high-level explanation of how it works and the demo of the proof of concept with Twitter.
The following specifications provide the foundation of the network and are therefore the top priority of the project. At this point, the best way to contribute to the project is by providing feedback on these specs.
- RS-000 (Relaynet Core) defines the foundation of the protocol suite.
- RS-001 (RAMF) defines the Relaynet Abstract Message Format, an efficient binary format used to serialize messages.
- RS-002 (Relaynet PKI) defines how to use the certificates for endpoints and gateways.
- RS-003 (Key Agreement) defines the key agreement protocol to establish and protect sessions.
- RS-004 (CoSocket) is the part of the technology that helps transport the data using alternative methods like sneakernets.
- RS-016 (PoWebSocket) defines a protocol that connects applications to the Relaynet network.
- RS-007 (PoHTTP) defines a protocol that connects Relaynet to the Internet.
- RS-018 (Cryptographic Algorithms) defines the cryptographic algorithms that can be used in Relaynet.
- RS-014 (Ping) defines a trivial service to test end-to-end the implementation and integration of Relaynet components.
The following specifications are available for informational purposes only, and there are no requirements for Relaynet software vendors to comply with them.
- RS-019 (Security Threats) describes the general security threats that end users, service providers, relayers and software vendors should be aware of when implementing and using Relaynet.
- RS-012 (Service Integration Scale) categorizes the degrees to which Relaynet can be integrated in a service. This can be useful to understand the vision of the project and how future applications could be built on top of Relaynet.
The following documents are placeholders for future extensions:
- RS-017 (Adaptive Relay) will keep latencies low when the underlying network (e.g., the Internet) is available.
- RS-011 (AsyncRPC) will define a service that encapsulates RPCs in Relaynet messages. Only meant as a steppingstone until the actual service supports Relaynet.
- RS-013 (Message Broadcast) will add support for the Publish-Subscribe pattern.