Peer-to-peer serverless decentralized social media protocol built on The IPFS
Plebbit is a selfhosted, opensource, nonprofit social media protocol, this project was created due to wanting to give control of communication and data back to the people.
Plebbit only hosts text. Images from google and other sites can be linked/embedded in posts. This fixes the issue of hosting any nefarious content.
ENS domain are used to name communities.
Plebbit currently offers different UIs. Old reddit and new reddit, 4chanw, andhave a Blog. Plebbit intend to have an app, internet archive, wiki and twitter and Lemmy. Choice is important. The backend/communities are shared across clients.
Plebbit only hosts text. Images from google and other sites can be linked/embedded in posts. This fixes the issue of hosting any nefarious content.
Somewhere, a black hat master of ASCII art is cracking his hands.
It's still misleading though, it takes away control from instance controllers, which in today's world, also makes it so that it is easier to swamp it with bot accounts, misinformation, and even be an unwilling decentralization participant. Looking behind the curtains, it's basically built by and around NFT (even the user avatars have to be NFT for no good reason), and already has a market for it, so don't be surprised if there is a blockchain rugpull behind this. And it also doesn't fix the inherent problem, rather, because of its design, it makes communities all the more authoritarian because whoever controls the NFT controls the moderation.
If you use it, you will no longer have the recourse of admins when its the moderators messing up and acting in bad faith. That problem isn't due to instances, it's due to the more generalized problem of people in position of authorities more interested in representing themselves than a community or their obligations, this does nothing to, say, provide for alternative moderation groups if you are unhappy with how the current one is moderating it. It does protect your account to some degree, but it also protect the accounts of the terrorists running around spreading hate speech, and you will feed a small part of it due to its decentralized nature.
Personally, the whole platform, https://plebbit.com/introduction , just seems a monetization strategy to monetize reddit-like communities into the NFT market. Expect the inevitable drama and subsequent crashes. But also, don't expect it, it will depend wholly on the NFT holder, which means the community will go to sh-t if it gets lost or the administrative moderators of that community become out of reach, presumably because they sold it for millions to the nearest troll farm while they went off to the Bahamas. But hey, maybe it will pull the dumb and those just interested in monetization into their eco-system.
Nice essay, strong fud but we have safe guards against this. Users can back up or copy any subs they want, so if a sub owner goes insane, users can simply restore it, to exactly how it was. Sure the name will be slightly different since the previous owner owns the name, so p/games might now be p/videogames. But that's a minor inconvenience. In fact multiple users can own a community which further safe guards it.
We will also remove communities that are toxic from our recommended subs list and replace it with the non toxic one. Alternatively users can create their on recommended subs list and share it round. Plebbit is open source so if we act nefariously, people can just fork it
I think you missed a lot of my points. What's fud, the monetization of your platform? Went to give it a look, that's what a lot of those "recommended" topics are showing users are looking forward to on some of the clients. You explained something I wasn't complaining about, but now that you have, that opens up so many attack vectors as well. People can try to copy popular communities to set up fake "grassroots" communities, and it sounds like they can copy and simulate user participation along with it.
And no, how a community identifies itself is not a minor inconvenience, it has literally fueled the domain name market, it is what people linked to, what people see in archives, and where people will go. The elephant in the room you are forgetting to mention is how the whole community will suddenly coordinate so well and won't just split itself off into several.
Lol this this the biggest load of copium I have ever seen. I wasn't going to try it but now I will. Moderator and instance owners are the fucking bane of cyberspace. Never in all my time have I ever endured such a bunch of petty nosy manipulative busybodies that are positively infecting every form of human interaction left and the world cannot be rid of their stench soon enough. DOWN WITH THE PRIESTHOOD!
Like it or not, instance owners and moderators do perform maintenance, it's just that they inevitable become an inner subcommunity within the community that can and does eventually abuse its authority. I don't care as long as I have choice. For instances I do, allowing me to participate in the same threads regardless of which one I choose. When it involves the mod team, however, because of how much it is centralized to a mod team and how much it leeches from any competing subs, it's not viable. We should be able to choose a moderator group for our communities the same way we are able to choose instances, as long as there's ample choices the problem is addressed.
IPFS has been breaking for a few years, it's just slowly degrading, trying to staple something like this on top of it will just drag the DHT to a standstill.
I'm all for decentralized community-based hosting for large media files such as video, but i guess for text/structured databases it wouldn't work due to synchronisation issues.
The closest to a good idea IMHO is NOSTR. By the way, there is a standard for moderated communities for it, I don't know whether anything implements it yet.
I used once to download a book that I couldn't find anywhere else. Like 2 years ago.
I stumbled onto some kind of "library" where they had stored a lot of books.
I missed the link though.
I mostly remember it because it was how i learned about ipfs.
The moment I read "no transaction fees", I immediately wondered why that would be listed as a feature. Turns out it's because it uses crypto, though I don't understand why. Free domain names?
It doesn't need crypto, it only needs IPFS (but we could change underlying protocol in the future, if someone creates a better alternative to IPFS).
"no transaction fees" is listed as a feature because blockchain-based social media exists, and unlike them a plebbit full node doesn't have to sync (because it's a IPFS node), it just runs immediately like a BitTorrent node would, and it runs on 4GB of RAM even on a raspberry pi, on consumer internet (consumes less bandwidth than YouTube) and it only uses a few GBs of storage. Blockchain social media fundamentally cannot scale because of node requirements, that is if you want the platform to be "decentralized" (enough full nodes).
We do have crypto features, as an addendum. Mainly, we use crypto domains such as .eth (ens.domains) end .sol (sns.id) to resolve plebbit author/community addresses to readable names, because they are IPNS public keys (very long and impossible to memorize, e.g. 12D3KooWMLCgrZT8Ucaw2DWnv1HsQianf9tVi8sK6JCbCod3XK8T). Unlike DNS, crypto domains are censorship resistant. They are cryptographic property, you hold them in your wallet, which means if you change the address of your plebbit community to one such domain, you are tokenizing your community. In theory, the more users your community has, the more people have saved your domain, the higher its value. Compare that to Reddit for example, where all subreddits are owned by Reddit, they can ban your community with millions of subs, because it's not your property, it's theirs.
Q: Is this running on ETH?
A: the token is on ETH, the plebbit protocol itself it not a blockchain, but the app will use several blockchains, tokens and NFTs to recreate all the features from reddit, like usernames, subplebbit names will be crypto domains like ENS (and other chains), awards will be NFTs, tips and upvotes will earn tokens (can set them to your own token or any coin of your choice in your subplebbit)
[…]
Q: What role does the PLEB token play?
A: The base protocol doesn't use tokens, which lets people who don't have interest in cryptocurrency (yet) use it for free, but optionally you can use any tokens to do many things, for example you can use names.eth (ENS, which are non fungible tokens) to represent a username or subplebbit name. You can use NFT images as avatars. You can use fungible tokens and NFTs (any token or cryptocurreny of the subplebbit owner's choice) to vote, curate, reward, tip, incentivize and/or as spam protection (instead of using captchas, require users of your subplebbit to own, stake, burn or pay a certain amount of a token/NFT of your choice to post/upvote). A subplebbit's name like memes.eth (becomes /p/memes.eth) could be owned by a DAO, and owners of the DAO's tokens could vote on chain for who gets to be admin and moderator of the subplebbit, i.e. a smart contract/DAO can be owner of a subplebbit.
This sounds fucking awful. You want a peer-to-peer network, but decided to tie critical features to the blockchain, something arguably less decentralised than APub software.
As the FAQ says, the base protocol doesn't use tokens. Meaning, there are no critical features tied to any blockchain.
The crypto features we implemented in our clients are not required by the protocol. The protocol works perfectly fine without them. We implemented them in our clients because they are nice, and they are:
readable names using crypto names, instead of having to see long alphanumeric IPNS public keys as addresses
NFT profile pics tied to a user's plebbit account, because we whitelist the specific NFT collections to prevent NSFW profile pics
tipping, which is an upcoming feature, to provide a fully decentralized alternative to Reddit awards/gold (plebbit users will actually make money, so will the community owners and admins since they'll be able to tax tips in their community; and there's no corporation/global admin that gets a cut)
As the FAQ says, the base protocol doesn’t use tokens.
I don't care what the protocol technically makes feasible, people don't use protocols they use software that interprets protocols. ActivityPub doesn't actually require DNS, but you (correctly) say it does because there's no software out there people will use that doesn't require DNS. The point is you still tied human readable names to the blockchain, something absolutely not optional for social media software. No one is going to be like "you should sub to p/nrlaoii2nsl2, the memes are 🔥".
NFT profile pics tied to a user’s plebbit account, because we whitelist the specific NFT collections to prevent NSFW profile pics
Who is "we" here and why do they get to decide what's acceptable in my community ('subpleb' if you will)?
Great work! I've always considered lemmy to be an interim solution as it doesn't resolve the core issue of mod centralization. How does your solution differ compare to something like nostr, which is more decentralized than ActivityPub, and not P2P, but also seems to eliminate the mod issue and enable "direct" subscribing to users.
Would your goal be to shard/raid data across IPFS nodes at scale? If not, what would the local nodes size be with millions of users and years of history (e.g. Reddit's scale)?
My next hope is a fully decentralized and distributed internet archive + piratebay using IPFS over I2P.
Plebbit differs from Nostr in that Nostr is federated (using instances), whereas Plebbit is P2P (fully decentralized). Plebbit uses IPFS, which is more similar to BitTorrent, which is pure P2P as well.
The issue with federations is that their instances are not easy to set up, most users don't have an incentive to do so, and even if they did, they are not censorship resistant at all, because they work like regularly centralized websites. Your Nostr/Lemmy/Mastodon instance can get DDOS'd, deplatformed by the SSL certificate provider, deplatformed by the datacenter, deplatformed by the domain name registrar. The instance admin can get personally doxxed and harassed, they can get personally sued for hosting something a user posted, etc. And instances can block each other.
Whereas running a node on Plebbit is as easy as opening up one of its desktop clients, which automatically run the custom IPFS node in the background, and seed all the protocol data automatically (similarly to how a BitTorrent client seeds torrents). It runs on a raspberry pi, on 4GB of RAM and consumer internet. It scales like torrents, i.e. the more users connect p2p, the faster the network gets. And most importantly, nobody can stop you or block you from connecting to another user, because there's nobody in between. This means nobody can stop you from connecting to a subplebbit (subreddit clone). If you run your own community, you're always reachable by any user on plebbit.
It's not a competing standard, it's a whole new approach to decentralize forum-based social media.
ActivityPub is not fully decentralized, it's a federated design, meaning it's a network of instances, and each instance is just a regular website with servers. Anyone can run an instance, but it's expensive, tiresome and you'll get banned for it; they are regular websites.
whereas Plebbit is fully decentralized, it's purely peer to peer, meaning it's a network of peers where every peer can potentially be a full node by simply using the desktop app (or in the future, a non custodial public rpc on mobile), and you don't have to run any site/domain for it, it's censorship resistant just like running a torrent with a BitTorrent client.
Also to be clear: like ActivityPub is a protocol with clients, such as Mastodon and Lemmy, Plebbit is a protocol with clients, such as Seedit and Plebchan.
Reading these comments about your work must be so hard. I remember getting this kind of feedback for my projects from know-it-alls who never completed anything themselves. Keep up the good work, decentralize everything!
Nifty project. Definitely I could see this being useful for discussing things that would traditionally be censored on other more centralized or semi-decentralized platforms (piracy, anti-authoritarian discussions in an oppressive country, etc).
I gave it a try and the loading times are atrocious, though. I suppose that's an unfortunate problem with running decentralized.
Definitely I could see this being useful for discussing things that would traditionally be censored on other more centralized or semi-decentralized platforms (piracy, anti-authoritarian discussions in an oppressive country, etc).
IPFS by default isn't set up to work around censorship or anything of the sort. Protocol Labs (creator/maintainer of IPFS and Filecoin) have always honored copyright takedowns, etc. on their own infrastructure and have done a fair amount of work on content blocking within the default IPFS clients and such.
Because this way it has no central server, database, HTTP endpoint or DNS - it is pure peer to peer. Unlike federated instances, which are regular websites that can get deplatformed at any time, plebbit full nodes are customized IPFS Kubo nodes, and running one is as simple as downloading the Seedit client desktop app (available on github) and keeping it open. It runs the node automatically, and seeds content automatically as you browse it. It runs on a raspberry pi, so we expect to see a lot of plebbit users running their own full node.
You wouldn't need to link base64. Base64 is just ASCII text that would go into the comment. But you can tell a browser or extension that it's an image and have it decided accordingly. You can see examples of this in the .mht files ie/Firefox makes.
plebbit.com is just a landing page made by a member of the community, to explain the project. To use plebbit, you can check out its clients, like Seedit.
The downside is big instances decide which content to show their users. If lemmy.world defederates some instance that's content I would never know existed.
Get out of here with the crypto nonsense, we dont need more tech bro spaces for people to talk about AI automation and why the grind is more important than workers rights.
https://seedit.app is a fully decentralized client for the Plebbit protocol, using a old.reddit UI.
You can also try a demo of a much faster version of Seedit, it works via public RPC: https://plebbit.mooo.com/seedit/#/hot (warning: you're using someone else's full node to browse fully P2P, so if you create a community it's in their node, it's not yours). This version showcases how you can create a community even on mobile device, running a full node remotely. But we have to build user auth for this, it's in our roadmap.