Decentralized Social Media Protocol

Exploring EOS
6 min readJun 18, 2019

--

Photo by George Pagan III on Unsplash

Originally posted here with audio.

Decentralized social media is a hot topic due to censorship, tracking and control of the likes of Facebook and Twitter. With the release of Voice.com, I’d like to suggest another approach. I think Voice will be amazing and would compliment what I’m suggesting here by providing verified users. However, I think that what I’m suggesting here will be orders of magnitude more decentralized and censorship resistant.

Decentralized Protocol Not Just Blockchain

The internet is built on some fundamental decentralized protocols. Examples of this are email, tcp/ip, rss, podcasts, wordpress? The distinction I’d like to make here is that a protocol, in this sense, is something that anyone can run and is compatible with anyone else running it.

Take email, for example. I can set up a mail server on my computer at home. I can rent a server and run the mail server there. Or I can use a more centralized version such as gmail. All of these set-up use the same protocol and worth with each other. There are levels of decentralization and yes there’s some censorship by Email Service Providers, like gmail, but that is seen as a feature/benefit (spam filtering) that allows users to make a choice.

Having a decentralized protocol (like rss) that interacts with a blockchain, rather than having it all run on a blockchain is the best scenario.

Now, imagine open-source software, like wordpress that can be self hosted or hosted en masse. This software allows you to post content to a feed but it also allows you to read the feeds of others and comment/like the content of others.

So kind of like twitter as a protocol rather than twitter as a walled garden.

Add to that blockchain, crypto and

If Wordpress, TRSST and EOS had a Baby

Wordpress, as many people know, is both open-source publishing software (wordpress.org) and a hosted blogging platform (wordpress.com). Using a model similar to wordpress would have huge decentralization benefits. As outlined above, it would be more of a protocol that could be self-hosted or hosted. The difference for social would be that the software would include publishing and reading/aggregating. That’s something wordpress doesn’t currently do.

TRSST was an idea from 2013 that had a lot of traction starting out - raising $65k on kickstarter. I’ve checked in on the project every once in a while since I heard about it but it seems to have fizzled out due to lack of follow-through. The concept was to combine an RSS feed publisher with an RSS feed reader along with cryptography and bitcoin then mix it all together as an open-source, self-hosted twitter-like service with greater security. Their website is sadly no-longer but you can see their github and kickstarter. Here’s their whitepaper.

Using RSS was a great idea because it makes it backwards compatible with much of the web.

So, this concept is to have an open-source software that publishes like wordpress and reads like google reader.

How Blockchain Works with This

Next we introduce the EOS blockchain (or an EOSIO sidechain).

This system would work best by using EOS accounts as the global account system for this software. Not only does it provide the account system but it tracks comments, likes, re-posts etc.

This allows a user to have control over deleting and changing content. This is different than voice or murmur where you content is forever on chain.

So when you post content you also send a transaction on chain that publishes the hash and other relevant meta data. This works as a global time-stamp and verification of the authorship of your posts.

Publishing the full content and not just the hash could also be an option to provide copyright proof/immutability like what Wordproof does.

Publishing a comment or re-post would have similar on-chain effects to publishing content but with different meta data, like a reference to the tx id of the content that you were commenting on.

Likes would also be registered on chain in similar fashion.

All of these records being on chain would then allows token compensation and incentive structures like steem and voice.

Using EOS accounts also makes it easy to create encrypted private posts by using the public key of the user the post is for.

Plugins

Similar to WordPress, this software could have plugins that you install to enhance the experience and functionality.

Imagine a Voice.com plugin that works on the reader side of this software to only show in your feed content from voice.com or from feeds owned by voice.com verified users.

Imagine an advertising plugin that allows you to monetize your content with ads.

Imagine a permissions/privacy plugin where in order to follow another feed you need to do a transaction that shows you want to follow on chain and you’re only then given access.

Imagine an algorithm plugin where you can choose which algorithm you like for how the content you follow shows up in your feed.

Imagine a notifications plugin that monitors the blockchain for events such as mentions and then pushes a notification to your interface.

Imagine a plugin that filters out graphic content.

Imagine plugins that display trending topics with competition between them.

Imagine a backup plugin to back up your content in case of a hack.

Imagine a reputation plugin.

Imagine a spam/scam jury plugin that publish decisions on chain.

Imagine a plugin that publishes your account actions on multiple chains to take advantage of multiple rewards systems.

Imagine the possibilities of what the EOS community could come up with :)

Reading/Following

You can follow feeds just like any other social media platform. The software would include a reader that aggregates the feeds of all those you follow.

Interacting

Things like Liking, Commenting and Retweeting would also be published on the chain. This keeps a global record of your interactions, content and comments without centralizing that or publishing everything indefinitely to the chain.

I imagine this record could be a hash of the content that was liked or the tx id of it so that not all the info is going on chain but if the feed is still up then everything can be proven.

Having hashes of the content, comments and likes on chain would allow for some sort of steem/voice incentive system.

DNS, Hosting and Censorship

How do we reliably find these feeds when they will be hosted in different spots? Can we change where our feed is hosted?

Well, I think the easiest would be to use the regular DNS system because this is relatively decentralized, can be self-hosted and is easy for users. Of course, this can be censored in various ways so we need alternatives as well.

When a new account is registered on chain it would include a url, IP address or other location where the feed is hosted. This parameter could be updated allowing the account to move locations without needing a new account.

Censorship at the Hosting Provider Level— As long as you have your EOS private keys (and hopefully a backup of your feed) you can leave a hosting provider or change domains and continue with another provider (or self host) and everyone will know that it’s still you.

Censorship at the DNS/Registrar Level — If you’re no longer allowed to register a domain, the next layer down would be just the EOS account system and something like EOS DNS. That way someone could still host their feed in a jurisdiction/IP address that is less censor-able and just update it on chain.

I’m sure some decentralized hosting solutions would also pop-up that the your EOS account could point to. For example, a static file version of the feed could be published to IPFS and updated as new posts are added. When a new file is created the blockchain would update where it’s pointing and the hashes and blockchain record could verify that it’s legit. The same might work with something like bittorrent or having followers host via webtorrent.

As a follower, the software would check the blockchain for the current location of your feed and display it automatically.

Patreon Built In

As part of the Reader side of this software you could set up payments of EOS or other EOS tokens to content creators that you want to support.

On the publisher side of this software you could have private content for those who have given certain amounts verifiable on chain.

Free EOS Accounts

Companies that act as hosting providers specifically for this social platform will likely provide free EOS accounts and delegated bandwidth to users who use their platform.

--

--

Exploring EOS

Learning and sharing more about the EOS platform. Exploring EOS podcast at http://exploringeos.com