Oddbean new post about | logout
 Protocols != Businesses

A business that has lots of demand can buy its way out by raising money and directing lots of resources towards solving the problem. It also has the benefit of typically controlling all the infrastructure, so is able to replace the entire underlying stack.

A protocol cannot do that, it's dependent on volunteers, grants or companies that, often against their commercial interest, keep improving it in a mostly backwards compatible way. The amount of resource that can be mobilized is smaller and the upgrade process harder (a whole ecosystem has to move).

The most likely outcome imo is that companies will build very sophisticated scaling technology, that will likely not be open source so they can have a moat, and then dominate the end user market. Us nerds can still use the core protocol, but might not even be able to communicate with the majority of users.

E-mail is a cautionary tale, try hosting your own and still reaching gmail users reliably. Or try getting ICS files for flight bookings, airlines just set the google calendar metadata since ~everyone uses GMail+GCal. It's a bit different since the centralizing force for e-mail was spam and not scaling, but I think it's a close enough analogy.

Or look at the web stack, it historically evolved to become such a bloated monstrosity (because the inventors designed a document standard and we shoehorned it into becoming an application framework) that these days only companies with millions to burn can keep up with maintaining browser engines (and Google pretty much defines the direction of travel because Chrome is number one).

So when I worry about scalability it is out of a deep care for decentralization and not seeing all that energy invested go to waste by ultimately ending up in the same place we started at. If we don't consider decentralized scaling from the beginning, the non-ideological VCs pouring money in once it gets traction certainly won't. 
 On why I think protocols ought to be designed carefully from the beginning (in particular re scalability) if we want to preserve certain properties like decentralization in the success case:

nostr:note1h2pcsdkk0l9vhh2fksfq3enqa23dsgtjq0rs5pvcfrg4a9a4r3hqcdqdyy