Growing up, I was extremely stubborn and tried my hardest to get everything I wanted. As a result, it was difficult for me to compromise and come to a consensus with my family and friends.
If Someone Ever Said No To Me, This Was My Reaction…
But as I got older, I realized that being stubborn wasn’t always the right action. I matured into someone who could compromise to build better relationships, become more efficient, and just be happier.
Very similarly, blockchain is in its childhood as we see its value blooming but we still have a long way to go.
Bitcoin, one of the most well-known cryptocurrencies, has demonstrated that it is practical and valuable to use the blockchain as a transaction ledger. Essentially, the blockchain is a distributed database of the public ledger of all transactions or digital events that have been executed and shared among participating parties.
Its most notable characteristics are its decentralization and collective maintenance. Besides, time-series data, programmability and security are meaningful properties of blockchain as well.
Furthermore, as a universal underlying technology framework, blockchain systems can be successfully applied to other financial and even non-financial applications.
However every blockchain system, especially cryptographic currencies such as Bitcoin, always face a latent confidence trade-off in a transaction.
Since a higher confident transaction requires a longer time to be confirmed by nodes, those applications which require low latency cannot ensure whether their transactions will be confirmed.
Meanwhile, the system needs to prevent double-spending and solve a problem similar to the Byzantine general problem. Blockchain works out the two problems by reaching consensus protocols among all nodes.
So how do we reach consensus more efficiently and correctly in the blockchain?
Currently, there are several representative methods that have failed to do this, including Proof-of-Work (PoW), Proof-of- Stake (PoS) and Delegated Proof-of-Stake (DPoS).