Blockchain, which originated in Bitcoin, has established a new paradigm of public distributed ledgers. However, challenges remain. For example, scalability issues have not yet been cleared, despite approaches such as lightning networks and sharding.
Several approaches have been proposed to address the challenges of (especially public) blockchains, including the Hashgraph presented in this article. This time, I will explain the outline of Hashgraph and its public implementation "Hedera Hashgraph".
What is Hashgraph?
Hashgraph is a consensus protocol that is fast, fair and secure. It was invented by Leemon Baird, co-founder and CTO of the American software company Swirlds.
Hashgraph itself is different from Bitcoin, Enterprise Ethereum, and Hyperledger, which are developed by open source and have obtained technology patents. Hashgraph itself is not open, but an SDK is available for trying out libraries and demo apps. Furthermore, "Hedera Hashgraph" has been developed as a public implementation of Hashgraph, and here the source code is released.
Reference: Download SDK
In addition, CULedger, a credit union industry initiative that develops distributed ledger technology-based applications, has partnered with Swirlds to develop Hashgraph-based apps.
Hashgraph features and languages
Hashgraph has three features: high speed, fairness, and security, and these are realized mainly by two algorithms, "gossip protocol" and "virtual voting." Hashgraph is a protocol with Byzantine Fault Tolerance.
Hashgraph is written in LISP and Java, but the Hashgraph SDK tends to use a JVM language such as Scala.
Hashgraph's gossip protocol (Gossip about gossip)
In Hashgraph, transactions on the network are spread via the gossip protocol. Gossip means in Hashgraph, information that spreads through communication between nodes. Information (gossip) spreads as each node randomly selects other nodes on the network and communicates everything they know.
In Hashgraph, transactions are stored in containers called events, and events include the following information.
- Time stamp
- Transaction (red)
- Hash value of parent event (blue)
- Hash value of the last event held by the event creator (dark blue)
- Event creator's digital signature
The colors in parentheses correspond to the figure below.
Since each event captures the hash value of the previous event, the red events in the above figure also indirectly include gray event information. Therefore, the validity of the event can be verified retroactively. In addition, falsifying past events becomes extremely difficult over time.
Also, in the case of block chains, branches are generated when blocks are generated at the same time, but in Hashgraph, no branch occurs because all valid events are finally ordered and processed. The processing order of events (transactions) is determined by virtual voting, described below, so that the entire network can reach a single agreement.
By using this mechanism, Hashgraph uses all generated containers, simplifies consensus, and enables faster processing.
As already mentioned, the hash of the two previous events is stored in the event, and it is possible to trace the event retroactively.
Therefore, it is possible to understand the information that other nodes know (such as which events have been approved), so that the other nodes have determined which events were appropriate in the past (whether the events were approved = voted on) ) Can be guessed. This is a virtual vote.
Virtual voting is performed every time a certain number of events are generated, and the processing order of events is determined based on the time stamp when a sufficient number of nodes approve (voting) the event. Because virtual voting works, each node can determine which event has been agreed without having to communicate the results of voting with each other.
What is Hedera Hashgraph?
Hedera Hashgraph is a public implementation of Hashgraph. Hedera Hashgraph's whitepaper explains that it differs from existing blockchains (distributed ledger technology) in the following ways:
- Performance: Can process hundreds of thousands of transactions per second (up to 500,000 tps in performance test)
- Security: If the number of malicious nodes in the network does not exceed one-third, the distributed nodes can correctly form consensus. The algorithm has been mathematically proven to have no security vulnerabilities
- Governance: To ensure stable operation of Hedera Hashgraph, a committee of companies with global and industry expertise has been formed.
- Stability: stable platform operation by governance organization
- Compliance with laws: Appropriate ID management for KYC (Know Your Customer) and AML (Anti Money Laundering) checks, and compliance with regulations such as GDPR
Reference: Hedera Hashgraph Whitepaper
Hedera Hashgraph architecture
Hedera Hashgraph supports smart contracts written in Solidity, enabling the development of distributed applications (DApps). Hedera Hashgraph's architecture consists of three layers:
- Internet Layer: The layer that handles communication between computers on the Internet. Deploy TCP / IP using TLS (Transport Layer Security)
- Hedera Hashgraph Layer: A network composed of Hedera Hashgraph nodes. Nodes participate in consensus methods using Hashgraph's consensus algorithm and gossip protocol
- Service Layer: Layer composed of subgroups that provide functions such as cryptocurrencies, smart contracts, and file services
The developer is "Hedera Hashgraph LLC"
The company that is leading the development of Hedera Hashgraph is Hedera Hashgraph LLC. According to data from Crunchbase, it has raised $ 118 million to date (as of December 2019, $ 100 million from ICO).
Reference: Hedera Hashgraph (Crunchbase)
The Hedera Hashgraph platform itself is managed by the Hedera Governing Council, a governance body of 39 companies and organizations that ensures software change management and stability. (Members are limited in time).
As of December 2019, Nomura Holdings is a member of Japan, including IBM, Deutsche Telekom (Deutsche Telekom), and Swirlds.
Conclusion: Hashgraph is one of the options for building a distributed ledger
The technology to realize distributed ledgers is not limited to blockchain, but alternatives such as Hashgraph have appeared. Hashgraph is faster than traditional blockchain and distributed ledger technologies, and DApps on Hedera Hashgraph, a public Hashgraph-based implementation, is under development.
However, at the moment, the centralized governance model is adopted and it is not open source, so it is important to note how technologies, products and communities will evolve in the future.