The hashgraph virtual voting algorithm is a distributed ledger technology that offers several advantages over four other common DLTs.
How does virtual voting compare to other consensus algorithm types: proof of work, leader based, economy based and voting based?
Proof of work (PoW) is a very inefficient distributed ledger system. It requires tremendous computing power and the expenditure of a vast amount of electricity. If it’s partitioned, bad things can happen. And it experiences fairness problems – fairness of access, fairness of ordering, and fairness of timestamps.
Leader-based systems are vulnerable to DDoS problems. A distributed denial-of-service attack, where computers on the internet attack one computer, can shut down an entire network. The leader-based system also suffers from the same fairness issues seen in proof of work.
Economy-based systems don't show proofs of any kind. Participants don't know what kinds of attacks might work against this consensus mechanism. It’s easy to imagine problems with partitions and problems with malicious network nodes tricking the other nodes into losing money or tricking the others into not participating. Also, there are no guarantees that these subtle attacks won't work or that new subtle attacks won’t be developed.
Voting-based systems have beautiful math proofs but are completely inefficient. Pure voting based consensus is impractical. Furthermore, it does not have fairness unless an incredibly inefficient system is employed to try to establish it.
The value of virtual voting with hashgraph
Virtual voting avoids the problems seen with these other systems. A virtual voting consensus also avoids the problems that would come with using a hybrid of those other systems.
Problems with hybrid consensus mechanisms
For example, someone might try to combine the voting and leader-based systems. They could use pure voting to pick a leader or a group of leaders, and then the leaders take turns being leader for two seconds each. Or, someone could build an electronic voting system that narrows down to a small group of people. One leader proposes a block and then participants vote on whether they like the block or not. The system also allows proposers to become leaders and then has voting on that.
There are many ways of building hybrids, but they always combine the flaws of each system rather than resolving them. The whole is less than the sum of the parts.
Most people aiming for a hybrid are motivated by gaining speed. But virtual voting provides more speed than a hybrid and it has none of those security problems.
The origins of virtual voting
Dr. Leemon Baird, the American computer scientist, created the distributed ledger technology hashgraph, which is the basis of virtual voting.
He started with the pure voting-based systems. These systems come from the distributed systems community and fault tolerance communities. They have what he calls beautiful math proofs of Byzantine fault tolerance and even truly asynchronous Byzantine fault tolerance. These provide the strongest kind of guarantees, but they're hopelessly inefficient.
Researchers are studying how to improve them, and making incremental improvements. Scientists continue to get doctorate degrees based on their work and papers on the subject. Still, none of these systems are deployed because, even though the math is beautiful, the systems are too slow.
Hashgraph, however, builds on that math to create a voting system with no votes. The voting causes the inefficiency, so the hashgraph algorithm does away with it while keeping all the math proofs of the voting system. Instead, it uses a gossip protocol to spread out transactions as quickly as possible by giving them to everybody.
A data structure of gossip
This gossip technique gives transactions to random people, who give them to other random people, who also give them to random people. This spreads exponentially fast, like wildfire, and soon everybody knows the transactions. Everybody gets every transaction fast. There is no leader and no slow election process.
Nobody is different, and everyone is equal. There can be no DDoS attacks. A malicious node has no way to cause trouble. In this form of electronic voting, participants digitally sign transactions so there can be no forgery.
That gets the word out as fast as possible, but there's no consensus on order. To address that problem, hashgraph adds a tiny bit of information to each transaction or each group of transactions. The additional bytes, perhaps 1 percent more, has no meaningful bandwidth cost. However, the benefit is huge. Not only does every participant know the transactions, they know the complete history of everyone who talked to everyone. Every participant would know who "Alice" has talked to and in what order she talked to them, and when she talked to "Bob." The participants can see who talked to "Bob" right before that conversation, as well as who talked to him before that. There's a sign of every time somebody gossiped and who they gossiped with. That gossip spreads the information about transactions, plus the graph itself, and this history.
This gossiping about gossip provides a view of what every participant knows. And because participants know exactly what Alice knows and when she knew it, a virtual voting algorithm can incorporate votes from Alice without Alice ever sending those votes. It can predict how she ought to have voted and count that as a vote, and figure out how Bob would have voted if he had voted. Thus, there is no need for him to send votes. The voting algorithm can run without anybody sending a vote and without the need for responding with receipts.
The strengths of virtual voting with hashgraph
These voting algorithms have the beautiful math proofs and strong security – with no chance of voting errors occurring. The math proofs also provide fairness in the results.
This system offers the strongest kind of security possible: Byzantine fault tolerant with asynchronous Byzantine fault tolerant.
As for speed, gossip about gossip with virtual voting runs right at the limit of the speed of the internet. Whatever the bandwidth limit is, that's about how fast transactions per second can be. That speed cannot be topped. That speed also translates to total efficiency.
Virtual voting with hashgraph provides all the benefits of the pure voting systems, plus the fairness, and it's totally efficient. This is a voting system that actually can be deployed, rather than the voting systems being researched but never deployed. It also avoids all the problems of the other three technologies and their hybrids.