A-Z Index | Directory | Careers

Berkeley Lab Researchers Contribute to Making Blockchains Even More Robust

Hyperledger Iroha project notes that this work heavily inspired their protocol

January 30, 2018

By Linda Vu
Contact: cscomms@lbl.gov

Sean Peisert and Hein Meling

Sean Peisert (left) and Hein Meling (right) at Berkeley Lab. (Photo by Marilyn Chung)

Blockchain—a technology used for verifying and recording digital transactions—blasted into public consciousness with the rise of Bitcoin. But this tool could also transform the way governments, global industries and even science research operate. In fact, several banks, corporations, governments and scientists have already implemented some form of blockchain to inexpensively, securely and expediently store and share information.

In the last few years, researchers at Lawrence Berkeley National Laboratory (Berkeley Lab), University of California at Davis (UC Davis) and University of Stavanger in Norway have developed a new protocol, called BChain, which makes blockchain even more robust. A paper describing BChain was published in the Proceedings of the 18th International Conference on Principles of Distributed Systems.  The researchers are also working with colleagues at Berkeley Lab and beyond to adapt this tool to support applications that are of strategic importance to the Department of Energy’s (DOE) Office of Science. 

So what is a blockchain? It is essentially a fault-tolerant, decentralized collection of records, or blocks, that are connected and secured by cryptography. Instead of one organization managing all of this information, blockchains store data via a network of personal computers. Each block contains a timestamp and a link to a previous block, which forms a chronological chain. In the case of Bitcoin, whenever a new block is added to the chain, computers will automatically verify whether the previous transactions actually occurred, down to the original block. Any new block that looks different from the other, potentially created by someone aiming to cheat the system, is thrown out. And while users can see and add information to the blocks, they cannot modify the information that’s already there, which ensures transparency.

In most cases, blockchains rely on Byzantine fault-tolerant strategies to protect it from arbitrary failures. This is typically achieved through replicating servers and a replication protocol that requires all commands to be ordered before they are processed. Because all servers running the protocol must agree on the order of commands, this protocol is often referred to as a “consensus protocol,” and it generally comes in two forms. The classical approach uses “broadcasting” where a server sends messages to all of its replicas; the other approach is “chain replication” where servers send messages to each other along a chain, similar to a game of telephone.  

“Chain replication is a viable security solution as long as you can trust the leader—the server at the head of the chain—to behave correctly. However, if the leader cannot be trusted, all kinds of bad things can happen. The leader can delay or drop messages at will, leading to poor throughput, or it can send different messages to different servers, leading to inconsistent data on the different servers,” says Sean Peisert, a Berkeley Lab computer scientist, an adjunct associate professor at UC Davis and one of the paper’s co-authors.

 “The main novelty of our BChain protocol was to significantly reduce the impact that a misbehaving server, especially the leader, can have on the system. This was accomplished by making the other servers in the chain monitor each other, and if misbehavior is detected, the suspected server can be moved to the end of the chain, where it won’t have any impact,” he adds.

Unlike the public blockchain employed by Bitcoin transactions, BChain is a private blockchain. The main difference between the two is who can participate. Anyone can join a public blockchain, whereas a private blockchain requires an invitation to join and validation by either the network starter or a set of rules put in place by the originator. 

One main disadvantage to a public blockchain is the substantial amount of computational resources required to verify and record transactions at a large scale.  To achieve a consensus, each node on the network must solve a complex, computationally expensive, cryptographic problem, called proof of work, to ensure that everyone is in sync. Additionally, all transactions are recorded on a public ledger. 

In contrast, a private blockchain essentially leverages the same tamper-resistance and Byzantine fault-tolerant properties of the public chain without requiring the brute-force solving of a computationally hard problem each time new data is added because the ability to write to the blockchain is based on pre-determined access control permissions. More importantly, transaction records are only available to a small group of invited members, which is why financial and medical industries, as well as science research, tend to favor the private blockchain.   

“A private blockchain represents a more suitable approach for tracking data integrity over time,” says Hein Meling, a computer science professor at the University of Stavanger and co-author of the paper. “This can apply to the integrity of raw data or the integrity of events such as a record of who viewed or modified the data. In the case of science research, this tracking can be extremely valuable for reproducibility and transparency.”

 Since the first blockchain was conceptualized in 2009, primarily to power Bitcoin, Meling notes that that numerous other applications have been inspired by its potential. In fact, the Linux Foundation is currently hosting an open-source collaboration called Hyperledger to develop blockchain technologies that will be useful for a variety of applications in healthcare, finance, supply chain and science research, among others. One of the Hyperledger’s private blockchain offerings—a tool called Hyperledger Iroha—utilizes BChain’s fault tolerant consensus algorithm in its underlying protocol. The Iroha team details the BChain connection in its development documents.

“While blockchain technologies have received considerable attention, considerable promise remains. And the contributions of Berkeley Lab researchers continue to pave the way to help enable the full potential of this technology,” says Peisert.

He notes that researchers at Berkeley Lab are currently exploring applications for blockchain areas that are strategically important for DOE, like tracking data used in scientific research, or tracking energy generation and consumption on the U.S. power grid. 

“As more and more people install rooftop solar panels on their homes and businesses, we will need to have a provable mechanism to track how much energy people are generating and consuming so that nobody can lie about their use. Blockchain could be a part of a solution for this problem,” adds Peisert who is working with researchers in Berkeley Lab’s Computational Research Division to explore this possibility.

In addition to Peisert and Meling, two former UC Davis graduate students Sisi Duan and Haibin Zhang also contributed to the development of BChain. Both are now faculty members at the University of Maryland, Baltimore County. In addition to his roles at Berkeley Lab and UC Davis, Peisert is also director of the CENIC/ESnet Joint Cybersecurity Initiative.

BChain was developed with funding from the National Science Foundation and the Research Council of Norway. 


About Computing Sciences at Berkeley Lab

High performance computing plays a critical role in scientific discovery. Researchers increasingly rely on advances in computer science, mathematics, computational science, data science, and large-scale computing and networking to increase our understanding of ourselves, our planet, and our universe. Berkeley Lab’s Computing Sciences Area researches, develops, and deploys new foundations, tools, and technologies to meet these needs and to advance research across a broad range of scientific disciplines.