Practical Decentralization

Recently, I've been working on an idea I had regarding decentralized servers hosting user-specific data. The idea has been manifesting inside my brain for a while—when building this website (as you can read about in the about page) and when building Interweave.

After consulting about it with some of the smartest engineers I know, I've determined that the idea has merit and is worth pursuing further. So I will. The next step is a whitepaper where I'll figure out the ins and outs of what this might look like.

While the idea came to me naturally, one of my engineer friends suggested I check out the Solid project by Tim Berners-Lee and the team at MIT. I was blown away how the language of its website mirrored the language I was using when texting my engineer friends about the idea: "decentralized", "interoperability", "data-ownership" and more. The more I read about the project, the more validated I felt regarding my natural line of thinking.

No doubt the work looks really solid. The team is building the protocol on proven web technologies and are dedicated to furthering the original vision of the web; a true Web3. However, I'm grateful my ideas didn't derive directly from this work, because I believe there are some issues with the specifications they're writing, which can mostly be summarized as "creating a barrier to entry".

If our ideas come to fruition, it will make almost every app in existence archaic in one way or another, and with that, new apps will be needed to support the decentralized nature of the ecosystem. If your specification is too complex to understand and build upon, it's going to be hard to adopt the technology. Sure, we can obfuscate complexity from end-users, but it's essential that developers find the technology approachable and understandable—something MIT engineers might not actually be good at.

How do we measure success of a technology? A bulletproof specification that follows all the rules and looks great on paper after six months of reading and learning? Or a technology that people adopt and use?

My vote is the latter. I think it's okay to break a couple rules and make some assumptions if that is what it takes to achieve a better technological future. So that's what I'm working on: practical decentralization. An ecosystem people can understand and build upon.

(I've been intentionally omitting details about my idea, as that is not the focus of this writing. This is intended to be more broad, and will perhaps be supplemental to the whitepaper I'm working on now.)