Blockchain, the underlying technology of cryptocurrencies like Bitcoin, could be on its way out.
It is blockchain technology that makes virtual currencies resilient to official scrutiny, enabling individuals and groups to maintain financial anonymity, to avoid taxes, and to trade in illicit commodities. However, the biggest threat to blockchain could come not from regulators looking to gain back control, but from hashgraph, a data structure based on Swirlds algorithm.
This new consensus algorithm is also a Distributed Ledger Technology with its peer-to-peer architecture, but it rectifies the genetic flaws of its older sibling blockchain, such as latency, energy wastage, expense, and proof-of-work.
Hashgraph was developed by Leemon Baird in 2016. Hedera Hashgraph, the start-up founded by Baird, claims that hashgraph offers “consensus time-stamping” while retaining the functionality of blockchain, making it a more reliable algorithm that can process upwards of 2,50,000 transactions per second. This is in stark contrast to blockchain, which is limited to around three to seven transactions per second.
Unlike blockchain, which is a data structure organised into a series of interconnected blocks, hashgraph comprises of a chain of events. A block consists of a timestamp, the transactions pertaining to it, the hash of the block, and its predecessor.
In mathematics, a hash function is one that maps data of arbitrary size into a fixed size. For instance, a hash function can take data comprising of say, n characters and return its hash value which may be say, 256 characters. To retrieve the original data which comprises of n characters, processors will have to consult a data structure called the hash table pertaining to that function. Since the algorithm is based on randomness, the time taken to decrypt the hash function is long. Moreover, the hash function consists of multiple rounds, adding to the complexity.
In hashgraphs, data is organised into events, with each instance containing the transactions associated with its timestamp, and the hash of both the parent events that created it.
While a blockchain is a sequential data structure, hashgraphs are more loosely organised into a network comprising of events created by nodes of the network, which communicate the current state of information. Both are DLTs but the difference lies in the fact that in a blockchain, the node which is the fastest to solve the hash value pertaining to a transaction is allowed to add to the block and claim its reward in Bitcoin or the currency which is used for the transaction.
One commonality between both blockchain and hashgraph in how they propagate information in a network is that they rely on the gossip protocol. This implies that a node in the network conveys information regarding transactions to its neighbours, sending the hash codes associated with transactions to all nodes in the network. Thereafter it becomes a race between the nodes to solve the complex mathematical problem, with the victorious node pocketing a share of the currency.
This is called proof-of-work. After the winner communicates to its neighbours about its success, the other nodes have to cease processing the hash for that transaction, and move on to the next. Before a block is added to the chain, the veracity of the winning node’s claim has to be checked to avoid the insertion of fraud blocks and duplicates.
Hashgraph uses a consensus protocol that uses gossip history to create a directed graph. For instance, when Alice receives gossip from Bob regarding all transaction history he knows, she creates an event (red) which contains a hash of the two parent events – light blue from Bob and dark blue representing its self-parent from the previous round.
Consensus does not require polling since each member node has a copy of the hashgraph. The order of the messages can be determined from the timestamp, enabling consensus. According to the protocol, if there are n members (n > 1), any event can repudiate its truthfulness if it can bee seen by 2n/3 events of other members. In the figure, there are n = 5 members, so the least integer greater than 2n/3 is 4.
If all four members (denoted as orange nodes) can be directly linked to an event w (marked yellow), it indicates that there is a consensus among the members. Hence, the algorithm can iron out trust between participating members when there is a trust deficit. This makes it exponentially faster than blockchain.
In a blockchain, if two miners create two contesting blocks, the proof-of-work is scrutinised and one block is discarded. This can be compared to a tree whose branches are pruned and only the trunk advances upwards.
Contrastingly, hashgraphs retain all the containers (events) and they are utilised in arriving at a consensus. Blockchains cannot withstand the swift sprouting of new branches since only one branch can add to the growth of the block. Hence it needs proof-of-work or some other mechanism to artificially slow down the growth, leading to latency in authenticating transactions.
Pros and cons of hashgraph
Fairness – In blockchain, the order of transactions is dependent on the order in which miners process information and add to the block. It is vulnerable to forking and delay depending on the whims of miners who can manipulate the order in which transactions are added to the block. However, since hashgraph is based on consensus, it is faster and the ordering of transactions is chronological depending on the timestamp.
Speed – Hashgraphs are limited only by bandwidth. All member nodes are connected to the network and the distributed ledger is updated simultaneously. If the member with the slowest broadband connection can download information regarding 5,000 transactions per second, the system can process and validate transactions at that speed.
Provable – Once an event occurs, it is known to all members since it propagates through the network. Events created by other members can incorporate the effects of neighbouring events’ gossip regarding the order of transactions before accepting or repudiating it while moving to the next round. As the graph progresses, only the outermost events hold transaction information, freeing up space from earlier events. It is estimated that the amount of storage required to maintain live ledgers for hashgraph would use less than a gigabyte (GB) of space, as compared to the 60GB required for running the blockchain software.
Byzantine – This term means that no single member can hold up the community from reaching a consensus. It also prohibits consensus from being disturbed. The biggest advantage that hashgraph has over blockchain is that it guarantees Byzantine agreement. The blockchain architecture is organised in such a way that miners are pigeonholed into boxes, and the advancement of the block is dependent on the computing power of participating nodes. In such a scenario, miners can exploit their hardware superiority to guide or stall the progress of the block.
Non-permissioned – Both blockchain and hashgraph are open source, but only blockchain is open system. A non-permissioned system is one where only trusted members can participate. Hashgraph avoids the time and computing power required for proof-of-work by ensuring that only trusted members are allowed into the network. While it is resistant to Denial of Service (DoS) attacks and other divergent behaviour on the part of participating members, hashgraph sacrifices on the openness front.
Upcoming cryptocurrencies based on hashgraph will have to register with Hedera Hashgraph and also request tokens for vendors that accept virtual currencies running the hashgraph algorithm. While it is a more robust version of blockchain that will give regulators reason to cheer since it comes under the ambit of a registered entity, it remains to be seen whether the operational advantages of hashgraph will trump its non-permissioned environment which might keep away commerce in the underground economy.