- Toshendra Kumar Sharma
- August 13, 2019
As we all know, blockchain is a decentralized digital ledger which operates on a peer-to-peer network where each participant on the network has access to the data stored on the blockchain and that data stored on the blockchain is immutable (tamper-proof). Blockchain has gained immense popularity for its ability to store and manage transactions in a secure and transparent environment by eliminating the need for a central entity.
Many of us would be of the opinion that blockchain is the only technology which helps in data processing and storage. But there is another exciting concept which is completely transforming the playing field for the better through its capabilities and it is called ‘Hashgraph.’ Let us now delve deeper to gain a better and deeper understanding.
So, What is Hashgraph?
Hashgraph is a data structure and a consensus system developed by Leemon Baird, the CTO and Co-founder of Swirlds. As Leemon Baird once mentioned in an interview, Swirlds is a portmanteau of two words ‘Shared Worlds.’ It is a distributed ledger technology which provides a different approach in solving the decentralized solution. It is a patented technology which can be understood as an improvised version of DLT as it uses hashing to offer security, decentralization, and distribution.
Hashgraph does not have an issue with speed as it is capable of processing thousands of transactions per second. According to the hashgraph whitepaper which was released on May 2016, Hashgraph describes itself as a consensus algorithm or a system and not as being a DLT. The reason for this is because it can be seen as a low-level building block.
Hashgraph opens new avenues for solving complex problems. However, it can never be made open to the public as it is a property of Swirlds Inc. Hence, it is available in a private and permissioned setting. While anyone can join Bitcoin, Ethereum, and other public blockchains as a node, each node on the hashgraph is approved by the network administrator. Unlike in a blockchain, the number of nodes on the hashgraph is known by the network. Hence, the identity of each node is known and can be trusted. That is why hashgraph has the added advantage of being faster than a blockchain.
Hashgraph is not an entirely closed ecosystem. It offers an SDK Library, which makes it easier for anyone who wants to experiment with its consensus library. SDK is free to download and anyone can experiment with building applications on it. The SDK Library comprises of several simple demo apps, documentation for the platform, source code for the demo apps, and the guidelines and resources which help learn the art of building apps on it.
Features Of Hashgraph
Secure – It allows for the secure handling of transactions and ensures that events are correctly covered. Hashgraph gives importance to the order. It makes sure that no malicious actor fiddles with the data accuracy or the order of the events. This protects the network from double-spending and the 51% attack. It uses resistant hash function and digital signatures. It uses ABFT (Asynchronous Byzantine Fault Tolerant). A transaction once committed, cannot be modified or reversed.
Fair – It offers fairness to all the nodes in the network as an attacker will not know the two new transactions which will be going to the consensus order. Hashgraph mining is not required for the nodes.
Fast- Hashgraph’s Gossip Protocol is considered fairly fast. The events spread across the network in a fast manner, considering that it is all about ‘Gossip-about-Gossip’ protocol. This also means that less information needs to be propagated over time. Virtual voting used in hashgraph increases its efficiency. It helps reach an agreement about the order of the transactions.
Programming Language
The core of hashgraph is written using the LISP and JAVA programming languages. It is also inclined towards JVM languages such as Java, and Scala with the use of the SDK library offered by Hashgraph. LISP is a high-level programming language which was invented by John McCarthy in 1958. It is suitable for artificial intelligence and any data science programs as it can effectively process symbolic information. It provides high-level debugging. It serves as a common language and can be extended for a specific implementation. It is machine-independent and provides a wide range of data types such as structures, lists, objects, hash-tables, etc.
Java is a general-purpose programming language. It is a computing platform which is fast, reliable, and secure. It is a secure platform for developing and running applications. It offers automatic memory management, which reduces memory corruption and vulnerabilities. It offers secure communication by protecting the privacy and integrity of the data, which is transmitted. Java offers the Java Virtual Machine (JVM) which uses the same code and works in exactly the same manner, thus making Java platform-independent.
Algorithms Used By Hashgraph
Gossip About Gossip
It is necessary for any node within a network to interact with each other. The Gossip over Gossip method operates on this premise. For a clear understanding, let’s assume five nodes, namely Alpha, Beta, Gamma, Charlie, and Bravo. Now, each node will start a transaction which will lead to an “event” within the network. During the event, each node calls two randomly designated nodes. The transaction details are shared with these randomly chosen nodes. We are not aware of which node will call the other as they are completely randomized. When the event ends, all nodes have called each other and have created a network where each node contains the hash of the previous block. Imagine a tree where the leaves are connected with each other. The way in which each node connects with each other is what makes hashgraph amazing.
Virtual Voting
It is used to reach a consensus to decide the order of the transactions. Virtual voting begins only when the nodes process a certain number of transactions. When virtual voting begins, each participant will look for that particular event which fits into the network. This is known as ‘famous witness.’ The chosen events have information about the old events which have been recorded by the nodes. If the new event matches with the old event, it is voted as ‘yes.’ Otherwise, it is voted as ‘no.’ This way, an event is able to get the most votes and become the famous witness. The transaction orders are then provided by the event.
Two key Properties Which Make Hashgraph Possible
- Round number- The round number helps in increasing the order.
- Binary value- This helps determine if a client has witnessed an event or not. This value will hold good for a particular round only.
The Vision Of Hashgraph
Hashgraph, which is developed by the software platform Swirlds, operates on the goal of allowing people to create shared worlds spontaneously, without the need to rely on anything or anyone. Swirlds aims to offer all the services for free. This will eliminate the need for advertisers because if a server is free, there will be no need to run advertisements for nonexistent server costs.
Conclusion
Blockchain technology has offered a totally new approach to solving the problems around us. Industries and enterprises have already realized the importance of blockchain and the Distributed Ledger Technology (DLT) and are integrating it into their workplaces at a rapid pace. Though blockchain has the potential to be the leading technology in the world of crypto, concepts like Hashgraph will help improve some technical aspects and fill in the gaps. Though hashgraph is still fairly new, it has the possibilities and potential to exceed the capabilities of blockchain.