I recently did some research on blockchain, crypto, and Web 3.0 finally, trying to understand the buzz, and I must say it’s quite interesting, but not necessarily in a good way 😅 I’ve been wanting to share my take, so here it is:
Blockchain, as I understand, is another software application backend, like a SQL server database, but is fundamentally different from traditional backends in that it is distributed, and therefore relies on the rules set in the software itself to verify transactions, as opposed to a traditional backend where the database is owned by one central party and validity of the data is established by trust with that central party. For instance, Facebook has its own database that it controls and we trust Facebook to not alter that data at will (to whatever degree).
It’s an interesting idea, but there are unfortunately fundamental problems with not having a central authority. First, all transactions must be verified by some number of nodes on the network, and that verification has a cost associated with it, since the verifying nodes (computers) have to do work to verify the transaction. Because the number of nodes is finite, the more transactions the higher the cost. I read at the moment the average Bitcoin transaction costs around $20, but can jump to thousands of dollars per transaction when there is a lot of activity.
Another fundamental problem is that because a blockchain maintains its integrity via rules written for itself, those rules cannot be changed once the blockchain is deployed. That’s like saying you have to create a database schema and not ever change it after your app has gone to production. This has led to some interesting events in the crypto world, two of which I’ll share.
So Bitcoin forked into Bitcoin Cash because the size of the blocks on the Bitcoin blockchain were too small, which is (part of ?) the reason Bitcoin transactions are so costly. So some group of people decided okay we need to modify the blockchain the increase the size of the blocks, but again you can’t alter any existing chain outside the rules already set for it, so a new blockchain had to be created. And you can’t transfer blocks from one chain to another because there’s no rules for that on the original chain. So now we have Bitcoin and Bitcoin Cash, two separate crypocurrencies running on separate blockchains.
More scary is the story of Ethereum. It’s not as famous as the og Bitcoin, but Ethereum is where most of the crypto startups are doing their work now, because it is a chain built for crypto businesses. Well, in 2016 Ethereum forked, but not because the blocks were too small. Ethereum forked because a security vulnerability was found and exploited, and something like $50 million in assets were stolen. To add insult to injury, for all the people with assets on that chain that were not stolen, there’s no way to get those assets off and onto the new Ethereum fork, so all that just gets abandoned.
One more issue I ran into on my dive into blockchain is that it is very difficult to query a blockchain. All the data is publicly available, but performing a simple query or god forbid any aggregation is costly in terms of time and computing power. There are startups popping up attempting to solve this one problem by standing up some indexing layer that can actually be queried, but then you’re losing some of that decentralization, since you’re now trusting one party for your blockchain querying needs.
In general, my impression is it’s the Wild West, and I’m not sure all of the fundamental problems can be solved. Maybe Web 1.0 looked as bleak in its infancy, and all the issues will be ironed out in time.
We shall see.