You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Do you agree to open source all work you do on behalf of this RFP and dual-license under MIT, APACHE2, or GPL licenses?: Yes
Project Description
Plebbit is a Reddit alternative that is fully P2P. The user interface looks exactly like Reddit, but the backend doesn't make any request to public HTTP endpoints, DNS, databases, etc. Instead it uses IPFS for immutable content (comments), IPNS for mutable content (communities metadata, votes, replies, comment pages) and Gossipsub to let authors publish to communities.
It handles DDOS/sybil resistance of the pubsub by making each pubsub topic authenticated (the pubsub topic name is a hash of the community owner's public key). To publish, authors must first complete an arbitrary challenge (captcha, password, whitelist, etc...) over pubsub, then the community owner confirms the success also over pubsub, and later publishes the comment/vote over IPNS and IPFS.
The goal is to completely replace centralized message boards, have clients that look like reddit, discourse, stackexchange, image boards, vbulletin, etc. all interoperable and fully P2P.
At the moment the web and android clients only use IPFS gateways (multiple for redundency), but eventually we'd like to add webtransport or webrtc or whatever gets released for IPFS in browser/mobile. The desktop clients bundle kubo (a forked build of kubo with our custom Gossipsub validator https://github.com/plebbit/go-libp2p-pubsub-plebbit-validator)
Value
Each user of plebbit is a full IPFS and Gossipsub user. The desktop clients are full IPFS nodes (bundles kubo). The browser and mobile clients use gateways, and eventually in the future push adoption, experimentation and improvement of IPFS and Libp2p in the browser/mobile. At first the user might not even know they are using IPFS or running a node, but with time they learn what it is, become evangelists or contributors to IPFS and Libp2p themselves.
There seems to be a lot of organic interest for P2P message boards built using IPFS, some recent threads about plebbit:
Improve the 3 GUI clients, the reddit like client, the old reddit like clients and the image board clients. They have a lot of bugs, clunkiness and performance issues (but they are already usable and have a few daily active users).
Design a "plebbit RPC" standard that will be used for stuff that can't be done in the browser, like for example managing the SQLite databases that store the community information. This is currently done via electron "exposeInMainWorld" but should be an API instead.
Implement more difficult pubsub challenges than just the default captcha to prevent spam. Like for example ERC20 token gating.
Add webrtc and/or webtransport in the web and android clients.
Test spamming pubsub topics and the custom Gossipsub validator in go.
Development Roadmap
Improve the 3 GUI clients, the goal is for the GUIs to be completely smooth, fast and bug free, ready for mainstream adoption:
implement "plebbit RPC": research and design the specs, write the code for it, migrate the functionality from electron "exposeInMainWorld" to the RPC, get all @plebbit/plebbit-js tests to pass
In the short term, paid contributors will maintain it, I am funding the development myself from savings. In the long term, I think the project can eventually find sustainable (but not for profit) income through donations, grants, volunteers, taking a percent of tips/awards sent between users, selling community names or user names, selling avatars (like Reddit does), hosting nodes as a service, etc.
We have been building plebbit from scratch openly on github fulltime for 1.5 years and the demo is functional and has a few active daily users. We also have public dev chats where we have been communicating with each other daily for 1.5 years https://t.me/plebbitjshttps://t.me/plebbitreacthttps://t.me/plebchanreact
Open Grant Proposal:
Plebbit: fully P2P Reddit alternative using IPFS, IPNS over pubsub and Gossipsub
Name of Project: Plebbit
Proposal Category: app-dev
Proposer: @estebanabaroa
(Optional) Technical Sponsor:
Do you agree to open source all work you do on behalf of this RFP and dual-license under MIT, APACHE2, or GPL licenses?: Yes
Project Description
Plebbit is a Reddit alternative that is fully P2P. The user interface looks exactly like Reddit, but the backend doesn't make any request to public HTTP endpoints, DNS, databases, etc. Instead it uses IPFS for immutable content (comments), IPNS for mutable content (communities metadata, votes, replies, comment pages) and Gossipsub to let authors publish to communities.
Link to the demo (already has active users) : https://plebbitapp.eth.limo
It handles DDOS/sybil resistance of the pubsub by making each pubsub topic authenticated (the pubsub topic name is a hash of the community owner's public key). To publish, authors must first complete an arbitrary challenge (captcha, password, whitelist, etc...) over pubsub, then the community owner confirms the success also over pubsub, and later publishes the comment/vote over IPNS and IPFS.
The pubsub message schema is described here (CBOR encoded) https://github.com/plebbit/plebbit-js#pubsub-message-types
The IPFS/IPNS file schema is describe here (JSON/base64 encoded) https://github.com/plebbit/plebbit-js#schema
Plebbit is not just a Reddit clone, it has several non-Reddit clients and libraries that we have been working on for 2 years:
Pure JS implementation: https://github.com/plebbit/plebbit-js
React hooks library: https://github.com/plebbit/plebbit-react-hooks
Reddit like UI: https://github.com/plebbit/plebbit-react (desktop, android app and web https://plebbitapp.eth.limo)
Imageboard like UI: https://github.com/plebbit/plebchan (desktop, android app and web https://plebchan.eth.limo)
CLI: https://github.com/plebbit/plebbit-cli
Old reddit like UI: TODO
Discourse like UI: TODO
StackExchange like UI: TODO
Rust client that compiles to WASM, Android and iOS: TODO
The goal is to completely replace centralized message boards, have clients that look like reddit, discourse, stackexchange, image boards, vbulletin, etc. all interoperable and fully P2P.
At the moment the web and android clients only use IPFS gateways (multiple for redundency), but eventually we'd like to add webtransport or webrtc or whatever gets released for IPFS in browser/mobile. The desktop clients bundle kubo (a forked build of kubo with our custom Gossipsub validator https://github.com/plebbit/go-libp2p-pubsub-plebbit-validator)
Value
Each user of plebbit is a full IPFS and Gossipsub user. The desktop clients are full IPFS nodes (bundles kubo). The browser and mobile clients use gateways, and eventually in the future push adoption, experimentation and improvement of IPFS and Libp2p in the browser/mobile. At first the user might not even know they are using IPFS or running a node, but with time they learn what it is, become evangelists or contributors to IPFS and Libp2p themselves.
There seems to be a lot of organic interest for P2P message boards built using IPFS, some recent threads about plebbit:
https://old.reddit.com/r/ethereum/comments/13x6j2t/reddit_is_shutting_down_its_free_apithird_party/ (500 upvotes, 85k views, 131 replies, 95% upvoted)
https://old.reddit.com/r/CryptoCurrency/comments/13zj98d/reddit_is_shutting_down_its_free_apithird_party/ (91 upvotes, 113 replies, 30k views, 75% upvoted)
https://news.ycombinator.com/item?id=36203610 (289 points, 204 comments, reached top 3 on front page)
Old threads about plebbit before the demo was functional:
https://old.reddit.com/r/CryptoCurrency/comments/syp7q6/this_dude_made_an_alternative_reddit_on_a/ (2300 upvotes, 864 comments)
https://old.reddit.com/r/technology/comments/t6fwnw/plebbit_a_serverless_adminless_decentralized/ (1600 upvotes, 556 comments)
Our twitter posts get a few hundreds views sometimes https://twitter.com/getplebbit
Deliverables
Development Roadmap
@Abydin and @plebeius-eth will work on this as frontend devs.
Funding: $30,000
Time: 120 days (concurrent with backend work)
@estebanabaroa and @Rinse12 will work on this as backend devs.
Funding: $10,000
Time: 60 days (concurrent with frontend work)
@estebanabaroa and @Rinse12 will work on this as backend devs.
Funding: $10,000
Time: 60 days (concurrent with frontend work)
Total Budget Requested
Maintenance and Upgrade Plans
In the short term, paid contributors will maintain it, I am funding the development myself from savings. In the long term, I think the project can eventually find sustainable (but not for profit) income through donations, grants, volunteers, taking a percent of tips/awards sent between users, selling community names or user names, selling avatars (like Reddit does), hosting nodes as a service, etc.
Team
Team Members
Esteban Abaroa (backend & frontend) https://twitter.com/estebanabaroa @estebanabaroa
Rinse (backend) https://twitter.com/rinse_12 @Rinse12
Abideen Sadiq Ayinde (frontend) https://twitter.com/Abideen_AS @Abydin
Plebeius (frontend) https://twitter.com/plebeius_eth @plebeius-eth
Team Website
https://plebbit.com
Relevant Experience
We have been building plebbit from scratch openly on github fulltime for 1.5 years and the demo is functional and has a few active daily users. We also have public dev chats where we have been communicating with each other daily for 1.5 years https://t.me/plebbitjs https://t.me/plebbitreact https://t.me/plebchanreact
Team code repositories
https://github.com/plebbit
https://github.com/plebbit/plebbit-js (pure JS implementation)
https://github.com/plebbit/plebbit-react-hooks (React hooks)
https://github.com/plebbit/plebbit-cli (CLI client)
https://github.com/plebbit/plebbit-react (Reddit like UI)
https://github.com/plebbit/plebchan (image board like UI)
Additional Information
We heard of Open Grants Program because someone commented on our github discussion plebbit/whitepaper#2 (reply in thread)
Best contact email: estebanabaroa@protonmail.com
Additional information: we already had a Protocol Labs $5000 grant in march 2022 and completed all the milestones #143
The text was updated successfully, but these errors were encountered: