A walk through the evolution of DLTs: From Blockchain to Hashgraph and Tangle
APRIL 2018 : micobo Technology Comparison
“Data is the new oil” -CBC News.
The demand for storing and analysing data has been increasing. Data was initially stored in individual ledgers with each party entering the transaction details into their individual ledger. An error in data input from one of the parties led to dispute and the validation of correctness was extremely difficult due to unavailability of an external copy of the transaction. This led to centralisation of data storage where a trusted third party maintained a ledger with all transactions and acted as a mediator during disputes. The centralisation of data storage led to latency and provided with a centralised point of attack for malicious users. The above short comings of data storage led to the development of Distributed Ledger Technologies (DLTs).
“A distributed ledger is a database that is consensually shared and synchronized across network spread across multiple sites, institutions or geographies. It allows transactions to have public “witnesses,” thereby making a cyberattack more difficult. The participant at each node of the network can access the recordings shared across that network and can own an identical copy of it. Further, any changes or additions made to the ledger are reflected and copied to all participants in a matter of seconds or minutes.” -Investopedia
Distributed Ledger Technologies solved the problems of having a centralised point of attack, but they were initially incapable of checking duplication of transactions (double spending) till Satoshi Nakamoto founded the DLT known as Blockchain. Blockchain, a DLT based on Proof-of-work (PoW) consensus algorithm, has become the foundation of several advanced DLT technologies such as Hashgraph and Tangle.
The purpose of this paper is to introduce the three different Distributed Ledger Technologies: Blockchain, Hashgraph and Tangle, give an understanding of how each of the three DLTs operate and how the newer DLTs (Hashgraph and Tangle) are tackling challenges faced by Blockchain. Each section deals with the individual technology, their architecture, consensus algorithm and finally discusses the limitations in case of Blockchain or the differences that help in tackle the Blockchain limitations in case of Hashgraph and Tangle.
The formation of Blockchain was to allow users to make payments among themselves without the involvement of a mediator, thus eliminating mediation costs. This is done by a peer-to-peer distributed timestamped server to generate computational proof of the chronological order of a transaction. The system security is based on the assumption that honest nodes collectively control more CPU power than any cooperating group of attacker nodes.
The name blockchain represents the architecture of the technology where a group of blocks are connected together to form a chain. A block is a set of valid transactions grouped together. These blocks are hashed and encoded into a Merkle tree. Thus, each block includes a cryptographic hash of the prior block which links the two. With each new block, the link grows forming the chain.
A genesis block is the first block of the blockchain. The main chain of the blockchain always refers back to the genesis block. The genesis block is almost always hardcoded into the software of the application that utilises its blockchain.
The first Proof-of-Concept (PoC) of blockchain was Bitcoin. In Blockchain, a bitcoin is a chain of digital signatures. A payer transfers the coin to a payee by digitally signing a hash of the previous transaction and the public key of the payee (hashing the public key gives the address of the payee) and adds this to the end of the coin. To prevent double spending by the payer, the Blockchain technology incorporates a timestamp server. The server takes the hash of a block of items, timestamps it and publishes the hash widely. The timestamp proves that the data has existed in that time. Each timestamp includes the previous timestamp forming a chain.
Each block in Blockchain is composed of multiple transactions which are time stamped and each transaction contains the digital signature of the payer and the public key of the payee along with the transaction hash.
When a new transaction is made, it is broad-casted to all nodes. Each of the nodes collects transactions and forms a block. The nodes work on finding a Proof-of-work (PoW involves scanning the block for a value that, when hashed, the hash begins with a fixed number of zero bits) for its block. When the PoW for a block is found by the node, the node broadcasts the block to all other nodes. The nodes accept the transaction if ALL the transactions in the block are valid and not duplicate. The block does not require validation from all the nodes but the majority of the nodes. Once the majority accepts the transaction, the block gets added to the main chain and the nodes start working on the new block by using the hash of the accepted block as the previous hash.
· The major assumption in Blockchain is that honest nodes will have more CPU operating power that a group of attackers. If the group of attackers can assimilate more CPU power than the honest nodes, they can defraud people.
· Each node assimilates transactions till a block is formed, and then finds a PoW for the block. Finally, this block goes to the other nodes for verification. This creates a latency between the creation of the transaction and verification depending on the number of open transactions and the operating power of the nodes.
· All the nodes involved in the creation and verification of blocks are incentivised. The user generating the transfer request has to pay a transfer fee to compensate for the time and energy usage of the nodes making transaction of small amounts extremely expensive.
The hashgraph decentralised public ledger is governed by the Hedera Hashgraph Council. Hashgraph is trying to tackle the obstacles of Performance, Security, Governance, Stability and introducing regulatory compliance to make it a better alternative than the existing Blockchain. Hashgraph provides near efficiency in bandwidth and uses the asynchronous Byzantine Fault Tolerance (aBFT) for consensus to maintain high security standards.
The Hashgraph core is based on Java. Thus, implementing smart contracts and decentralised application are coded using Java.
Hashgraph’s Hedera implementation has introduced cryptocurrencies for making payments and paying fees for using the platform.
A blockchain composes a tree structure. The central chain is the stem and there are branches of nodes diverging out of it. To keep the branches from growing out of control, they are pruned in Blockchain. In contrast, Hashgraph prunes the new growth, weaving back the node into the main chain.
The file system of Hasgraph allows users to save information with consensus on exactly what is stored and what is not to be stored. A file should be accessed by its hash and it would also have a File ID. Files in Hashgraph are stored in Merkel trees but Java classes are provided for developers to manipulate them.
The nodes take transactions from users are share them throughout the network using a gossip protocol. Once the transaction is spread to all nodes, the nodes run the hashgraph consensus algorithm to reach agreement on a consensus timestamp and order in history for each transaction. Each node then applies the affects of the transaction in consensus to modify its copy of the shared state.
As mentioned above, Hashgraph uses the aBFT consensus mechanism. This means that no single member can prevent the community from reaching a consensus nor can they change the consensus once they have been reached. In Hashgraph, consensus will be achieved even if malicious actors can control and delete or slow down messages of their choosing. The assumption made is that more than two-third of the nodes are honest and that if messages are repeatedly sent from one node to another over the internet, one will get through eventually followed by another one, and so on.
Comparison with Blockchain
· By discarding the Proof-of-Work consensus algorithm, hashgraph has increased efficiency in terms of bandwidth requirement and hardware cost. Individuals can run readily available, cost-effective hardware and the amount of bandwidth required is merely to inform all nodes of the transaction. This also reduces the latency between transaction and approval.
· The gossip mechanism is faster and cheaper than PoW but both follow the similar assumption, a malicious group cannot attack more than one-third of the nodes at once. If a malicious attacker with enough CPU power blocks more than one-third of the nodes in the network, it can disrupt the network.
The Tangle is the Distributed Ledger Technology for the Internet-of-Things (IoT) and offers features that are required to establish a machine-to-machine micro-payment system. The cryptocurrency is known as IOTA.
Micro-payments are a major hassle in Blockchain due to the high transaction fee and PoW consensus mechanism. Tangle tries and solves this issue by eliminating the discrimination between issuers and approvers.
Tangle has incorporated the directed acyclic graph (DAG) structure for storing transactions. When a new transaction arrives, it approves two previous transactions (the two previous transactions are selected based on an algorithm). If a transaction A approves another transaction B, it signifies A has directly approved B. In a scenario where A directly approves B and B directly approves C, then A indirectly approves C.
In order to issue a transaction, the node chooses two other transactions to approve according to an algorithm. Then they check if the two transactions are not conflicting. If they are, the node does not approve the conflicting transaction. For a node to issue a valid transaction, it must solve a cryptographic puzzle similar to Bitcoin blockchain.
Each transaction in IOTA has a weight of 3n, where n is a positive integer. A transaction with a larger weight is more important than a transaction with smaller weight. The cumulative weight of a transaction is defined as the weight of the transaction plus the sum of the weights of all transactions it directly or indirectly approves.
A transaction in Tangle contains the Bundle hash. All individual transactions that make up the complete transaction has the same Bundle hash. All transactions other than the tips contain a branch hash. Along with that, they contain the trunk hash that connects the transaction to the next one in the bundle. Finally, all transactions contain their individual transaction hash.
Comparison with Blockchain
· The architecture of Tangle is different from Blockchain. Blockchain has a global distributed structure where the nodes maintain a copy of the Ledger. In Tangle, data is stored in a DAG.
· In Tangle, the transactions are approved directly by new transactions and do not have to wait to be put into a block. This decreases the latency between initiation and transaction.
· There is no separate entity for validating the transactions. For a new transaction to occur, it has to validate two other transactions hence removing the concept of monetary incentive and hence reducing the transaction fee drastically hence enabling micro-transactions in the system.
Since the formation of Blockchain in 2008, the world of Distributed Ledger Technologies are growing at a rapid pace with new technologies providing solutions to the existing issues of their older counterpart. Tangle and Hasgraph are two such new technologies tackling the issues of high transaction costs and high latency that is present in Blockchain.
Shourya Shirsha Nandi is a FinTech Analyst for micobo GmbH. You can contact him via e-mail (firstname.lastname@example.org).