The Hashgraph Consensus Agorithm
ID2210
Valentin Goșu
Link to paper: https://www.swirlds.com/downloads/SWIRLDS-TR-2016-01.pdf
Link to slides: https://slides.com/valentingosu/hashgraph
What is Hashgraph?
- A decentralized data structure and consensus algorithm
- Achieves consensus over the ordering of events/transactions
- Marketed as an alternative to the blockchain (PoS)
- Async Byzantine Fault Tolerant
Why is this relevant?
- Proof Of Work algorithms are wasteful
- Existing DLT technologies are slow
- Mining and transaction fees
Contributions
- An inventive approach for a consensus algorithm
- Building block for DLTs
- with no double spending attacks
- fast confirmations
- no PoW necessary
Solution
- Nodes randomly connect to other nodes, and send all known events
- Receiving node creates new event and sends it to other nodes
- When a supermajority of nodes have exchanged messages, we say a round has ended
- First events in new round (witnesses) will make decision regarding consensus in previous round based on local info
- Computation is performed offline, based on gossiped information
Solution
Solution
Solution
- witness
- see
- strongly see
- round
- consensus
Strong Points
- Elegant solution for achieving consensus
- Correctness is easy to prove
- Algorithm is easy to specify and understand
- Enhancements may improve the protocol
- invite nodes and split up stakes
- proximity and trust involved in voting
Weak Points
- Claims fairness but underdelivers
- Performance metrics are not yet available
- Not clear how well it scales
- Permissioned system
- Incentive to fraud the system?
- Unclear how byzantine nodes are handled
- Solution: Patented, Closed-Source, Java :(
Fairness
A0 = median(3, 1, 4) = 3
D0 = median(4, 2, 0) = 2
Scalability
- for N=50 nodes, clients will use at least 120 kbps bandwidth
- It's current permissioned model may be why it achieves a high throughput
Conclusion
- Exciting technology with a lot of potential
- Paper is clear, concise, well written
- Room for improvement
The Hashgraph Consensus Algorithm
By Valentin Gosu
The Hashgraph Consensus Algorithm
- 2,289