Blockchain is a new kind of database - block or records connected to another block. That's the simplest explanation.
It’s an
oversimplified explanation. The blockchain forms a Merkle chain of unalterable history, whereby correct knowledge of the present can be used to verify correct knowledge of the past. Adding a Hashcash-style POW function for transaction ordering, it becomes a Byzantine fault-tolerant distributed database with no central authority or trusted “supernodes”.
That’s the simplest explanation I can provide in two sentences.
However, I want to ask the hard question.
What are the limitations of blockchain? I know this is a really good innovation and I highly support it, not because I join the bandwagon, but because bitcoin will not exist if not because of it....
Solving the problem of creating a
Byzantine fault-tolerant distributed database with no central authority was a work of genius by Satoshi. This required design trade-offs; and as a result: The blockchain may well be the world’s most inefficient database; and it has very limited scalability. These are not problems, because higher-layer solutions (Lightning Network) can use the blockchain as a foundation.
Thus, yes:
The first and most evident "limitation' of blockchains is scalability.
A trusted database system can always beat a blockchain-style system hands down for performance. But then, the best currency you could build would be Paypal 2.0. Whereas Bitcoin is a trustless, permissionless currency which nobody controls.
But I want to have a better understanding of the blockchain (in layman's terms please) if I want to get really serious about cryptocurrency and ICOs.
ICOs are scams,
ipso facto.
Avoid.My second question is, what are the things experts do to improve blockchain?
To improve Bitcoin’s blockchain and the more efficient usage thereof, a few examples are: Segwit (done), Schnorr signature (in development), MAST (in development).
The blockchain works great for currency systems, and to an extent, smart contracts (provided they are not needlessly complex, or else you risk losing all stored funds to a bug/hack/unintentional loophole).
Aside: Complexity is not the issue with smart contracts: Correctness is. To see some of the advanced research work being done to
potentially bring powerful,
mathematically provable smart contracts to Bitcoin, read the paper on
Simplicity (PDF).
(That’s not on the topic of the blockchain itself; but it’s no secret I despise the centrally controlled exploding clown car amateur show of Ethereum, and I do so look forward to the prospect of things being done right for Bitcoin.)
Alas, there are not many other practical uses for the blockchain, owing to the fact that the very premise of the blockchain requires distributed nodes (which usually requires monetary incentive or a token), and it also requires the transparency of data.
Transparency of data is not required. Zerocoin (the concept) and Zcash (the existing currency) use zero-knowledge proofs such that all that is revealed is, “a valid transaction occurred in which outputs did not exceed valid inputs”. There is other work being done to obscure information, such as Confidential Transactions for Bitcoin.
Now, it's very fun to think of big banks and companies using the blockchain for all of their transaction, but if this was implemented in the real world, the idea falls flat on its face. Why? Because no bank/company in their right mind would reveal all their information publicly,
There was a collaboration between JPMorgan and Zcash to produce a zero-knowledge proof implementation for banking use. The precise reason was that big banks do
not want to reveal confidential transaction information to competitors seeking business intelligence. Note: I am in
no way, shape, or form endorsing JPMorgan’s Quorum, or anything whatsoever to do with JPMorgan, a/k/a Evilbank of Evilbanks. I am simply relating some interesting facts which pertain to what you said.
no bank/company in their right mind would let third (or even second) parties control their nodes.
This is not a valid concern. The important part is
your node; and nobody controls
your node in Bitcoin.
They would implement what is commonly known as a private blockchain. A private blockchain is also known as a database.
A “private blockchain” is also known as a hyped-up dog and pony show based on buzzwords and not engineering. An ordinary ACID database is inconstestibly superior for 90+% of use cases for so-called “private blockchains”; and for 9+%, there exist other network database solutions which will be far more efficient. There are only a few corner cases I can imagine even in my wildest fantasies whereby a “private blockchain” might make sense. Adding a central authority instantly removes some
extreme engineering challenges.
A “private blockchain” which amounts to Paypal 2.0 will be slower and costlier than Paypal 1.0. Why bother?
(Aside: I mostly disagree with your post, but it was cogent. Also, it pointed out something I am well aware of, but most Bitcoiners don’t realize:
Big banks and huge corporations do not want to reveal their private info in a global public ledger. Sure, they want to rape
your privacy—but they jealously guard their own. Thanks for bringing that up. +1.)
Politics.
Not a limitation of the blockchain. Rather, a product of corruption at the wetware [human] layer—resulting in intentionally divisive disinformation campaigns.
It has made cryptography more mainstream, but the highly specialized industry is chock-full of jargon.
Any advanced technology will involve jargon incomprehensible to those who have not studied it. So...?
Fragmentation.
Blockchain is based on a peer to peer system. So each peer/node have the freedom to choose which “version” of the software to run. This makes it difficult to implement significant changes to the codebase because each peer may have different views on the changes.
Interesting angle. But it is an issue with decentralized P2P systems, not the blockchain
per se.
[2] The 51% attack. Today's hashing power might be phenominal, even with the unethical mining system we have now known as pools, a 51% attack is nearly impossible.
But when the 21m BTC supply was mined, miners will surely shift to a more mining-profitable coin that can lead to a lower Hashing power.
With that, one of those huge pools can easily gain more than half of the mining operation, it's up to them whether they use that advantage to help or destroy btc, things will differ depending on our view of digital currencies at that time.
That’s not a limitation of the blockchain
per se, but rather, a security limitation of its design for using Hashcash-style POW for transaction ordering.
But when the 21m BTC supply was mined, miners will surely shift to a more mining-profitable coin that can lead to a lower Hashing power.
One of the side-effects of the rise of ASICs has been that Bitcoin is sharing its PoW scheme with only a handful of coins, signifcantly reducing the number of possible targets to alternatively point hashing power at. Nonetheless it is of course impossible to predict how the world and cryptocurrencies will look like a 100 years from now, given the latter still exist.
And
this is one facet of a very significant reason to not switch POW algorithms. Thank you.