When it comes to emerging technologies, I try to stay on top of my game as much as possible. Ultimately this is what lead me to Bitcoin and Blockchain tech and now being in the crypto space for a few years I am always on the lookout for promising ideas (even if my eyes bleed from reading whitepapers!). I came across Hashgraph in late 2017 and loved the concept of their "Gossip Protocol" which reminded me a bit of Richard from Silicon Valley's "middle-out" solution for data compression. Recently I attended the Crypto Invest Summit in LA where the title sponsor was Hedera Hashgraph and I got to talk briefly to the team about it, which rekindled my desire to write about it! Follow The 'Stache as I break down the concept of Hashgraph in a way that is not too complicated to understand and great for beginners.
What exactly IS Hashgraph?
Hashgraph is a new way to distribute data, much like Blockchains do, and achieve what we call "consensus", or a way to all agree on the validity of the data being distributed across the network of computers. Hashgraph uses what is called the Gossip Protocol to achieve similar results as a Blockchain, but can do it faster and in a much fairer way.
Each node (fancy word for computer) in the network can attach extra information about who they received the data from and then pass it on to one of their neighbors randomly, who in turn do the same. These are called "events" and each event can be traced back to who started the "gossip" by following that extra information embedded in the event about who was spreading the gossip (or data). This continues in this same fashion until all the nodes in the network now have heard the gossip and are gossiping about gossip! Here is what it looks like visually (taken from the Hashgraph whitepaper here):
Much like gossip in real life, once the town "big-mouth" starts to spread the gossip, it travels like wildfire across the network and that is what makes it super fast. Carol tells Alice, Alice tells Bob, but at the same time Carol also told Ed as you can see in the example above. Through this simple method a consensus is reached that all nodes have the same exact information. This information can even be validated by Hashgraphs "virtual voting"
Get Out The Virtual Vote
To make sure the data each node has gossiped about, they use virtual voting to verify that data. For information to be considered valid, you need a 2/3rd majority of nodes to "witness" this and the network considers it valid (I could get into Byzantine Fault Tolerant stuff here, but I won't for simplicity's sake). This process of voting basically means they can trace back the information, through their neighbors, to the original source to verify the data.
The Speed & Fairness Of Hashgraph
The speed of transactions and the fairness of the consensus protocol Hashgraph uses are its two stand out features. Where most Blockchain based coins are well under 100 transactions a second, Hashgraph boasts 250,000 a second. Those are some BIG numbers, but they do come with some trade-offs, which I will talk about below.
The fairness of Hashgraph consensus comes from the way that information is validated in the network. Taking Bitcoin for instance, miners tend to confirm transactions with higher fees because they stand to gain more profit. This means that if you pay a higher transaction fee in the Bitcoin network you can get your transaction though faster (not very fair sounding eh?)
With Hashgraph, if one transaction reaches a 2/3rds majority before the other transaction, then it is validated first & there is no way to pay more to get your transaction to 2/3rds consensus faster. It breaks down into a kinda of "first-come-first-served" type of method instead of a "pay-more-for-faster" method. This keeps the network "fair" in comparison to most traditional consensus methods.
Blockchain VS Hashgraph
While I have already talked about a few main differences between the two, the biggest one is that Hashgraph is a permissioned, private-based network, while Blockchains are public and non-permissioned. A permissioned, private-based network means that the identity and number of nodes in the network are known beforehand and in a public, non-permissioned network there are no fixed amount of nodes. This is a pretty big difference, but is a fairly hard concept to wrap your head around, but I felt it important to share this fact. This does not make Hashgraph non-decentralized, but it is also not decentralized in the same way as Bitcoin. There is a lot more to this aspect that you can read on Hedera's website here.
Will Hashgraph Replace "X"?
Where as "X" is a variable, and people want to know if it will replace things like blockchain, I feel that both have their purpose in a decentralized future with decidedly different applications. I enjoyed learning about the future of Hashgraph from the Hedera team and look forward to a decentralized future FULL of gossip!
Thanks for reading, but for now...