The Ethereum Challengers, ep. 9: Hedera Hashgraph
Non-blockchain distributed ledger with fast consensus, finality, Solidity, fork resistance, and a governance council of 39 organizations
Blockchains are distributed ledgers, but not all distributed ledgers are blockchains.
Hedera Hashgraph, developed by Swirlds, is a distributed ledger, but not a blockchain. It will continue to be referred to as a project in the “blockchain space,” and that’s OK thanks to our good old friend synecdoche.
The hashgraph consensus mechanism shows a couple of similarities to IOTA. I discussed IOTA briefly in Six Quantum-Resistant Cryptocurrencies. IOTA’s not a blockchain, but it is a distributed ledger: a Directed Acrylic Graph affectionately named the Tangle.
Both attempt a trustless setup without requiring all nodes to be aware of all transactions before processing a new transaction.
This enables a breed of parallelism, where transactions don’t need to be sequentially processed.
Our veteran cryptography and blockchain testers Alice and Bob can perform transactions at the same time and have them verified more quickly since they don’t need to wait on each other in order to be processed. This results in dramatically improved performance: Nodes don’t need to wait for the latest, greatest chain information in order to help verify transactions, and they don’t need to all race to process the same transaction.
A rare glimpse of Alice and Bob, who have been testing secure methods of exchange for many decades.
I heard about Hedera’s hashgraph project early on, when their social following was little more than a handful of people.
The same excitements — and the same concerns — followers had for the platform in the early days are still the major thoughts expressed by Hashgraph fans and critics.
“Hedera” is the platform, and “Hashgraph” a description of how it works — sort of like how we say “the Ethereum blockchain,” we say “Hedera Hashgraph.” But the Hashgraph technology used by Hedera is unlikely to be used by many other platforms in the future.
We’ll talk below about how Hedera fights forks of its platform, including with patents and with code that is open review but not open source. But we’ll also talk about the advantages Swirlds, the company developing and launching Hedera Hashgraph, has over competitors.
“They will not require any license or any approval from Hedera” (from the v1.3 whitepaper synopsis).
In general, I agree with the direction the Hashgraph whitepaper comes from, so I might be quoting it more often here than usual.
It’s worth seeing the problems Hashgraph intends to solve, since they often overlap with the concerns everyone has with other smart contract platforms. The following section is quoted entirely from the Hashgraph whitepaper, but emphasis is mine. In fact, all quotations in this article, unless otherwise noted, are from the v1.3 whitepaper.
The most compelling use cases require hundreds of thousands of transactions per second in a single shard (perhaps millions of transactions per second (tps) in a fully-sharded solution), and many require consensus latency measured in seconds. These performance metrics are orders of magnitude beyond what current public DLT platforms can achieve.
If public platforms are to facilitate the transfer of trillions of dollars of value, we have to expect them to be targeted, and we have to prepare for this. To do so requires a consensus algorithm that provides the best security one can achieve, with the security properties of the algorithm formally proven. Vectors of security vulnerabilities shouldn’t be mitigated; they should be eliminated entirely. Other public DLT platforms are trading decentralization (and so potentially compromising security) for performance gains.
A general-purpose public ledger should be governed by representatives from a broad range of market sectors, each with world-class expertise in their respective industries, and also selected to provide global geographic representation for all markets. Those that are governing need technical expertise so they can competently manage the technical roadmap. They need business expertise so they can manage business operations of the organization. They need expertise in economics and currency markets so they can manage the cryptocurrency. They need legal expertise to help navigate the evolving regulatory environment. In other words, governance should be by those globally recognized as world leaders in their respective industries, and representative of every market in the world
Without technical and legal mechanisms to enforce the decisions of the governing body, public platforms are at risk of devolving into chaos. Strong security and mature governance will enable a stable platform — one that engenders the necessary trust and confidence among those that would build commercial or sensitive applications on it.
We expect that governments will continue to increase oversight of public ledgers and associated cryptocurrencies and tokens. We consider that a distributed public ledger must be capable of enabling appropriate Know Your Customer (KYC) and Anti Money Laundering (AML) checks.
In general, these are indeed the major issues facing dapp/smart contract platforms today. Some more anarchist readers might take issue with the Regulatory Compliance point, even though “capable of enabling” can hardly mean “enforce.” Others with commitments to purer forms of democracy won’t like the Governance point.
However, in both cases I’d argue that these readers’ concerns aren’t as concerning as they seem.
How does Hedera Hashgraph achieve VISA+ transaction speed?
On the hashgraph, when I have a transaction verified, I don’t need to communicate it to every node in the world. Yet this doesn’t reduce the confidence of untalked-to nodes in the consensus, since nodes that receive transactions from a little while back end up with the whole hashgraph and have enough information to know how they would have voted.
Removing the necessity for all nodes in the world to receive and confirm the latest information dramatically improves performance. It’s similar to how office gossip can be a more efficient way to propagate some kinds of information than company-wide assemblies.
Many blockchain systems reduce the number of nodes you need to communicate with for each block by actually reducing the number of nodes verifying on the network, like EOS with its (1)21 block producers. Hashgraph reduces the number of nodes that need to be communicated with, but not by reducing the total number of participating nodes.
When Alice talks to Bob, she not only tells Bob of new transactions but also “gossip about gossip,” telling Bob everything she knows so far. As information randomly propagates around the hashgraph, everyone is continually brought up to date. Nodes are never very far behind. When veteran Bob tells Carol about some new transactions, he also communicates everything Alice told him, so Carol is then up to date. Soon enough, the new transactions included by Bob will be communicated back to Alice as the hashgraph continues its random propagation.
It’s worth noting that the hashgraph’s throughput is untested on public networks and has only achieved its performance specs on private networks. How much the transition to public net will affect performance remains to be seen.
Bitcoin transactions aren’t ever quite final.
You’ve noticed that transfers to cryptocurrency exchanges have a required number of confirmations — blocks on top of the block containing the transfer — before funds are availables. Sometimes this is 1 or 2 confirmations, but usually it’s 3 or 6. Exchanges are confident enough in the transaction.
Hashgraph boasts finality, meaning that there is a point where confidence is mathematically 100%. Most blockchains approach 100% but never quite hit it.
Not that this is a reason for FUD. 99.99999999999999% is practically quite similar to 100%. But it does replace the arbitrary waits for confirmation with something concrete.
“Fair” = “First Come, First Served”
Nor are Bitcoin transactions fair, by Hashgraph’s definition of fairness.
What is “fairness”?
Suppose there’s a piece of art up for purchase.
Our veterans Alice and Bob, weary from their endless testing of every transaction for every whitepaper in existence, each want to spruce up their testing chambers with something profoundly non-digital. Alice buys the artwork with a Bitcoin transaction. Bob buys it a few seconds later. Miners can arbitrarily choose which transaction to include first, meaning that Bob might end up, for the first time in his life, beating Alice to the punch at something involving a crypto transaction.
That’s arguably not fair. On Hashgraph, transactions have a timestamp by consensus, which reflects (by averaging) the time “when the majority of the network members received that transaction.”
As the whitepaper continues, “this consensus timestamping is useful for things such as a legal obligation to perform some action by a particular time. There will be a consensus on whether an event happened by a deadline, and the timestamp is resistant to manipulation by an attacker.”
It might not be fair to describe fairness as binary. Two transactions days apart won’t get swapped in order by the Bitcoin network, and two transactions milliseconds apart might get flipped by the Hashgraph network, though not intentionally. But in practical life, the ordering of transactions is fairer in Hashgraph than in a number of systems.
Separation of Governance and Consensus
Now, it’s time to talk about some of the concerns Hashgrapites (Hashgraphics? Hashgraphenes?) face when they talk about Hedera Hashgraph with their crypto friends.
Among those concerns is the Hedera Hashgraph Council, which really sounds like something out of Netrunner.
Hedera’s consensus model, unlike many dPoS, dBFT, and similar systems like EOS and NEO, is not restricted to a smaller council of nodes. I plan to run a Hashgraph node at home and earn some Hashgraph once the network is out, but I don’t ever plan to produce EOS blocks.
Governance, however, is restricted to a council. Swirlds will license Hedera Hashgraph out to the council, in exchange for “10% of revenue (with monthly minimums) and Swirlds [owning] 5% of Hedera coins.” Council members, with the exception of Swirlds, will have term limits, and the council will vote in additional council members.
The HHC — since the space doesn’t have enough three-letter acronyms yet — will be made up of 39 organizations. I heard about plans for the council first-hand at a Hashgraph meetup in New York, and it’s my understanding that a number of companies have been approached, and some have responded, selected for geographical diversity, diversity of industry, and potential reputation loss (to economically discourage them from messing with Hashgraph governance to further their own ends).
Let’s do a rapid-fire round of short sections highlighting some Hedera Hashgraph features.
Forking Swirlds’s Hedera Hashgraph code is legally difficult, as the codebase is patented. This isn’t closed-source, since the code is open review, but Swirlds plans to aggressively pursue violators of their patent legally.
Of course, the crypto space includes enough hackers and anarchists that we cannot eliminate the possibility that some project will anonymously fork the code, but Swirlds would pursue companies using the fork, so adoption would probably be limited.
According to the whitepaper, forks of the hashgraph (“chain splits,” to carry over blockchain lingo) are possible, but they must have a new genesis block. No client can be deceived into thinking the fork is the original Hashgraph chain. Even a 50/50 split would end with neither graph being able to include anything between the original hashgraph genesis and the fork. So, splits can happen, but not in a deceptive fashion.
Liberty, Identity, Solidity
Hashgraph will allow for identity information by providers to be linked to accounts (even temporarily). While the hashgraph won’t have KYC or de-anonymization built in, users that need to verify their identity for a company, bank, government agency, etc. will ultimately be able to do so.
Another potential advantage of Hedera Hashgraph is that it will, on launch, run Solidity contracts. Ethereum projects can easily move over.
Staking and Proxy Staking Hashgraph
It seems that running hashgraph nodes will be easy, since old hashgraph data can be discarded by nodes, reducing the memory required, and since hashgraph verification relies on randomness and stake rather than proof of work.
“When the Hedera platform is running at scale, any user will be able to run a node in the network and earn cryptocurrency payments for doing so.”
Hedera Hashgraph also introduces proxy staking, where a user who wants to stake but does not want to run a node can delegate their stake to a node. The node and user providing the staked tokens can negotiate the way they split profits.
Storing Files in the Hashgraph
We’re moving through features quickly here, but Hedera Hashgraph will also include file storage. “Every node in the shard stores the same files, so they will not be lost if one of the nodes crashes. Stored information can only be deleted by those that were given permission.” Nodes will actually store files, and to my knowledge it remains to be seen how much of a storage requirement this imposes on the nodes.
It does seem that the file storage system will be easy to work with, both secure and flexible. “We give developers Java code to manipulate a Merkle tree as if it were a file system … A file can be accessed by its hash, so people can rely on the fact that it is immutable. But it also has a File ID.”
When you store a file on the hashgraph, you can verify its immutability with the hash, proving it hasn’t been modified since a certain time, but you can also allow for easy revisions via the file ID, which tracks a file even if it’s been modified.
Many projects have discussed sharding to improve blockchain performance. Borrowed from conventional databases, sharding basically splits a chain into sub-chains that are semi-independent parts of the whole. It’s an explicit kind of parallelism, and one that Ethereum and a number of other projects plan. However, secure implementation of sharding for a distributed ledger hasn’t been proven yet.
Sharding reduces the number of nodes on each shard, and thus reduces the stake required to attack the network. Assuming malicious actors need to achieve 31% of the network in order to attack it, that 31% is much easier to obtain for a shard. Because of this and the complexity of implementing sharding, no project to my knowledge has taken any steps towards sharding in their live product.
Projects on Hashgraph
Hedera Hashgraph did run a sale round open to accredited investors, and SAFT investments are still available.
Some projects partnering with Hedera for their ongoing mainnet rollout are running token sales this year. Hedera Hashgraph has announced a number of these projects, but to my knowledge the only sale currently open at this writing is hearo.fm.
Hearo.fm pays micropayments directly from music listeners to music artists. The platform’s move to Hedera Hashgraph will take advantage of the hashgraph’s speed to make their project a decentralized, scalable potential solution for many of the problems currently wracking the music industry.
Other early HH partners include real estate project Red Swan and MZ, the creators of Game of War.
Now, let’s summarize Hashgraph vs. Ethereum by asking the same questions the series has followed in each installment so far.
As with most solutions that currently promise scalability, Hedera Hashgraph is not based on a proof-of-work consensus model. However, unlike most of these solutions, consensus is not restricted to a small circle of some variant of supernodes. Hedera Hashgraph is not yet live, but tests exceed VISA’s transaction throughput. It remains to be seen how well the hashgraph performs in practice, but it will clearly be orders of magnitude faster than Ethereum.
Governance is separate from consensus. Consensus is decentralized, but governance is conducted by the 39-member Hedera Hashgraph Council. Members besides Swirlds, the developer of Hedera Hashgraph, are diverse organizations with limited terms on the council and with immense reputation to lose if they act in their own interests and against the interests of the network.
3) Development Complexity
Hedera Hashgraph will launch with support for Solidity smart contracts, so development complexity is on par with Ethereum. I haven’t yet seen information on how easy or difficult it is to update these contracts or on what development resources for Ethereum will be usable on or portable to HH development.
The public hashgraph is live, with support for the cryptocurrency, file storage, and Solidity smart contracts. APIs are live, as well, and other features are currently rolling out. Users will be able to create new accounts within the next 4 months.
5) Generalized Features
Hedera Hashgraph offers file storage and plans to offer support for secure identity on the platform.
Transaction fees are small but still existent. However, fees are split into several categories, so a large portion is refundable in case of transaction failure for whatever reason. I suspect applications will abstract fees away from the user, much as will likely happen with Ethereum (and has already happened with Peepeth, which no longer even requires an Ethereum account to be used).
7) Market Position
Hedera Hashgraph has been building buzz for a number of months now. Unless significantly more funds are raised, HH is significantly behind Ethereum and even EOS and some other alternatives in terms of developer interest, funding, and toolset. However, sooner or later the success of platforms will depend not on hype and on actual usage, so the development of killer applications that take advantage of Hedera Hashgraph’s capabilities is the platform’s chance to make gains on the competition.
The next Ethereum Challenger we’ll consider is IOST, Internet of Services Token.
It’s seen significant interest in the past couple of months. Is it a rip-off of EOS? Or an improvement? We’ll discuss that in a couple of weeks.
Originally published at media.icoalert.com.