Decentralized social media exist and it has been functioning years now and continue to evolve.
Earlier, read article about What decentralized social media requires? by Larry Sanger. This is my attempt to talk about how Hive fully checks his list of requirements. Edit: Found that Geekgirl also wrote a piece on this subject.
These are principles described by Larry Sanger, later he goes on giving more description, but let's jump in with small details and later elaborate, keeping it similar to his article format.
Self-ownership. Each user owns his own identity in the network.
Identities and accounts on Hive are unique and they cannot be deleted or changed, same id across different apps. As long as you own your private keys for that id, you are owner of that account.
Data ownership. You own your own data; you control your own data, within the bounds of controlling law.
All data is stored on Hive blockchain so only user can modify it with their private keys.
Platform-independent following. You control your friend/follower list independently of all platforms. Hence, once a friend follows you on one platform, he should follow you forever everywhere until he unfollows you or you block him (or there is a lawful government order compelling a change).
All following/followers data is also stored on chain, so any platform, apps, dapps powered by Hive, can access that data unaltered.
Platform-agnostic posting. Posting on one platform means posting the same thing on all platforms that are part of one big decentralized network.
Ecency.com, Hive.blog, Peakd.com, Leofinance.io, D.buzz all are examples of platforms powered by Hive and posting from one of them means your content is accessible from others.
Decentralized moderation. Content moderation, which is ultimately an absolute requirement, cannot be performed by a single, central, controlling body or system, providing identical outcomes. So it, too, must be decentralized.
Community Moderation is also decentralized, create your immutable community and define your own rule-set and moderate in decentralized way.
Single conversation. Therefore, there is one giant integrated conversation, but parts of are not shown to people who don’t want to see it (or in places it’s literally illegal). Of course, it is still legal for people to run closed, walled gardens; but they’re not for general broadcast.
Decentralized muting gives user choice to block/mute certain groups/users on network. Any app can choose to represent data from chain in different ways, we have examples like Leofinance and D.buzz displaying content in special way for their niche.
Anti-monopoly. Therefore, also, no corporation has anything like a monopoly over the means of social media broadcasting, as at present.
Hive is opensource blockchain, anyone can contribute to its development, there are Ecency and Hive.blog frontends that are opensource as well anyone can run instance of it or contribute to ecosystem to offer additional and unique feature-sets.
Next section will include more technical details and links.
Requirements of decentralization
These are requirements for decentralization by Larry Sanger. Let's go through them one by one with more examples and details.
User exportability. Platforms should permit users to export a complete and unadulterated copy of their user data from the platform and host it elsewhere. Moreover, public user data that is edited by the user in one place must be brought current with all other copies made elsewhere as well, in a timely fashion.
Being built on blockchain gives you ability to get all your data, activities and it resides on chain permanently without alteration. User can run Hive full node and have their and entire chain data locally stored on their computer. ✅
Data exportability. The user’s data must be easily exportable in a common, easily machine-readable format, according to a widely-used standard. This is an absolute minimum. Not many actually support this yet. This isn’t enough, though, because you need to be able to export your followers, too, and to do that:
Hive has this as well, user data can be hosted by user or any other 3rd party developers.
Examples on how separate entities accessing same data from chain and representing in different formats:
https://ecency.com/@good-karma https://peakd.com/@good-karma https://hive.blog/@good-karma https://leofinance.io/@good-karma
You can even access your data in RSS
https://ecency.com/@good-karma/rss.xml or JSON
https://firstname.lastname@example.org formats as well, because blockchain is flexible enough for developers to offer/interpret data in all kind of formats. You can download data in CSV format as well. ✅
Interoperability. The social media platform must be made as interoperable as possible (at the user’s option). So I should be able to subscribe and follow someone who is posting on his own blog, or Mastodon, or Gab, or Parler. I should be able to post and read from any of these networks, and the data should appear in a timely fashion in all the rest.
Interoperability is huge discussion and it takes continuous development. In my opinion, you cannot simply add interoperability to the core of blockchains, you will still endup with 2nd layer solutions/extensions/plugins/gateways. Many blockchains trying interoperability still long way from being widely used/understood. But on Hive, we already have 2nd layer solutions which connects already existing platforms. Exxp is one them. ✅
Data inalienability. If the user’s data is not actually served from outside of a platform—which should be possible—then it is treated by the platform as if it were. The platform is merely holding the data on behalf of the user, as a service. The platform must not treat the data as “theirs.” This is still a rather vague requirement, but it has specific consequences. One of them would be that the platform is absolutely not permitted to delete or edit a post from your data, although they can of course opt not to post it on the platform. Twitter and Facebook violate this principle when they fail to retain copies of posts that they delete.
Those are things I feel confident of, as a bare minimum. There are other things that really also need to be part of it, I suspect:
Blockchain cannot delete or censor user because it is decentralized and would require consensus of the network, meaning consensus of users before making any changes into protocol and this is very unlikely because that would be against core value of Hive blockchain. If for some reason one application decides to serve/filter certain type of posts that's mostly a new use-case and user always have choice to choose different frontend/apps depending on what representation they prefer. But still all apps are powered by Hive and they get data from chain unedited/uncensored. ✅
Moderation. Individual users, or whole platforms (if users should wish to use them), should be able to select their own moderators. Moderation data, or metadata—such as that a certain user should be blocked, or that a certain post should be hidden or flagged in some way—should be shared in a way similar to how the user data and content itself is served (so, across the network in a decentralized way), and independently of the user’s canonical copy of the data.
Decentralized muting is already possible in Hive as a core feature. Anyone can create community on blockchain with own moderation rules and nobody can take that ownership from user. Nobody but creator of community and moderators of that community can mute the posts and moderate in decentralized way. ✅
Text representation. The user’s public data must be syndicated in a lo-tech text-based (more human-friendly) format such as JSON or XML, even if they have an API (maybe I don’t want to be forced to use their API, maybe because it’s too restrictive). The purpose of this is to enable the user to more easily exert control over the source or original version of his own tweets. This text stream, if it still exists and the author’s control can be proven, becomes the user’s personal assertion or attestation as to how the state of his personal feed should be represented; this human-friendly data representation of the content becomes the controlling, “canonical” version of the data. No other representation, in no other data medium (blockchain, IPFS, bittorrent, or otherwise), is to be regarded legally or operationally as “the canonical version.”
As mentioned earlier, user can access their data in RSS
https://ecency.com/@good-karma/rss.xml or JSON
https://email@example.com formats as well, because blockchain is flexible enough for developers to offer/interpret data in all kind of formats. You can download data in CSV format as well. Are you developer, create a service for people to utilize their data in different formats, unlike other centralized services Twitter, Facebook, chain gives you full access, you don't need anyone's permission or special API keys for that. ✅
Permanence (or uncensorability). By network policy, the user’s public data must also be able to be made available forever (so a particular platform couldn’t delete it on behalf of everyone else, even if they wanted to) via bittorrent or IPFS or the like. Maybe the blockchain is OK, but frankly due to the financial complexities involved in blockchain, I don’t trust blockchains as bittorrent-type “decentralized public cloud” storage.
Blockchain already has all the data and it is secure, fast, accessible and anyone could add extra onion layer protection as well, like IPFS and bittorrent data storage, redundant but the more the merrier. We already have one too, community developer recently created IPFS layer, so any post on Hive can be served from IPFS as well. There are Ecency desktop and 3Speak desktop apps that are standalone and user can easily install and surf blockchain data directly without any censorship. ✅
Are you still not convinced or have more questions?
Signup on Hive, Comment below and let's build future together.