RSDS is a novel decentralized information sharing protocol that empowers users to own, distribute and discover content. Think of it like a decentralized Twitter where data is entirely in the user's hands and where everyone is free to post content and subscribe to new posts. It could be also be compared to decentralized version of global RSS feed.
RSDS is decentralized, but not federated. Each user (domain) is responsible for hosting his social posts and each RSDS instance contains all the history of urls ever submitted to the platform.
RSDS is optimized for speed, performance and scale. Only signed urls are saved in instances to keep them lightweight. Reader platforms do the heavy lifting of crawling and storing post data.
⭐ Don't like to read? Try the DEMO of RSDS by publishing your first social post
📧 We are looking for active contributors - if you want to join this project please email rsds@tautvilas.lt
🧠 Read more about philosophy of RSDS in this blog post
RSDS consists of three integral repositories:
- demo-writer: A user-friendly onboarding tutorial to generate keys and social posts.
- instance-nodejs: The heart of the RSDS protocol. It validates, stores, and distributes the post information.
- demo-reader: A platform that displays the information from the RSDS network in a user-friendly format.
This tutorial helps new users get started with RSDS:
- Generate private/public key pairs using the secp256k1 algorithm.
- Craft RSDS-compliant HTML documents for social posts.
- Guide on uploading the public key and post to their personal domain.
- Submit the post URL to the RSDS instance for publishing.
The core of the RSDS P2P protocol:
- Receives URL submissions and validates them.
- DOES NOT save post content, only URLs, signatures, domains, and content hashes.
- Distributes validated information to other peers on the network.
- Validates post timestamps against Bitcoin blockchain
A platform to consume RSDS content:
- Crawls URLs from RSDS instance databases.
- Stores post data locally.
- Displays data in a Twitter-like interface, showing domains and "retweet" equivalents.
- Key Generation: User creates a private/public key pair (secp256k1).
- Key Hosting: User hosts the public key on their domain (e.g.,
userdomain.com/did.pem
). - Content Creation: User crafts a RSDS-compliant HTML page with their post and hosts it on their domain.
- Submission: User signs the hash of their content and URL and sends this to a RSDS instance.
- Validation: RSDS instance verifies the post's signature, content, and other aspects, then saves the URL and signature.
- Propagation: The URL's information is broadcasted on the p2p network for other instances to validate and store.
Main planned features
- Data synchronization algorithms for RSDS instances
- Allow image/link attachments for submissions
- Implement advanced reader features: comments, follow lists, popular posts listing etc