Blockchain technology creates digital ledgers that record sequential exchanges of information, commonly called transactions. To improve performance, transactions are batched into blocks before they are added to the ledger. Each new block contains a hash value which, like a mugshot, acts as an identifier and proof of the previous state of the ledger. These hashes chain the blocks together in a unique and verifiable order, giving the technology its name.
Not only are changes to data in the blockchain easily detectable, the ledger is also replicated in a decentralized network of servers, making it virtually impossible to tamper with the blockchain everywhere at the same time. These two characteristics make the blockchain effectively immutable, because at any moment at least one server in the system will verifiably hold the correct state of the ledger.
And it is precisely for this reason — its immutability — that the potential for blockchain is enormous. Such digital ledgers are desirable in a wide range of applications, from managing records in healthcare or international shipping to securing contracts that normally would require a trusted third-party to creating unforgeable currencies and exchanges.
“An immutable ledger is valuable for many reasons, especially for a consortium of entities that want to collaborate with each other,” said Srinivasan Keshav, a professor in the Cheriton School of Computer Science who has assembled 17 faculty members across campus into the Sirius research group to study the foundations of blockchain technology and explore its applications to energy, finance, accounting and health.
“The key idea behind the work that led to blockchain is the notion that a group of people who don’t know each other and who don’t necessarily trust each other can still agree on an ordered set of transactions to be put into a block. The technology ensures that this transaction set becomes immutable — something that cannot be tampered with,” Professor Keshav said.
Despite its promise, some significant issues — most notably its low throughput — have to be addressed before blockchain is widely adopted. Permissionless blockchains, where anybody can participate anonymously in the network, can process only tens to low hundreds of transactions per second because they require what’s known as proof of work.
“Proof of work — typically, computing cryptographic hashes — is very much like looking for a needle in a haystack, where you have to look at each straw one by one until you find the needle, and you can’t do anything but look at each straw one by one,” Professor Keshav explained.
In contrast, permissioned blockchains — a kind of blockchain in which the identities of the participating entities are known — make proof of work unnecessary. However, permissioned blockchains still have to deal with other performance-degrading issues. For example, they must ensure that when transactions trigger complicated computations, the results are the same on all replicating machines. Furthermore, while traditional database systems were optimized over several decades, blockchain is a relatively new technology and research interest in optimization is only now picking up.
To this end, computer science PhD candidate Christian Gorenflo, Professor Keshav and Professor Lukasz Golab from Engineering’s Department of Management Sciences and their colleague PhD candidate Stephen Lee from the University of Massachusetts have been working to reduce this performance gap compared to traditional database systems. They modified the Hyperledger Fabric open source project, which is part of the Linux Foundation and backed by IBM, to find new ways to speed up this permissioned blockchain system.
More than 500 applications based on Hyperledger Fabric are at various stages of deployment around the world — everything from securing land registries to tracking diamond shipments to tracing provenance of agricultural products. Among the most well-known applications of Hyperledger Fabric is IBM’s Food Trust, which uses the blockchain to make food supply chains safer and more sustainable.
“Say you have a batch of lettuce that has been contaminated,” Professor Keshav explains. “Instead of having to wastefully destroy all of the lettuce in the food chain, by using blockchain you can determine where the contaminated batches are or trace the contaminated lettuce to a particular farm.”
“This is a good example of why we want an immutable ledger, rather than a regular database, to store such records,” Professor Golab added. “In this kind of distribution system, we need both auditability and verifiability of records, properties that a blockchain satisfies.”
Although Hyperledger Fabric is fast relative to permissionless blockchains, its current release is limited to about 3,000 transactions per second, which is not fast enough for many industries. For example, during peak times, the financial services company Visa processes more than 50,000 transactions per second.
“We rewrote parts of Fabric’s source code using optimization techniques known from traditional database systems such as aggressive caching and efficient data structures to make the blockchain faster,” Christian Gorenflo said.
“With our work, we’ve increased Hyperledger Fabric’s throughput by almost seven-fold, from 3,000 to 20,000 transactions per second. Best of all, our modifications are completely under-the-hood. Fabric’s APIs and modularity stay intact, so existing applications work just as before. Hyperledger Fabric has many applications. Our goal was to accelerate them all by accelerating the engine underneath it.”
“Increasing transactions to 20,000 per second is a good start, but we would like take Hyperledger Fabric even further,” Professor Keshav adds. In their paper, the team has outlined directions for future work.
“We are talking with major Fabric contributors at IBM who are keen to adopt our optimizations in the upcoming official releases and the reception by industry has been very positive,” Professor Golab said.
To learn more about this research, please see FastFabric: Scaling Hyperledger Fabric to 20,000 Transactions per Second, authored by Christian Gorenflo, Stephen Lee, Lukasz Golab and Srinivasan Keshav. This paper will be presented the 2019 IEEE International Conference on Blockchain and Cryptocurrency, in Seoul, South Korea on May 15, 2019.