The Hashgraph Consensus Agorithm

ID2210

Valentin Goșu

gosu@kth.se

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