I’m still distilling what web3 is all about. What’s clear, at least I think, is that it’s a service or multiple services or more generally: a clients, built on top of distributed public ledger - a blockchain. A notable feature of such system is that it’s decentralized - no one owns the blockchain, it’s public, so you’re enabled to write to it whatever you want, without restrictions or fear of being blocked, censored or removed. In my opinion, such systems still suffer from centralization. Not from centralization of database, blockchain in this case, but centralization of clients and web services built on top. In this blog, I’d like to draw some parallels to existing distributed systems with high client centralization.

Let’s start with future Twitter, a web3 twitter. Its database is a blockchain, say Ethereum, where anyone can tweet. On top of that there might exists multiple competing clients that allow people to interact and to tweet. One such client could be an open-source say Electron based application, where either binaries will be provided or users, at least power users, will be able to build them by themselves. I imagine that there will exist multiple web based services that provide access to that database and even today’s Twitter would be based on top of that. The premise is: regardless of the multiple clients, the users will inevitably be drawn to one service, so the majority of users will still use single service to access public ledger of tweets and effectively centralizing tweeting. That service will eventually block users and content. Of course, you are still allowed to tweet by moving to a different client, but your tweets will no longer reach large audience.

I draw parallel to some existing systems. The open-source can be considered distributed. You can use whatever version control and you can host your code anywhere, but the majority of open-source code and users is centralized. The majority of users use GitHub, either as collaboration tool or to host their own code. If you are banned from GitHub, good luck reaching out to developers.

StackOverflow Developer Survey 2020 StackOverflow Developer Survey 2020, 52,883 respondents [1]

StackOverflow Developer Survey 2021 StackOverflow Developer Survey 2021, 22,528 respondents [2]

Another parallel is BitTorrent, a peer-to-peer file sharing, where files are distributed and decentralized. Majority of users use μTorrent.

StackOverflow Developer Survey 2021 Usage share of BitTorrent clients, Wikipedia [3][4]

If, for whatever reason, μTorrent introduces content filtering and blocking, majority of users won’t be able to access your content. Now, I’m not claiming if this is good or bad, since it’s kind of questionable what kind of content you are providing so BitTorrent clients need to block it, but that is besides the point. The point is that high client centralization, diminishes the underlying decentralization and I think that it’s inevitable that will happen to web3 services as well.

If you think that won’t be happening - think again - it’s already happening in NFT world. Some NFTs, a non-fungible tokens backed by Ethereum, got banned on the OpenSea marketplace, after getting stolen from their owners. A client blocked the content from the blockchain.

Digital marketplace OpenSea has banned the PHAYC and Phunky Ape Yacht Club (or PAYC) collections…

Two NFT copycats are fighting over which is the real fake Bored Ape Yacht Club (theverge.com)

References

[1] StackOverflow Developer Survey 2020, Collaboration tools (stackoverflow.com)

[2] StackOverflow Developer Survey 2020, Other communities public or private (stackoverflow.com)

[3] Usage share of BitTorrent clients (wikipedia.org)

[4] uTorrent is the Most Used BitTorrent Client By Far (torrentfreak.com)