I’m sure if you’ve been around the Internet a time or two, you’ve heard of Keybase. It’s a great little tool that allows you to verify your identity across several websites, encrypt, decrypt, and sign data with your own key online, and even chat and send files. What could go wrong?

Decentralize, decentralize, decentralize! Keybase is very much a centralized service! This means there is one server (or, in other cases, node) that has control over all of the users (or in lucky cases, most). Some “decentralized” services revolve around a flagship instance. For example, when the flagship Prismo instance went down, the whole collective Prismo went down with it. If Keybase goes down, all of your Keybase files, chats, and connections are no longer accessible. (I may be wrong about part of this. Call me out at my fedi so I can correct it!)

That’s not the only problem. To chat with users through Keybase, you have to use Keybase. I understand it’s a cryptography/security thing. There are other ways they could do it! They could just set it up to run on top of Matrix. In fact, they could even have the user migrate the chats to the new Matrix rooms, still with encryption on as default. That way, Keybase users can chat with those outside of Keybase. They won’t do this, as this makes Keybase lose potential users. A project that projects itself as Keybase does shouldn’t be concerned about users using different things. I can’t wait until they start charging for something to further bolster my point.

However, Keybase files (at least the public ones) are hosted on keybase.pub. That’s a great gateway out. If it goes down, someone else can actually re-serve Keybase public files using a Keybase FUSE mount and an average web server pointed to /keybase/public. In fact, apart from it being a subdirectory instead of a subdomain, that may be better than what they’re using right now because it only renders README.md.

Keybase offers Files and Chat chiefly. I think Keybase should just stick to their main thing and allow other things, such as Files and Chat, to be run separately and integrate or plug in to Keybase. This would also allow us users and developers to integrate third-party applications with Keybase.

In short, Keybase is not decentralized. This alone is enough to dissuade me from thinking this will take traction in the Web 3.0 future. If they choose to decentralize it, I’d be more than willing to get people to use it. It’s a (mostly) user-friendly interface to encryption that includes several neat services. I just don’t like its structure.