plebbit: a serverless, adminless, decentralized Reddit alternative using ENS
Plebbit is a self-hosted, anonymity supporting alternative to Reddit, the socialized reading platform.
For Plebbit to become popular enough to become a rival to centralized, censorious Reddit, easy deployment will be important.
There is a Plebbit Whitepaper and a proof of concept available. There is also an ongoing request for Plebbit to be supported on Cloudron.
Plebbit is a protocol and tooling for creating decentralized forum applications like Reddit, Facebook groups, Discourse, etc. It's a pure P2P protocol, it doesn't use any central server, databases, public HTTP end point, DNS, etc. It uses parts of the IPFS and Ethereum stack to create everything it needs:
IPFS for immutable data, like a published comment or a recent subplebbit page. IPNS for mutable data, like replies to a comment, upvote counts, new posts/comments published on a subplebbit, etc. IPFS pubsub for authors publishing comments/votes to a subplebbit and for the captcha challenge exchange between authors and subplebbits. ENS for usernames, community names, and serving the client in browsers.
Scalability and fees
A decentralized social media/forum has 2 problems: How to store the entire world's data on a blockchain, and how to prevent spam while being feeless. We propose solving the data problem by not using a blockchain for content, but rather IPNS and IPFS pubsub. Unlike cryptocurrencies that must know the order of each transaction to prevent double spends, social media does not care about the order of posts, nor about the availability of old posts.
Note that we must still use a blockchain (ENS) for usernames and community names because those do care about doublespends and ledger history availability.
The IPNS name (also ENS name) is the name and address of the subplebbit, e.g. "memes.eth".
To publish a post to a subplebbit, a user would publish a pubsub message with a "topic" equal to the subplebbit's ENS name. This allows the subplebbit owner to reply with "challenge" and "challengeverification" messages signed with his ENS' public key that all pubsub peers can verify.
@plusone-nick What seems to be wrong with it? That Plebbit developer is strong on crypto and security, so it would be interesting to hear your objection. I hope you might post it on Plebbits github. It could help the project in the early stages.
@plusone-nick It is a serious project. The name does do the project any favours in these early stages, a portmanteau between plebeian and reddit.
If you are interested in this kind of project but would like to look at something else, please take a look at Galacteek, which has been requested for Cloudron. Galacteek is based on IPFS. (https://ipfs.io )
Also, have a look at Aether: https://getaether.net
And the fledgling Berty: https://berty.tech/
and I suppose Session: https://getsession.org