WordPress+EOS: A Path to Distributed Social Media

I previously wrote about using a protocol plus a blockchain to create a distributed social media platform. After more thought, I have some more ideas for you.

Turning Every WordPress Site Into a Distributed Social Media Account

Wordpress has huge adoption and usage. I think my previous concept could most easily be implemented by doing the following:

1 — Create standards: Create standards for how posts, tags, interactions, etc. are published locally as feeds and standards for how these are published to the blockchain.

2 — Create a WordPress plugin: This plugin will add distributed social features to any WordPress installation.

3 — Create an app for publishing/viewing: Logging into your wordpress site to view your feed and publish might be a bit annoying. So we create a mobile/web app that allows you to remote publish and view.

All of this allows us to bring in wordpress devs, users and readers of the millions of wordpress blogs out there. It could even catch on to the point that wordpress.com would allow this as a hosted option on their platform!

Down the road, perhaps wordpress itself could be forked and customized specifically for this purpose.

Focusing on standards and a quick path to adoption would open up the door to other developers building publishing/viewing platforms that would be compatible with the wordpress version. Medium, for example, might add the functionality.

Back in 2008 WordPress actually created a theme that could be used for something a bit like this. Not quite what I’m talking about and missing blockchain components, but it shows they are open to these ideas.

WordPress Distributed Social Media Plugin

This could add a folder or feed to your wordpress site. Let’s say, for example, it adds yoursite.com/social/ That’s where the social content lives. What is populated there would depend on our standards, but probably an RSS feed.

It would also need to have something like an EOS wallet to allow for blockchain transactions. I’m thinking a place where you could just paste in a private key for a permission that only controls publishing of social content to your account.

The WordPress plugin could be a channel for free EOS account creation that is more resistant to abuse. Free accounts could be offered to those installing the plugin on their site which creates a higher barrier of entry meaning you have to have a unique domain, hosting, wordpress installed, etc.

Social notifications could be done, initially via the pingbacks/trackbacks system that wordpress uses and later via monitoring of the blockchain.

Going Viral on a Small Server

Using average shared hosting with a wordpress installation would probably take down your site pretty fast if you had a lot of traffic to an RSS feed. So the data structure would have to be set up to optimize for low-end servers getting high traffic. Due to the nature of publishing to the blockchain using a regular database to display content doesn’t make that much sense.

Perhaps a system of static text/html files that are generated and saved would help with performance. The static files would include the hash of the previous file to create a ‘post chain’ kind of like a blockchain. It would also include an author tag that is the EOS account name. This would make it relatively easy to do decentralized hosting.

The RSS feed could then just be a feed pointing to those files with the relevant blockchain data in order to minimize size and maximize performance. Viewing the feed and content directly on the WordPress site would then be displayed via normal php, css, etc. Because most virality would come not from direct visits but from people using a feed reader app.

Static files would then also lend themselves to decentralized hosting solutions like IPFS or torrent. As popularity grows, decentralized hosting networks would pop up.

Using hashes to identify files and posts — To maintain data integrity an image could be referenced by it’s IPFS CID instead of by URL. Alternatively, each post could be a folder containing an html file and any media files that are then stored in IPFS format.

Data structure is a blockchain account, a feed and a bunch of static files. Each static file is a post and it includes a hash of the previous post in the file. The blockchain account points to the feed file and the feed file points to the static files. The feed file could be reconstituted from the blockchain transactions. The blockchain records verify the date, order and content of the feed and static files.

For images or media that are within a post, the image is hashed and the hash is inserted in the static text file. This makes it so that if your image hosting changes you can use whatever CMS you’re using to dynamically render the image urls based on the hashes. This could be used where a reader would check the blockchain for the hosting URL and dynamically insert the image urls in order to display. The wordpress plugin could be built with this in mind providing a service where the media urls are sent already included based on what client is requesting them.

For the feed, an RSS feed might not be the best choice. Maybe JSON or some other more open/modern format that has less overhead might be wise. Allowing the reader to be compatible with RSS would be nice though.

In order to have multi-chain support, you might need to publish a static file for each chain depending on how things are hashed. This could be fixed by having a single DNS system for names that are registered on your EOS/TLOS account and are the same across chains.

Building the Decentralized Web

Running this plugin could also turn your wordpress server into an IPFS node to host your files and the files of other posters. If a mobile phone can run an IPFS node then certainly shared hosting can as well. With a little momentum, this could be the fastest way to millions of IPFS nodes!

If we can successfully make wordpress installations with this plugin into IPFS nodes then we can also implement custom rules for what files are stored on the node. For example, we could make it so that if you re-post (re-tweet) or like someone’s content that you store that in your IPFS node. This would ensure that the most popular content is also the most widely distributed and available. Potentially anti-fragile :)

The permalink system of wordpress could be used to resolve to IPFS files.

Even if you’re not using IPFS to store your files, the CID system could be used to register the content on the chain so that it’s compatible with IPFS and easy to change domains.

Conclusion

Wordpress + Social Media + Blockchain + IPFS = Amazing possibilities for an Open Distributed Social Media!

Of course this could be done without WordPress, but I think that community could bootstrap things much faster.

What do you think?

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Exploring EOS

Exploring EOS

46 Followers

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