Hashgraph - asynchronous byzantine voodoo, or junk?


#1

There’s a thing called Hashgraph which is like a blockchain but it’s a directed acyclic graph:

https://hashgraph.com/

There’s an interview with the creator where he hypes it up pretty well.

So I have some thoughts on it.

  1. I’m willing to assume, for now, that the mathematical proof of how great it is is valid, within the assumptions the author has made. Some of these assumptions are spelled out in the paper, but there are others that are not. He has a credit union use case which colors the way it is presented.
  2. There are also some things that need to be added, in order to create a cryptocurrency or distributed virtual machine. His algorithm focuses on consensus of what message (transaction) was sent and when. But as the basis for a ledger it’s solid.
  3. The “voting” algorithm is explained in an odd and overcomplicated way. I think it can be refined to the following:
    A block is “accepted” when it is an ancestor of the majority of the current generation blocks.
    Obviously, this leads to a question of what a majority is. A majority of nodes, or blocks, or addresses, or stake? I am explaining this a bit differently from the creator because I’m trying to apply it.
  4. Sounds like IOTA, really. Also the idea occurred to me. A directed acyclic graph is the most obvious improvement over a linked list.
  5. I also think Cardano’s slot functionality allows some of the simultaneous block creation as Hashgraph, but not to the same degree. I may be wrong, as I’m still reading papers. So if you take Hashgraph and hammer out the details for our scenario, it may look a lot like Cardano in practice.

Has anyone else looked at this?


#2

Apparently (from reading reddit) it’s not an open ledger, open source or open to all, it needs a signed up community and they have announce they won’t be releasing a crypto currency. They seem to be arguing it’s a bit coin killer because it will allow the central banks to offers fast and cheap micro payments through established networks (visa and banks).


#3

But you could use the same concept to create an open cryptocurrency… I am 100% sure if I was the creator, I would try it eventually.

It does seem easier to make it work with a closed community of trusted banks though.


#4

Maybe create an international digital passport password login feature on the block chain like Microsoft are working on, then when you have mass adoption run hash graph with your large user base


#5

I think it would work fine using anonymous stakers but I’m not clear on how it would deal with stakers who stop responding or delay a long time for whatever reason.

What I like about the system is that it lets every staker generate blocks at will, which makes it super fast, and it dispenses with the assumption that everyone has to achieve consensus on the blocks immediately. It might take 10 rounds before a block is finally verified as a good block by the network.

I’m not convinced that it is resistant to attacks. It seems hard to analyze.


#6

It is just like Iota and Byteball from my understanding of the Gossiping nodes. The white paper is extremely hand wavy, but that being said, someone could easily implement the system in sw and test it out.

Its not a currency, its a patented system that may or may not do what it says. Its the antithesis of Cardano in that respect.


#7

except hashgraph claims far superior technology such as 100’s of thousands of transactions / sec.


#8

So, let’s talk DAG’s lol…(DAG = Directed Acyclic Graph)

Cardano’s Ouroboros Hydra will almost certainly be a DAG :slight_smile:

In the standard block chain, you can get orphan blocks (simultaneous block creation = one will win, one will lose) and more importantly, you have lots of people working on their own blocks and all that work has to be dropped each time a winning block is announced.

By contrast, with a DAG, you can have overlap and throughput goes up profoundly b/c everyone doesn’t have to fit their block into the one and only available slot.

Charles talked about this in an interview- he noted that in Ouroboros Hydra you would have multiple simultaneous Epochs happening and it would be a DAG structure. He said that would get into 10,000+ transactions per second.

However, he said their approach right now is build one layer at a time - perfect the block structure for Ouroboros, then perfect the Epoch structure…then and only then, start assembling that into it’s eventual DAG structure for Ouroboros Hydra.

Now there is a lot of unproven tech for DAG’s including security but it’s very much in the future for Cardano, and I expect Ouroboros Hydra will blow the doors off other competitors b/c it’s being very carefully built rather than rushed out and hyped as a DAG for DAG’s sake…my guess is most people have no idea Ouroboros Hydra will be a DAG at this point.

(note - I didn’t bother to read or care to read hashgraph and their claims…my comments are specific to DAG’s as a data structure, why they have much higher throughput vs regular block chain, and that Cardano is already working on it for Ouroboros Hydra :slight_smile: So Cardano will be a DAG in the future, after it’s thoroughly researched, designed and properly implemented.


#9

“Claims” :joy:


#10

Yea - I chose that word because nobody, outside of Hashgraph, knows. We can only assume what they say is or is not true. I would assume that it is true but that there may be some undisclosed holes.


#11

IIRC it only takes 1/3 bad actors to corrupt the hashgraph network, and they claim that is a limitation of all blockchains. It has been proven that Ouroboros is secure up to 50% bad actors, is it not?


#12

For DAG’s sakes! This is an excellent post @MegaWind!

One of the other big problems that DAGs and other more exotic data models have is that they are just one piece of the system. What good is achieving 100k transactions/sec with a DAG if their storage protocol can’t handle the added mountain of data they’re creating throughout their networks?

For example, one of the biggest reasons that BitMessage failed even though it is a fantastic concept is because it produced so much traffic that it overloaded many networks. This is an example that Charles has given several times to emphasize how optimizing for speed without also achieving true gains in storage/bandwidth efficiency will still reduce the entire system’s performance to a crawl.

Cardano takes a holistic approach to system development, which ensures that we get a platform that achieves the highest possible overall performance, regardless of what the latest hype-machines might be talking about on any given day.


#13

The use of bandwidth and storage in practice is a good point… I suppose the number of blocks must be restricted to a reasonable level. But you can still have a very large number of blocks.

You could, for example, allow every staker to create a # of blocks proportional to stake.At 100,000 ADA stake / block, that’s 450 blocks per time slot. But it would require an entirely new algorithm for allocating transactions in parallel.

Maybe something like a dutch auction to set transaction fees each round.