What is a Consensus Protocol?
For thousands of years human societies have had consensus protocols running implicitly, allowing for shared transactions, economies, and more. Consensus protocols are the rules that allow a group of computers to agree on the state of something. This is what makes a decentralized system “distributed.” Properly functioning consensus algorithms are imperative to a robust and secure network as they are responsible for maintaining the integrity and security of these distributed systems.
Today, more and more blockchains are being created with various new consensus offerings. Many solutions have innovated greatly on the legacy Nakamoto consensus and recently, we see even more projects place a large emphasis on consensus protocols that optimize performance, namely the “TPS” or “transactions per second” game.
The Truth About Consensus Protocols
In a space engulfed with shilling which next new fangled protocol will give 100,000 TPS, most, if not all, even claim to solve the scalability trilemma. What many fail to understand is that in the end, consensus protocols aren’t really going to matter.
While distributed consensus is imperative to a fully functioning decentralized system, consensus protocols are only one side of the story. Those that are trying to build on blockchain don’t need a new criteria for safety or liveness. In actuality, all they want from consensus are a few basic things — did my transaction go through? Can it be reversed? Are my interactions with the blockchain secure? How much did it cost?
Builders need usability, great tooling, and in-built mechanisms that will scale as they scale. We preach end-user “mass adoption” as an industry, but we fail to first look at how we can improve the experience of our own product developers.
Blockchain Has Work to Do
Thanks to thousands of developers, academics, entrepreneurs, investors, and everyday enthusiasts, our technology has come a long way. While we see strong hypotheses around what potential end-users may want, it’s time for solutions to bridge the gap between the theoretical and the tangible and build platforms that deliver frictionless developer user experiences. The faster we can accelerate these development experiences, the faster we can achieve blockchain-market fit. This is how we challenge the status quo.
How are new networks actually going to be built on top of a protocol? Do developers have to learn a new obscure custom language? How are we enabling our builders with easy testing mechanisms? Do these users need to run a node in their own CI setup? How do we optimize for best practices drilled into our heads by our DevOps and SRE teams?
These are only a few of the many questions that has driven what we have built at CasperLabs. Blockchain doesn’t need a new cool consensus algorithm that will scale, blockchain needs software that developers can use in a professional development environment with languages that already exist in the marketplace and tools they are familiar with.
Flexibility and a strong user experience are the two most enduring reasons for making product choices. Nodes should be automatically SRE and DevOps ready. Imagine handing over a blockchain node to your Network Operations group and telling them “make sure it stays up in production.” It just wouldn’t work. Our industry needs easy to use tools for validators, dApp developers, and end users. As all these user’s capabilities grow, so does blockchain’s viability for business.
Ultimately, a new consensus protocol is not the panacea to more adoption, but it is a useful tool when the overhead is justified by the system’s needs. A good place to start is by thinking through many of the inefficiencies our developers face today and removing those barriers so that our builders can create applications faster, in a more robust manner, and most importantly, at scale. In the end, the consensus protocol won’t really matter much — it’s everything else that matters the most.