Hedera Hashgraph — Time for some FUD

The sales pitch, basically. From their own website.

Unpacking the Hedera Hashgraph FUD

In this post, I’m going to try to tackle one simple question: How does Hedera Hashgraph supposedly achieve 10,000+ TPS?

First, we need to disarm some myths about how TPS works in general.

The relationship between Proof-of-Work and low TPS

There’s this prevailing idea among cryptocurrency investors that the inefficiencies of the Bitcoin blockchain are in it’s Proof-of-Work system, and if someone just invented a faster consensus algorithm, then DLTs could all of a sudden process hundreds of thousands or millions of transactions per second.

Tweets from Demetri Kofinas, a Hashgraph proponent and podcast host of Hidden Forces.

Understanding block propagation (simplified)

Quick note on speed: There are two ways DLTs can go “faster”.

  • Sidechains: You can have a consortium of nodes controlling a bitcoin multisig wallet where you deposit your coins, where >2/3 of the nodes are required to sign off on transactions made within the wallet and before they can leave the wallet. This is what Blockstream’s Liquid is (which runs on a 1 minute block time, and reaches finality at the 2nd block). You can set up something faster if you want; for example, the nodes operating the wallet could run the open-source XRP codebase and settle transactions with the same speed as Hedera Hashgraph (~4 seconds), with similar security guarantees.
  • Lightning Network (L2): Lightning transactions are fast. It is a channel-capacity dependent L2 solution, but can settle transactions near-instantly, with almost the full assurance of Bitcoin’s Proof-of-Work security.
  • Pre-consensus: Another way to reduce finality latency it is to have mining pools come to consensus on which transactions in the mempool to include in the next block on beforehand and orphan any miner that doesn’t follow the plan (it means they lose the block reward). This is what Bitcoin Cash is planning with Avalanche (called “pre-consensus”). Avalanche reaches consensus in ~2 seconds with strong probabilistic finality.
  • 0-conf: You can just accept a transaction as soon as it shows up in your mempool. This happens nearly instantly. Oh, but this is insecure you say? You’re saying while it’s true that most miners honor the first-seen rule, there are some pools out there replacing transactions that could end up losing you your money? So… you’re saying it doesn’t matter how fast the transactions are, but how difficult it is to reverse such a transaction and how harsh the punishments are for the actors trying to do it? I agree :)

Hedera Hashgraph vs PoW in efficiency

Before I leave this part, I do want to talk quickly about how efficient Hashgraph’s consensus algorithm actually is compared to PoW in terms of how much data is propagated and needed for validation. If you’re not interested in this, you can skip to the next heading.

Now to the fun stuff

Let’s re-read that sentence about throughput once again:

If the network node has enough bandwidth to download and upload a number of transactions per second, the network as a whole can handle close to that many transactions per second.

One thing that’s bound to make certain people spill their coffee is that Hashgraph is cloning Ethereum’s EVM (the engine for Ethereum transaction and smart contracts execution) so it will work with Solidity applications.

  • Downloading all the blocks and transactions (in the right order)
  • Validating the Proofs-of-Work
  • The RAM
  • The CPU
Uh, did they just say 10 TPS for “other services”? TEN? The “other services”, according to the image above, being “smart contracts” among others (kind of an important thing if you want to provide “fast, fair, and secure applications” as the stated goal is)? Shit, Ethereum can do more than that…

Introducing… the Consensus Service!

  • Response: This is just an ACK that a transaction was received. You trust the Consensus Service node you’re speaking with 100%.
  • Subsequent query: This is an ACK that a transaction was included in the hashgraph. You trust the Consensus Service node you’re speaking with 100%.
  • Receipt: When a transaction is included in the hashgraph, a receipt is created for 3 minutes. You can ask any Consensus Service node for this receipt and thereby get a “second opinion” to feel more confident that the transaction was actually included. You trust the Consensus Service nodes you’re speaking with 100%.
  • Record:
  • Record + state proof:
  • Record: A receipt but with more info, like timestamps and the results of a smart contract function call.
  • Record + state proof: Here it starts to get interesting. The state proofs! So what’s in a state proof? For those of you who know how SPV proofs work in bitcoin, this is equivalent. The Hedera nodes will have signed a Merkle root, which is included along with the the Merkle path, showing that a certain account balance or transaction (or whatever was queried) exists within the current state. The signatures on this Merkle root are included as well. The Hedera signatures on the Merkle root thus “proves” that the response you received was correct. Btw, did I mention these state proofs costs money to receive?

Scalability through courts

In Bitcoin and Ethereum, we have what are called “Layer 2" scaling solutions. In these “upper layers”, the inefficiencies of the base-layer don’t exist anymore. Up in these layers you can do thousands, tens of thousands or even millions of transactions per second. And if something goes wrong up in these layers or someone tries to cheat you, you use the base-layer as the “court”, which then acts as an arbiter of what really happened.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store