====== Hashgraph Consensus Algorithm ====== [[dido:public:ra:xapend:xapend.a_glossary:start| Return to Glossary ]] The **Hashgraph Consensus Algorithm** provides near-perfect efficiency in bandwidth usage and consequently can process hundreds of thousands of transactions per second (tps) in a single [[dido:public:ra:xapend:xapend.a_glossary:s:shard]]. Unlike a traditional [[dido:public:ra:xapend:xapend.a_glossary:p:proof_of_work]] [[dido:public:ra:xapend:xapend.a_glossary:b:blockchain]], which selects a single [[dido:public:ra:xapend:xapend.a_glossary:m:miner]] to choose the next block, the community of nodes running hashgraph come to an agreement on which [[dido:public:ra:xapend:xapend.a_glossary:t:transaction]] to add to the [[dido:public:ra:xapend:xapend.a_glossary:l:ledger]] as a collective. Through [[dido:public:ra:xapend:xapend.a_glossary:g:gossip | gossip-about-gossip]] and virtual voting, the hashgraph network comes to consensus on both the validity and the consensus timestamp of every transaction. If the transaction is valid and within the appropriate time, the ledger’s state will be updated to include the transaction with 100% certainty (finality). In blockchain, consensus rules require that blocks eventually settle in a single, longest chain, agreed upon by the community. If two blocks are created at the same time, the [[dido:public:ra:xapend:xapend.a_glossary:n:node_network]] will eventually choose one chain to continue and discard the other one, lest the blockchain “[[dido:public:ra:xapend:xapend.a_glossary:f:fork]]” into two different chains. It is like a growing tree that is constantly having all but one of its branches chopped off. In hashgraph, every container of transactions is incorporated into the ledger — none are discarded — so it is more efficient than blockchains. All the branches continue to exist forever, and are woven together into a single whole. Furthermore, blockchain fails if the new containers arrive too quickly, because new branches sprout faster than they can be pruned. That is why blockchain needs POW or some other mechanism to artificially slow down the growth. In hashgraph, nothing is thrown away. The hashgraph consensus algorithm has been validated as asynchronous Byzantine Fault Tolerant (ABFT) by a math proof checked by computer using the Coq system. This proves the claims stated in the hashgraph tech report that hashgraph is ABFT — mathematically the highest possible level of security for distributed systems. Both the algorithm and Hedera's implementation will enter a state of “open review” in 2020; the source code will be made available for anyone to read, recompile, and verify that it is correct. Source: [[https://hedera.com/learning/what-is-hedera-hashgraph ]] /**=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- /* To add a discussion page to this page, comment out the line that says ~~DISCUSSION:off~~ */ ~~DISCUSSION:on|Outstanding Issues~~ ~~DISCUSSION:off~~