3 Projects Trying to Redecentralize the Internet

Bobby Brennan
Oct 3, 2018 · 7 min read

The past year has seen a quantum shift in the way the internet’s citizens understand data ownership and privacy. We’ve had our private information exposed in massive breaches. Access to our personal data has been abused to influence public discourse and elections. And we’re increasingly realizing just how sticky the situation is — companies like Facebook thrive because they have exclusive access to our data. We can’t move over to a competitor without leaving our friends and followers behind.

Fortunately, the internet is fighting back. GDPR is a huge leap forward in protecting the data rights of European citizens, and there’s hope that it will serve as a rubric for legislation in the U.S. and elsewhere.

But most importantly, there’s a burgeoning class of developers who are trying to solve the data ownership problem head-on, by creating the protocols and software that will drive Web 3.0. I’d like to discuss a few of my favorite visions for the internet’s future, starting with one of its original creators: Tim Berners-Lee.

Solid — a new paradigm for data ownership

Tim Berners-Lee — the “inventor of the World Wide Web”, according to Wikipedia — has been hard at work with a team at MIT for the last couple years developing the SoLiD protocol. Solid’s goal is to decouple data storage from the apps that generate that data, and this has two huge implications:

You own your data, not Facebook

If you’re a Facebook user, all your likes, posts, messages, and photos live on Facebook’s servers. They have your permission (you read the terms of service, right?) to retain this data, mine it for value, and — most importantly — use it to influence your behavior, whether that’s keeping you glued to your news feed, getting you to buy things you wouldn’t have otherwise bought, or changing your vote.

In Solid’s world, when you sign up for a social network, you get to choose where your data is stored. You could keep it on Amazon’s servers, for instance, or maybe on a server inside your company’s intranet. Tech-savvy users could host their own Solid servers, ensuring that every bit of their data was physically stored in their own home. Companies like Facebook would need to ask for permission to view your data, and that permission could be revoked at any time.

No more data monopolies

The biggest issue with Facebook though, is how incredibly hard it is to get rid of. Most of the Facebook users I’ve spoken with agree that it’s outlived its utility, but they can’t leave because it’s where all their friends are. It’s how they get invited to parties, stay in touch with old friends, and share stories with the people they love. No matter how fed up they get with Facebook’s emotional manipulation, data breaches, and privacy violations, they have no recourse to switch to a new social network, unless they can convince everyone to move at once.

In Solid’s vision, this stickiness will disappear completely. Because data and apps are decoupled, different social networks will be intercompatible. That means if you switched over to a new social network, you’d still be able to interact with all your old Facebook friends — they wouldn’t even know you left!

So instead of everyone having to leave Facebook at once, they can slowly trickle over to a new app. Or there can be 20 different social apps which all intertwine into a single community. When the users own the data, apps have to compete on features and user experience, rather than relying on a data monopoly to win.

ActivityPub lets apps talk to one another

ActivityPub shares some goals with Solid, but is a bit less ambitious. It makes no attempt to address where and how data is stored. Instead, it defines a way for different social networks to interact with one another.

The basic idea is that, if you post an update to Twitter, that message can be federated out to any number of social networks you might be a part of. It could become a status update on Facebook, a post on Reddit, or a toot on Mastodon. The underlying apps still save the post on their servers — ActivityPub just gives you a way to interact with many different networks at once.

Like Solid, this helps to alleviate the monopolistic tendencies of social networks. You can move over to a new network like Mastodon, and — so long as your old social network has an ActivityPub implementation — continue to interact with all your old friends. They can still “like” your posts, post replies, etc — again, they won’t ever know you left!

Blockstack — the internet on a blockchain

Blockstack is one of my favorite blockchain-era projects. Its goal, like Solid, is nothing less than a complete reinvention of the web. They even have their own browser!

Blockstack’s goal is to let users host their own data, either on their local hard drive, or in cloud storage like Amazon’s S3 or Google Drive. Apps then have to request permission to read and write data owned by the user.

Developer-driven

Blockstack’s greatest advantage is that it is strongly developer-first. The team clearly understands that without a suite of killer applications built on Blockstack, the end users will never come.

The greatest driver for developers is that it’s totally free to deploy a cloud-enabled application on Blockstack. Currently, if you want to create an app that lets users save and share data, you have to front the cost of hosting servers and databases, and your costs go up incrementally with each new user. You need to quickly find a way to monetize — likely through ads or paid subscriptions — or you’ll run out of money and have to shut the project down.

With Blockstack, the development costs disappear entirely. Users host all the data, so the developer doesn’t need to pay for or manage servers and databases. Even if the app takes off and reaches millions of users, the developer will never have to pay a dime!

Even better, Blockstack will reward developers who create popular apps. While it’s not totally clear how this will work, it seems the community will elect “app raters” who are allowed to distribute cryptocurrency to the highest quality apps.

A Long and Difficult Journey

So which of these visions is most likely to be the basis for web 3.0? Each has a few factors weighing against it.

Solid

The main problem with Solid is the developer experience. The team seems focused on evangelizing their mission to end-users rather than convincing developers to join their movement. Many of their reference apps are broken.

I can’t emphasize enough how critical developer experience is to a project like this. Without apps getting built on top of Solid, there will be no reason for end-users to come around. Blockstack has a huge advantage here.

ActivityPub

The biggest question to me is whether users actually want the functionality provided by ActivityPub. Rather than giving them ownership over their data, it replicates it across multiple different social networks. Do we want our tweets magically dispatched to 10 other networks? In some cases, maybe, but most users want their Twitter activity isolated from their Reddit and Facebook activity.

ActivityPub is really creating data interoperability rather than addressing the data ownership problem being tackled by Solid and Blockstack. And with the prevalence of REST APIs this is less pressing of an issue.

Blockstack

Blockstack’s insistence on reinventing everything from identity to storage means a complete overhaul of user experience on the web. It’s hard make the case that users will download a bespoke web browser just to interact with Web 3.0, and they’ll want to continue using the familiar e-mail/password identity management that they’re used to.

The data ownership revolution will likely take place without users’ awareness. They will enjoy the magic of being able to switch to competitors’ apps and having ownership over their data without much disruption to their normal web-browsing habits.

Inertia

The biggest thing holding back Web 3.0 is inertia. On the one hand, you have app developers and their investors, who aren’t going to hand over data ownership without a fight. Giving users ownership over their data means letting competitors piggyback on the ecosystem they built. On the other hand, you have users, who are used to a free, ad-driven internet. They may balk at paying even $5–10/month in storage costs, no matter the privacy benefits.

But there is a healthy class of open source developers who build software because they want to create value, not monopolies. Giving them the tools to build and distribute cloud enabled software for free — something that is impossible today — will release an onslaught of great, free-as-in-freedom applications. And all it takes is one killer app to get end users involved and excited.

Who will win?

I’m not sure if any one of the projects above will be the key driver in effecting a new data ownership model for the internet. But each of them is contributing something immensely valuable to the conversation, and I have no doubt that Web 3.0 will be better, safer, and more secure place for their efforts.

Spoiler alert: I’ve also been working closely with a handful of brilliant folks who are dead set on fixing the data ownership problem. Stay tuned for another open source solution!

If you’re using any of the above technologies, or have decided against them, I’d love to hear why! Use the comments below to share your experiences.

Bobby Brennan

Written by

I’m a Software Engineer, specializing in Dev Tools, NLP, and Machine Learning