No, you don't understand the blockchain / the CAP theorem limitation

in #blockchain8 years ago

No, you don't understand the blockchain

...But don't feel bad for it, almost no one does!

Blockchain has a great potential, but it's incredibly overhyped and few people really knows what is it all about. Just have a look at this:

blockchain_hype.png

Or this (you can find assertions like this almost everywhere):

"When decentralized blockchain protocols start displacing the centralized web services that dominate the current internet, we’ll start to see real internet-based sovereignty. The future internet will be decentralized."
- Crunch Network.

Ok, someone has to say it:

NO, it won't, because it can't.

Blockchains are just a very special kind of databases, and it has a lot of disadvantages and limitations.

Ok, ok, now... what's a database? Well, humanity needs tools to manage information in an eficient way. That's even more needed with computers. In the beginning, there were a few technologies for achieving this, like trees structures, plain files based structures, etc. But with the development in the 80's of the Relational Algebra, the implementation of the first Relational Databases, and SQL (the language/tool to exploit those incredible theories), we seemed to have reached the perfect nirvana to solve the information management problem: we had a compact and efficient way to store data, and access it with powerful and flexible tools, we had strong data integrity, consistency, availability, durability... And that was good... And it lasted until late 90's.

What happenede then? Internet started to bloom, everybody was there, and new global applications emerged. The problem with traditional databases is that they just can't store such huge amount of data. New technologies were needed and then we started sacrificing some of our beloved relational databases features in order to scale. NoSQL databases were born. The hype was born. Everything was going to be NoSQL, the new internet would be NoSQL, and NoSQL would rule the world (TM). Sounds familiar? Once the dust (and the hype) settled down, yes, NoSQL is a great technology, and it's greatly used today, and it's the only option for some scaling and performance demanding applications out there. But guess what? we still use relational databases as our first and better option for most use cases and most of our applications.

So, in 2009, after a decade of whitepapers and research about cryptographic secured chains of blocks, a new implementation technology that solved the problem of the "double spending", was born: The Bitcoin. It was just a way to store information, digital currency information in particular: transactions, accounts, etc. And it didn't need a centralized trusted administrator, it was a real distributed network, working autonomously, reaching consensus to validate all the transactions, with an incredible robust data integrity, and almost impossible to hack when run with a high number of nodes. And it was great. And cool. And we all love it.

Blockchain is a great technology, as we all know, it basically provides data storage with an incredible data integrity (a must for digital currency and assets), and the most important feature: security in the way untrusted parties access and aggregate the info it contains. But they have a huge problem, and it's the same problem than traditional relational databases had in the late 90's... They do NOT scale well. In fact, they do NOT scale at all.

Some people may think that they scale by decentralizating the information, but they don't really decentralize the information, they just make it redundant, massively redundant. What they decentralize is the access, manipulation, and the control of the information: they have a lot of nodes in the network, and each node has the exact same information than all the other nodes, and that's a great problem, because you can't have all the Internet information in a single node. WTF, you can't even have all the Facebook information in just one node. That's why you need a NoSQL database that really decentralize the information in distributed partitions across the network. But with blockchains it's even worse, because there is not one, but two different scaling problems:

  • Size (amount of information they can store): "the next internet"... yes, and all in one node, sure. Ethereum will have a hard time fighting with a bloated TERAbyte size blockchain in 2018, let's see what happens.
  • Throughput (amount of transactions per second): we are already seeing this with Bitcoin, it's fighting its own limits of throughput capacity, and it's got only minimal worldwide adoption and use (my mother doesn't use it). We're talking about SegWit, 2MB block sizes, Segwit 2.0 and the New Yor agreement, lightening networks... Well, Segwit 2.0 increases the blocksize from 1MB to 2MB, and makes it almost 2x more compact... But that can't stand an exponential network growth, so it's just postponing the real problem. Lightening networks? again, postponing the real problem, even further.

We also have an extra bonus limitation: latency (and so availability). With relational databases and NoSQL we get transactions tipically in few milliseconds. We have to wait for minutes (seconds in the best cases) to have enough confirmed transactions with a blockchain. That's the cost of such a great integrity and robustness.

Ok, you might think that this is all a new technology (it isn't), and that we'll find something to solve all of that scaling problems... But there is a fundamental mathematical limitation to this, and it's called The CAP theorem. It's quite complex, but you have to know that it's not just a theory or an opinion, it's a matematically proven theorem and it states (sorry for the oversimplification I have to make here) that in a distributed system you can't have Consistency, Availability, and Partitioning all at the same time. You have to choose two of them.

CAP theorem.png

Relational databases choose Consistency and Availability. NoSQL need to scale so they choose Partitioning (and sacrifices one of the other two). Blockchain is not the perfect solution either, its availability/latency is terrible in most common current implementations. And if you want to make it faster, it would become inconsistent, untrusty, and that's even worse. It's a weird (and beautiful) new thing, but it won't beat the CAP problem either. So... no. It won't be the next Internet. Because it can't.

OMG, but then... Is this just a bubble?

Some Facts

  • Almost no one uses cryptocurrencies for their intended purpose. More than 99% is speculation use, no real fundamental value in them. I know more people that speculate with STEEM/BTC pair token at poloniex than people than write articles in Steemit :(
  • Exponential growth is never sustainable.
    Exponential.png
  • Almost no one really understand blockchain capabilities and its limitations. But everybody is throwing money at it.
  • Roses are red, and my english is terrible, I know it, and I'm sorry for that :(

Is there any hope then?

  • Only a small proportion of potential investors know (or are into) crypto, so there's still a long way to grow for all the ecosystem.
  • A myriad of new blockchain projects are blooming like crazy, it's incredible. Most will die. But some could become something BIG.
  • Creativity is huge at this point: we have blockchain projects for things like:
    • Distributed storage (SiaCoin)
    • Smart Contracts (Ethereum)
    • Distributed Computing power (Golem)
    • Blockchains for blockchains / Blockchains as a Service (Ardor, Stratis)
    • Social Media Platform (I'm sure you know one of these ;))
    • Digital currencies. Of course. Some with incredible anonymous and untraceable features.
    • Internet of Things (IOTA).
    • Decentralized exchanges (BitShares)
    • ...
  • Sometimes, an exponential growing system is not a bubble, but just a second order system that stabilizes for the long term after the exponential phase... We'll see what happens here!
    Second order system.png

Some (highly probable?) predictions

  • Most of cryptos will just die, crying, alone, in a dark night, in the rain.
  • But a few ones will become important platforms of the future.
  • Of course no, they won't be The Next Internet (TM).
  • A lot of people will make a lot of money... and many others will lost it too.
  • We will see Crypto technologies evolve, literally. They are spawning now like crazy, each one has its own genoma, with a bunch of genes each (like the gen "proof of work" or "proof of stake", the gen "inteligent contracts", or "side chains/off chains/lightning networks capability", or "privacy and anonymity" , or even the gen "has a good powerful developer/marketing team supporting it" etc.). They will fight for their life, most of them will die, the better genes (not cryptos themselves, just their genes) will survive into newer cryptos... and we will see what happens. Bitcoin is now like a dinosaur in the end of the jurassic era, the King in Earth, now, facing huge problems like scaling issues and internal interest wars, and the Ethereum flippening around the corner... Those are its meteorites and volcanoes... will it survive?
  • If you are still reading this (really?), perhaps you will upvote? :)

So, you know, this is only Rock&Roll hype...

...But I like it! ;)

Have a good sit and enjoy the ride! These are incredible times to being alive! :)

mining Zcash.jpg

Sort:  

well, this simply genius. It certainly deserves more reward and up-voting than I can provide. I only knew about your post b/c @cristof hyped you. The two of you should partner b/c you have a lot of talent and information to give. Really, good work! Upvoted & following

Thanks for your comment and kind words! I'm new with Steemit, and didn't know if anyone was going to even read it :)

I'll have a look at @cristof as you say, thanks!

if this is all just hype, you won't mind a downvote, would you?

Coin Marketplace

STEEM 0.24
TRX 0.25
JST 0.040
BTC 94242.56
ETH 3408.52
USDT 1.00
SBD 3.35