February 2020

Hedera Hashgraph

arrow pointi
In 2016, Leemon Baird, a PhD in Computer Science from Carnegie Mellon, released a paper describing the hashgraph consensus algorithm. This novel algorithm formed the basis of what would become Hedera Hashgraph, a new type of distributed ledger system.

In 2016, Leemon Baird, a PhD in Computer Science from Carnegie Mellon, released a paper describing the hashgraph consensus algorithm. This novel algorithm formed the basis of what would become Hedera Hashgraph, a new type of distributed ledger system. In 2017, Leemon assembled a team to work on building this system, with CMCC Global`s funds making an investment into Hedera in early 2018. After two years of engineering, the network was publicly launched in September 2019 with network operators including Boeing and Deutsche Telekom. In February 2020, the network received renewed interest after it was announced that Google would also be joining the Hedera Governing Council. This month we will explore how Hedera Hashgraph works, what the role of the Governing Council is and what early use cases we are seeing run on the network.


The technical architecture of Hashgraph differs from traditional blockchains. Blockchains are made up from records of transactions which are cryptographically sealed inside blocks. Each block makes a reference to the unique hash of the block that precedes it. This forms a single chain of sequential transactions which are linked (or “chained”) together. At each link in the chain the miners which validate the network choose a block to continue, discarding alternatives. The result is a single, linear, and unbroken record of transactions which is accepted by every node in the network. Since transactions need to occur in a sequential order, scaling blockchains can be challenging. Scaling solutions at the base layer include increasing the speed at which blocks are produced, increasing the size of blocks or breaking the network up into different “shards”.


In contrast to the linear nature of the blockchain, Hashgraph makes use of a graph data structure, which is comprised of nodes connected by one or more edges. The main benefit of this design is that it does not rely on sequential ordering. Instead multiple transactions can be recorded simultaneously. This removes the bottleneck of blocks, as nodes can simply process and inform one another of transactions as they occur.


The hashgraph consensus algorithm provides near-perfect efficiency in bandwidth usage. As a result of this, it can process hundreds of thousands of transactions per second in a single shard (a fully connected network with no partitions). The algorithm utilizes a novel type of gossip protocol to achieve this. In a gossip protocol, the nodes of a network constantly communicate to each other about ongoing transactions. In hashgraph, nodes do not only gossip about transactions, but they also “gossip about gossip”. Every gossip message includes information about the previous gossip message, meaning that participants are able to assemble the history of gossip events. Participants can then analyse a shared history in order to determine a consensus timestamp for all transactions.


The gossip protocol that hashgraph uses is tied into another technical innovation known as “virtual voting”. This is the Byzantine agreement mechanism that the network uses in order to agree on transaction ordering. Every node on the network wants to know what order transactions were received in, but simply allowing nodes to report on transaction timing is a security risk. The way that virtual voting solves this is by not allowing node A to describe transaction ordering to node B. Instead, node B calculates what ordering node A should have, based on node B’s knowledge of what node A knows, and when node A learned it, according to the hashgraph. This yields fair Byzantine agreement on a total order for all transactions, with very little communication overhead beyond the transactions themselves.


While the design of hashgraph would allow it to operate as a fully decentralized system, the team has opted to start with the network being run only by trusted nodes and governed by the Hedera Governing Council. The Council sets the network rules, manages the platform’s treasury of coins, and approves changes to the platform codebase. As a result of this structure, there is no risk of a fork taking place on Hedera.


The Hedera Governing Council is a rotating group of up to 39 enterprises across multiple industries and geographies. All members have a 3-year maximum term, with up to 2 consecutive terms, and an equal vote on network and platform decisions. Council members run the initial set of nodes, but it is planned that over time the platform will be opened up, allowing for more decentralized operation and governance of the network. Most recently, Google was announced as the newest member of the council, with the tech giant running its network node on the Google Cloud Platform (GCP). The high profile of the members of the Hedera Governing Council point to the quality of the underlying technology and the potential of the platform.


While Hedera has only been live for 7 months, it has already handled over 36 million transactions. The network is being tested for a variety of use cases, including the tracking of Coronavirus. Acoer, a blockchain development company, has created a dashboard that provides daily tracking and visualizations of the outbreak. By using Hedera, the integrity of the data can be verified in real time. Each transaction is recorded through a verified hash reference on Hedera’s ledger, meaning epidemiologists can track the source of every data entry and can audit the data’s legitimacy. Other use cases include providing a reliable source of transaction and account data for financial auditors and the tokenization of USD2.2bn of real estate.


We are excited by the recent progress that Hedera Hashgraph has made. While the network is still very young, it has garnered significant interest from large enterprises and is well positioned to become the leading blockchain for enterprise use cases.

blocks