The success of initial coin offerings (ICOs) as a new fundraising model is undoubtedly attracting an influx of tech talent to develop blockchain technologies like Ethereum and Hyperledger Fabric. This has venture capitals pouring millions of dollars into blockchain startup projects. In practice, however, the vast majority of ICOs are for projects that are not yet feasible, due to the technical limitations of blockchain technologies.
Ethereum founder, Vitalik Buterin, explained that blockchains may be suitable for some niche use cases, but they do not work well for mainstream use due to scaling issues. For instance, Bitcoin and Ethereum are only processing seven and fifteen transactions per second (tx/s), respectively. To support Visa, Buterin explained, Ethereum would need to scale to thousands of tx/s. Even to operate the New York Stock Exchange, you would need tens of thousands of transactions per second. Scaling the blockchain to this capacity would likely require a significant trade-off in security.
Hashgraph is a blockchain-alternative that achieves high scalability without sacrificing security. It has been proven to handle hundreds of thousands of tx/s in a single network and is expected to do millions of tx/s with sharding. Hashgraph makes use of Asynchronous Byzantine Fault Tolerance. This is a very secure version of Byzantine fault tolerance (BFT).
How does hashgraph work?
Hashgraph uses two unique techniques 'Gossip about Gossip' and 'Virtual Voting' to achieve a fast, secure, and fair consensus.
'Gossip' is a commonly used term in computer science, which can be defined as calling any random node and telling that node everything you know, that it doesn’t already know. In distributed ledger technologies (DLTs), transactions have to be broadcast to every node across the network. A gossip protocol can achieve this transfer of information incredibly quickly. 'Gossip about Gossip' refers to attaching a small additional amount of information to this Gossip/transaction payload, which are two hashes containing the last two people talked to. Using this information, a Hashgraph can be built and constantly updated as more information is gossiped by each node.
To explain gossiping with a simple example. Alice gossips Event A to Bob. Now, Bob gossips Event B, which contains the gossip that Bob learned from Alice, but also any additional gossip created by Bob. The information being gossiped is the history of the gossip itself, and therefore it is known as 'gossip about gossip'.
Once the Hashgraph is built, it is extremely easy to know what a node would vote, because we know what each node knows, and when they knew it. Because of that, they can run 'virtual voting' because every node can figure out how the other nodes will vote. So basically, nobody needs to broadcast his vote to the network. In comparison, with implementation of other technologies, all nodes will have to broadcast vote-messages, which slows down the network. This allows every member to reach a Byzantine agreement on any number of decisions, without a single vote ever being sent. Finally, zero bandwidth is used beyond simply gossiping the Hashgraph, as every node contains the Hashgraph history.
How is Hashgraph able to generate a high throughput?
When we discuss the speed of a blockchain network, we are actually talking about the amount of transactions that can be processed per second, how long it takes before a transaction is confirmed, and how long it takes for everyone else in the network to be in agreement. The speed of the network is limited by the bandwidth that the nodes provide to the network.
As Hashgraph barely uses bandwidth and is able to reach a very high throughput. When you deploy a dedicated network only containing high end nodes, you will reach a high throughput.
What is Asynchronous Byzantine Fault Tolerance?
Hashgraph is the only DLT in use today that represents Asynchronous Byzantine Fault Tolerance. This is the strongest form of security for a distributed system. This means that no single member (or small group of members) can prevent the community from reaching a consensus, nor can they change the consensus once it has been reached. Moreover, each member will eventually reach a point where they know for sure that they have reached consensus.
Other blockchains use a weaker version of Byzantine Fault Tolerance. When a ‘double spend’ occurs, you have to wait for the network to "bust" it. However, blockchain does not have a mathematical guarantee of a Byzantine agreement, leaving you behind with an ‘unconfirmed’ status, and possibly, the money you were paid may disappear as it will remain ‘unconfirmed’ for ever.
How is Hashgraph fair? Here, fairness refers to the ability of DLTs to prevent nodes from manipulating the order of transactions. Hashgraph is fair in that it serializes all transactions with cryptographic timestamping, unlike in a blockchain where miners determine the order at which transactions are placed within each block. The transaction order can be extremely important, for instance, consider purchasing the same crypto asset where the first buyer will likely get a cheaper price.
Hashgraph vs Directed Acyclic Graph (DAG)
Projects like Byteball
, and Raiblocks use the DAG technology
, which is originally a mathematical term. Both Hashgraph and DAG do not use Proof-of-Work. Apart from that, they have nothing in common. A DAG is based on the links between transactions, and a Hashgraph is basically a history of how the nodes have communicated with one another.
Building with Hashgraph:
Hashgraph is not open-source. However, the company distributing the Hashgraph software offers an SDK to start using Java for building non-commercial applications via Hashgraph. However, for building a full application on Hashgraph using the Swirlds SDK
, you will need to contact Swirlds to discuss the appropriate licensing that is required.
Projects on Hashgraph:
Swirlds, the company behind Hashgraph, is currently in discussions with many enterprises. However, Hashgraph is currently being implemented by CULedger, a credit union consortium supported by the efforts of the Credit Union National Association (CUNA) and the Mountain West Credit Union Association (MWCUA). CULedger is building a permissioned, distributed, ledger platform for credit unions in North America.
This will make it simple for developers to build distributed applications that can be used by any number of credit unions. Hashgraph provides the shared storage for these applications, thereby reducing the opportunity for errors, improving efficiency, and ensuring a consistent view of data by all parties.
Hashgraph is working to be the solution that can fix the internet for future generations. In its current state, the internet is fundamentally flawed and is not designed to be secure. Hashgraph is adding a trust layer on top of the existing infrastructure that solves these problems and makes completing transactions on the Internet far more secure. You could make the analogy that current Internet is like breaking into a house surrounded by a fence and an alarm system – once you break through that fence and disable that alarm, you’re inside. With distributed systems, you’d need to break into multiple houses each with its own fence and alarm system, all around the world and all at exactly the same time.
A Hashgraph is basically a history of how the nodes have talked to one another. This is an unusual concept, but it allows networks to reach consensus very quickly and with strong mathematical proofs.
(2) How it works graphically - http://www.swirlds.com/downloads/SWIRLDS-TR-2016-02.pdf
(3) TechCrunch Hackathon on Hashgraph Tech: https://medium.com/hashgraph/teams-build-impressive-distributed-apps-on-hashgraph-in-24-hour-techcrunch-disrupt-hackathon-7daa00dae66f
(4) Gossip vs ‘gossip about gossip’:
(5) Why hashgraph will replace blockchain: https://www.youtube.com/watch?v=SPdUAw-Fpco