Fixing the Unintended Consequences of Blockchain
Blockchain is an exciting technology development that enables people and businesses to run applications that traditionally require high amounts of trust between participating parties. With that said, there are several challenges that will continue to slow enterprise adoption of blockchain. One particular challenge stands out and this blog entry discusses how VMware’s blockchain solution can help address that challenge.
The Challenge With The Consensus Algorithm
A consensus algorithm is one of the core components of blockchain. Applications running on top of blockchain define what constitutes valid transactions and what data is written into blocks that are appended to the chain. The consensus algorithm is the process of several nodes validating and ensuring that transacted data is recorded correctly into a block and replicated to other participating nodes. Consensus is the critical detail that enables decentralized trust in applications built on top of blockchain.
There are many types of consensus algorithms. For Bitcoin and Ethereum, the type of consensus algorithm used is called proof-of-work (PoW), and intentionally uses computationally difficult methods to come to consensus, while other nodes can easily validate a correct solution. The process of solving computationally difficult puzzles to add a block to the chain is often called mining. The intent is to make it difficult to make changes to the existing blocks or for one entity to add malicious blocks against the will of the other members of the blockchain. A benefit of PoW is that it allows for the creation of new currency as a reward for performing the mining, while preventing double spends.
However, this reliance on solving computationally difficult problems has drawbacks. For example, the amount of energy consumed in mining for Bitcoin, requires a vast amount of power. According to one source, only 38 countries use more energy than Bitcoin mining. One source claims a single transaction uses the equivalent power to the usage of an average American household for almost 21 days. While a number of critics don’t agree on specific numbers, the energy used to mine Bitcoin today does have an impact on energy consumption.
If we care about environmental impact due to energy production, the PoW algorithms specific to Bitcoin and Ethereum need to improve. The underlying technology, if used correctly, has a huge amount of promise. That’s why at VMware we have had a number of researchers looking at this problem for years that have created an enterprise distributed ledger that is also good for the environment.
What Can We Do
So, the benefits of blockchain technology are great, but not worth damaging our climate. What can we do to reduce power consumption, yet keep the aspects of trust given by proof-of-work consensus? VMware’s blockchain solution addresses this in two ways in the core of the offering.
First, VMware has researched and implemented Scalable Byzantine Fault Tolerance (SBFT), an improved consensus algorithm that vastly improves power consumption and transaction rate. For our purposes, we can say that SBFT has many of the same benefits as PoW algorithms without the same level of compute burden. If you would like more details on the protocol, please refer to the whitepaper on SBFT. Project Concord is an open source implementation of that protocol that provides the basis for VMware’s blockchain solution.
Secondly, we have made the consensus layer modular and separate from executable smart contract layer, thus allowing us to replace PoW consensus with the SBFT consensus. Smart contracts are programs defined using code that is executed on the nodes of the blockchain network similar to what we expect from contract law. For example, if you wanted to sell an electronic book you wrote for $10, a potential smart contract may wait for buyers to “offer” $10, and then it would make sure both parties had the right assets and then it might also handle the asset transfer. You get $10 and the buyer gets a digital copy of the book.
In a blockchain, the set of transactions that move the assets back and forth are stored on the chain as data. That is also where the smart contract checks to see if both parties have the assets to offer. This is not a novel idea, as outlined by a 2018 US Senate report, which says, ” …the concept is rooted in basic contract law … With smart contracts, a program enforces the contract built into the code.”
Many blockchain implementations tie the smart contract language to the consensus algorithm. In the case of VMware Blockchain, we can layer a number of smart contact languages including DAML and Ethereum’s Solidity on top of our consensus protocol. This allows the community to write applications in the programming language they are comfortable with or that which is best for their application while still using a responsible and scalable consensus algorithm.
Blockchain holds a significant promise of bringing trust into our computing, but the technology is still young enough to have growing pains. VMware has vast experience with enterprise requirements and has been investing in research and development of blockchain solutions. We believe in engineering for good, have a vested interest in protecting our climate and will continue to improve technology for the world.
Tom Scanlan is an architect responsible for researching and applying emerging technologies to business problems. He has been in the technology industry for roughly 20 years, starting in systems and network engineering role. Tom soon found a passion for automating everything, which led him into software engineering, where the bulk of his career has been spent in DevOps type roles.
Anoop Jalan (@ajalan) is an SE and Blockchain SME responsible for helping customers drive business value from their VMware partnership. He has more than 20 years of IT experience during which he started on the help desk at a Fortune 500 and has grown to become a developer, consultant, architect, trainer, TAM, and a number of other roles.