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.
Sounds promising except the fact that IPFS runs like hot garbage.
I’m running my own IPFS stuff and unless I explicitly add my servers as peers I get about a 1 in 50 chance of finding something I pin somewhere else.
I have just timed and 60 seconds wait time is atrocious for 8 text posts.
IPFS is nice but it doesn’t make sense for things that are under few of mb
People here might be interested by my related side-project, a distributed and blockchain-less search engine for IPFS. Note that the demo server is down right now
YaCy vibes
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.
I din’t see any benefit over our existing decentralized options. Neat idea though.
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.
So… sounds like you need a new instance? One that doesn’t defederate from all the content banned by another instance.
Interesting project
So what is it now, P2P or IPFS?
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.
what? No crypto / ai is mentioned here?
ENS domains ?
_
deleted by creator
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.so you host individual communities instead of servers on lemmy?
In theory, the more users your community has, thw more people have saved your domain, the higher its value
Why would i want a community to have value? and how would people saving something make it more valuable? What Theory?
“In theory” is not used to refer to a specific existing named theory
(but we could change underlying protocol in the future, if someone creates a better alternative to IPFS).
TAHOE-LAFS?
From the FAQ linked on the site:
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.
Leave it to cryptos to make simple things stupidly difficult. This whole piece you quoted was hilarious, but this part especially stuck out for me:
The base protocol doesn’t use tokens, which lets people who don’t have interest in cryptocurrency (yet) use it for free
You have to pay to upvote something?
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)
Human-readable names are a critical feature.
Not really, most of the time people post on 4chan without them even though they exist.
And we see how horrible 4chan is…
All of this just sounds worse and worse. NFTs, seriously?
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)?
You can create a plebbit client that uses DNS instead of crypto domains to resolve the addresses, but it won’t be compatible with our clients because we think that’s a terrible idea. The whole DNS system is a complete scam, it’s controlled by very few people, all in the same jurisdiction. There is absolutely no point to plebbit if most people will use .lol or .fun names that the US government can seize with no effort.
DNS is not the future, crypto is the future.
Who is “we” here and why do they get to decide what’s acceptable in my community (‘subpleb’ if you will)?
For our clients, “we” means us devs, the devs of Seedit and Plebchan. You can create your own client where you have NSFW profile pics, maybe resolved with regular centralized image hosting websites instead of NFTs like we did. Our NFT whitelist is only temporarily centralized, same as our default list of subplebbit addresses to show in the homepage of the client (before the user is subscribed to any sub). Both lists are here: github.com/plebbit/temporary-default-subplebbits In our clients, we will decentralize this curation via gasless pubsub voting by token holders. There’s no other way to decentralize it, so this is another thing that crypto excels at (DAOs).
“The whole DNS system is a complete scam” says the person advocating for crypto and NFTs
I mean, that’s the one thing he is right about. Also, it’s far from being secure. I somehow made the DNS system break someday, as I was able to “buy” an already-registered domain. The domain ownership was overriden and the original owner couldn’t do anything. I have not been able to replicate the bug on any other target, but understanding the bug and finding an exploit is basically unlocking god-mode on 99% of computers as you can mitm all you want with this
I somehow made the DNS system break someday, as I was able to “buy” an already-registered domain
This could happen on a blockchain, as well. All it takes is to control a majority of the miners. One reason I laugh when people claims btc or other ponzicoins are “distributed”, since most miners are controlled by China at the moment.
You mean that?
Imagine you buy a cheap domain name for $0.99 a year from namecheap to be lonefaerie.lol or something
Next year they ask for $19.99 because they can. If you set up an account with that name you can either pay more or have to change accounts
Why can’t we just buy domain names for like 30 year periods?
Why can’t we just buy domain names for like 30 year periods?
You can. I think ICANN has agreed to limit it to 10 year maximum, to reduce domain squatting, though.
This is a HUGE problem in the IT sector… A lot of folks come up with “new, better, and more agile” systems for core tech, like DNS. What they fail to account for are all the lessons learned, and problems solved over the decades the system has been in use, and fail to understand a lot of the “complications” stem from people being complicated.
That’s the problem, I want a personal domain like name.person for the rest of my life. I don’t want it to expire and have to pay extortion rates for my email address
The whole DNS system is a complete scam, it’s controlled by very few people, all in the same jurisdiction
Ah, I see. You don’t actually understand how DNS works.
What if I told you, that each TLD is managed by a different organization… And not one organization. And, what if I told you, its distributed globally, to people in different nation-states? And then, what if I told you: Anyone can create a new TLD, if they either a) put in a lot of work, or b) put in a lot of money?
And, what if I told you… You can bundle a libc resolver, that can intercept your cool domains, and provide answers for it, using any sort of backing store you could imagine?
DNS is not the future, crypto is the future.
There are other alternatives to DNS that don’t require you to boil the oceans, e.g. GNUnet has their own thing.
In our clients, we will decentralize this curation via gasless pubsub voting by token holders. There’s no other way to decentralize it, so this is another thing that crypto excels at (DAOs).
This isn’t decentralising the whitelist/default subs, it’s shareholder-ising. It’s also just recreating the notion of admins in ActivityPub, or replay controllers in notstr. You still have a set of privileged users able to make decisions for others, albeit less privileged than AP admins.
I’m not saying nor do I believe crypto is the future, but this project seems to use Etherium and Solana, both of which are proof of stake and will not be using huge amounts of power.
Etherium actually transitioned to proof-of-stake? Last I heard it was something they were planning to but it was being delayed for years. Good for them for actually doing it, I still don’t trust the technology and refuse to use anything that integrates it, but at least it’s not so actively destructive.
From what I’ve gathered, this appears to be an unusably slow 4chan for crypto bros.
I didn’t see the word “blockchain” anywhere.
right in the home page I spotted a link to a so-called plebbit token.
There is indeed a token. Probably an illegal security in the US
deleted by creator
“ENS domain”
IPFS is also strongly related to several blockchain stuff (not a blockchain itself though)
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
differcompare 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.
Reading the white paper you find the “serverless” has servers. Each community needs to be always online to serve captchas to posters. The system is federated on community level, instead of instance level, and uses DHT instead of DNS.
Nostr is not really federated because the servers just send data for you. Nobody calls the internet federated because the switches transfer your data
Nobody calls the internet federated because the switches transfer your data
Actually, a lot of people refer to the internet as federated, because most all of it is very decentralized, and independently managed.
Take IP routes… The BGP table is a giant exercise in federation. Any transit provide can blackhole your traffic, or just refuse to accept the announcements (ie, a lot of places reject North Korean BGP announcements, for example).
DNS is another example of a federated system, a number of countries operate the root servers, who merely hold pointers to where to get answers for a TLD, which in turns just provides answers on who can provide answers for a domain.
You can even create your own TLDs, and use them!
Its a giant, federated system. The apps sitting on top of it are not so much anymore.
There’s an XKCD for that, although i do think ActivityPub could be improved.
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!
So technically Plebbit is distributed then ?
Yes. Reddit is A, ActivityPub (Lemmy, Mastodon) is B, Plebbit (Seedit, Plebchan) is C:
How does it compare against let’s say Steemit ?
Steemit is A, it’s a regularly centralized website with global admins, claiming to be “decentralized” simply because it’s built on a blockchain. Whenever you are asking yourself whether something is “decentralized” or not, ask “how can I run a full node”? “What are the hardware requirements”? Steemit admins won’t answer those questions. Whereas you can easily spin up your own ActivityPub (Mastodon or Lemmy) instance (even though those instances work like regularly centralized websites, at least you have the option to run your own).
On Plebbit, just using the desktop app of a client (like Seedit’s desktop app you can download here means you are running a full node already. The app runs an IPFS node in the background, seeding all content you browse automatically, thereby improving the speed of the network for everybody else. The more nodes there are, the more decentralized the network is, so if all users can easily run a node and are incentivized to do so, then the network is properly decentralized/distributed. On Seedit, you can’t run a community if you don’t run a full node (the community is the node, acting like a server, and users connect to it P2P). There are no global admins.
deleted by creator
Well if you see ActivityPub as the standard way of using decentralized social media…
deleted by creator
the comic itself is stupid
The comic isn’t so much a criticism as it is a comedic observation of what happens in the real world.
At least that’s how I interpret it.
smells like mastodon, only with worse content searching, worse scalability, worse moderation and less content reliability.
awesome.
worse content searching
It’s pure p2p so it can’t have content searching straight out of the box, but it can easily have indexes like 4chan archivers to search in known subplebbits. It’s entirely possible to crawl all active subplebbits and archive them all in a central database, and use that for search. This will happen, and plebbit clients will probably implement multiple such archivers to run search in them. And search engines will be able to index.
worse scalability
It’s orders of magnitude better scalability than regular sites such as federated instances. Because it works like torrents, except you always seed, so plebbit nodes will inevitably improve the network speed more and more as more nodes join. And running a node works on a rasp pi. And all content is just text (including links from which media is embedded by the clients), so there’s no scalability issue relatively to storage, either.
worse moderation
It has way better moderation, because it’s just like reddit in that every community moderates itself, except there’s no global admins able to censor a community/node or impose global rules. Plebbit clients are simply static HTML tools to browse the p2p network to connect to each community directly. Every community is incentivized to moderate itself effectively, or they become unusable, and to enter the homepages of the clients they must get voted for by holders of the plebbit token, via a gasless governance system using pubsub it’s this page, you’ll be able to vote for communities, i.e. downvote communities that aren’t well moderated to remove them from the homepage for everyone). Right now, this homepage default list is centrally controlled by the developers, it’s the only remaining centralized part of the project.
deleted by creator
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.
e.g. https://blog.ipfs.tech/2023-content-blocking-for-the-ipfs-stack
If it is selfhosted, and text only, why use IPFS?
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.
How do you share data between nodes in a decentralised manner? IPFS is just a DHT so you can’t communicate solely using it?
we use IPNS for mutable data (like upvote counts, reply counts, etc) https://specs.ipfs.tech/ipns/ipns-record/ and gossipsub for an author node to communicate their publication to a community node https://docs.libp2p.io/concepts/pubsub/overview/
So you use IPDS for mutable data, and need to tell people (well software) where you stored it.
Can you tell how this author node works? Is it like that IPFS “CID” (IIRC) ?