Cloud of Readers: Using BitTorrent to make a decentralised Tumblr

I have an idea that I have started to call The Cloud of Readers. This is a mash-up of technologies to make a blogging platform that does not need a website.

Tumblr has been great but it is changing and the users don’t have much say over that. Which is only to be expected because Tumblr is not owned by the users. But what if we had something that could only be owned by the users?

What if we had a blog system that was not hosted anywhere but was shared between users. Today, the content that is loved, and shared, will spread while content that is niche stays within the niche. What if we could create something where each user had the power to signal-boost the good and allow the poor and bad to slink away into obscurity?

This is what I am proposing. A more active version of archive.org. Blogging that cannot be censored. A cloud of readers!

No more content hidden by algorithm changes

You control the filters (if you want filters).

If Youtube, Facebook, or Tumblr feel like it, a content producer can go from popular to unseen at the stroke of a few keys. While that is their right, we do not have to like it.

I think it is time for the community to build something that allows content produces to distribute what they make without the big players being able to shut us down for their own reasons.

This is why I propose The Cloud of Readers. It is what you get if BitTorrent, and Blogging had a baby together. You get the sharing of BitTorrent along with complete control over when you publish. Who seems what you share is down to one thing – how many people are interested.

If people like what you share they can view it, promote it, and pay it forward. In that way, The Cloud of Readers would be the ultimate democracy of content.

What is BitTorrent?

BitTorrent is a protocol for sharing files. It gets used a lot of illegal media downloads but BitTorrent also has some solid legitimate uses too.

BitTorrent works by building up a list of peers and trading file pieces with them. Any parts you have downloaded can be uploaded to friendly peers and swapped for pieces you still need.

BitTorrent clients often use techniques such as DHT and Peer-Exchange for finding new peers. Which would be a great way to find peers interested in the same things as you. This would just be a social layer to BitTorrent.

Now imagine instead of peers those are followers and mutuals. Does that sound like something we call Tumblr? Except that videos load faster, and cannot be blocked by anyone.

How The Cloud of Readers handles friends lists?

Friends are the building block of this idea

We would need some way to favourite peers. Your contacts list should be a collection of people you trade with regularly. This would create a stable network for an ongoing torrent swarm. The more friends you make, the faster your network will run.

Peers and friends as could be tracked via technologies such as FOAF. This could give you a way to stay connected to peers that you like or wish to follow.

There are a whole host of other distributed social media technologies. Many of them could be put to work as trackers to allow you to sustain connections with peers you like even if they change ISP.

Add in a little blockchain technology maybe?

Instead of “starting a new blog” what if we seeded a new blockchain. Blockchain is the technology behind things like BitCoin. With a blockchain of your own, you could be sure that a post was either made to the blog or in reply to said blog. You would follow the chains that interest you.

Mix that up with some private/public key signatures and you have a way of asserting your identity in an environment where trust should be limited and anonymity is the default standard. A blockchain of friends might be the way forward.

That’s two possible uses.

Blog posts as a discrete packet

Your post swims freely when it finds others who appreciate similar content.

Rather than being a bundle of HTML and pointers (links), a torrented post would be a packet that included the text and embedded media. This would mean that when you open a post there would be zero lag as everything would be ready to display.

I imagine there would be an XML file which provides an itinerary of the content as well as pointers to where it came from, tags, and a profile of the author.

It occurs to me that we could use the .tar.gz format to make such a bundle. This would not be so different from the comic book format (cbr) that is built from .rar format. A small plugin later and you could view your content via FireFox, Chrome or whatever you fancy using. The only difference is, your server is your own computer and BitTorrent is used to prefetch content you have subscribed to.

Auto-expiring content

After you have downloaded a post, read it, and seeded it for an appropriate amount of time (or until you have no more interested peers), it is time to let it go. Our personal storage space is finite after all. Unless a user intervenes to keep-alive (see the next section for more on that), the post will expire and be removed when space is low.

This process is key to how The Cloud of Readers will work. Content that is loved, content that is interesting, and content that is current will live on while content that is of a low quality or uncared for will fade away.

This auto expire means that users will build up a ration of signal to noise that favours signal very strongly.

Community keep-alive cache

Maintain an archive of the content you value most from others

One of the issues that BitTorrent faces is when torrents do not have enough seeds to maintain the swarm and the files are no longer available.

I propose that this would be solved by the creation of a cache. A specified amount of space each peer provides to store posts they feel deserve longevity. If the community likes what you say, it will live on.

Combine that with reblogs, where the user adds a post to their own blockchain to share it, and you have not one but two ways a post can be kept alive.

The Cloud of Readers and peer-trust

How can I trust an anonymous peer? Do I want to help them find content? To what degree do I use their recommendations?

These are all questions The Cloud of Readers will have to answer. Fortunately, this is something the cryptography would has been working on for ages.

For example, a chain of trust, which authenticates user identity by asking already trusted peers. There are whole pages describing how FOAF and SSL can work together. This one, for example.

Without going into details, it is possible with existing technology to build a system that is both anonymous (unknown users), authenticated (named users), and secure. The Cloud of Readers would just use what already exists.

Peer notify list

When you release new content how do you get anyone to notice it?

That is a good question. Obviously an established chain of posts would make discovery easy. Subscribed peers would see your new release too. But what if we go a step further? What if we allow peers to register to be notified?

Once you release your content, you ping the peers and trackers that are interested. They are the first ones to pull your content.

Peer recommendations

The Cloud of Readers would allow you to share what you love with your friends

Another possibility would be to allow peers to automatically get recommendations from each other. Those recommendations would be a combination of things you read, things you liked, items on your keep-alive list, and anything you shared – reblogs and original content alike.

Peer-request system

Let’s say that you are interested in “My thoughts on Christmas” by “Saint Nick”. You are aware it exists because it was referenced (linked) in a recent post you read. However, none of your peers has a copy. How would you get it?

What if all users maintained a list of posts that their peers were interested in seeing. Even if they have no blocks to trade, if they had a cache of wanted items – even partial blocks of said item – they would be able to trade pieces for things they wanted.

When you update with your current active peers, you could trade a “wanted list”. If your peer has something you want, then you start trading but if not, you know what they would trade for.

Second and third degree peer-requests. If we are sensible about maintaining these wanted lists, we could pass on the not only our own wanted list but the wanted list of peers. These would be second degree requests. Pass those on again and they become third degree.

Depending on how each user prioritises requests – list limits for example – second and subsequent degrees of request might be only passed on at random. Or passed on to flesh out a minimum list size.

Add in tracker discovery and we are golden

Some peers might be even more giving, running a tracker for posts of a certain tag or topic, or just generally tracking stuff. Trackers are already part of the BitTorrent way of doing things. Which means we have everything we need for a peer-to-peer, censorship resisting, peer-evaluated, social and blogging ecosystem.

I would imagine it would be a great way to distribute podcasts, videos (watch out youtube), and artwork. I would not be surprised if WordPress would not eventually have a way to add posts into the ecosystem of Torrent peers. Even if your blog was taken down, your content might live on in the cloud of readers.

Is The Cloud of Readers the way forward?

fantasy in the clouds
In the cloud, content is free to roam

No website, no domain name rent, just peer-to-peer sharing of content. I’d like to think this could be the way forward for sharing our content with each other.

The result would be a “website” running from your own PC, laptop, or phone that is a bit like Tumblr and utterly under your control. Your client software would go and find recommendations for you, search tags, and update the stream of posts from people you follow as well as publicising content to your followers.

Why I have not made this yet

It might surprise you to learn that despite being a massive nerd, I do not know everything about all technologies. I can sketch out the big picture but unless some super-geeks and BitTorrent devs are willing to join in, this will only be a dream.

If I ever learn enough that I can take a crack at this on my own, I will. To be honest, this should simply be a case of stitching a bunch of existing libraries, and technologies into a new application. If you can do that, please steal this idea and make it happen. We need this.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Back to Top