Hydrozoa: Lightweight and scalable Hydra Heads #850
Replies: 7 comments 62 replies
-
Interesting! I did not go through the detailed article but will definitely have a look later on next week. Foregoing the (costly) |
Beta Was this translation helpful? Give feedback.
-
Very cool. My initial thoughts on first read. Questions:
Questions:
Minor issues:
|
Beta Was this translation helpful? Give feedback.
-
Take 2. Questions:
Ideas:
|
Beta Was this translation helpful? Give feedback.
-
@GeorgeFlerovsky I am trying to |
Beta Was this translation helpful? Give feedback.
-
I finally found the time to go through the paper, lots of interesting things @GeorgeFlerovsky! I don't have very detailed questions or concerns at this stage, I would need to re-read it and perhaps draw a bit more how I view the txs flow to really understand it, but here are a few feedback points:
|
Beta Was this translation helpful? Give feedback.
-
Related feature sub-proposal: For our (hydra-auction) usecase it is important to prevent Head stopping before bidding end time. Any bidder has incentive to stop Head, to make all following competing bets harder to make. So if node is on same side as some bidder, it has such incentive too. In theory protocol could forbid closing before some time. But there is no way to ensure that peers will continue to participate in protocol. Slashing for preventing Head work seems very hard to implement. But there is other option. Protocol could use m-of-peers consensus, instead of all-peers consensus. In model of this proposal it should be very simple to implement and make it configurable, by just changing native script. That way it would be harder to stop Head before it is planned if nodes are independent. In that case halting by single node should change too. Otherwise single peer could stop it. I guess halting should have (n-m)-of-peers consensus, where n is number of all peers. |
Beta Was this translation helpful? Give feedback.
-
I had the chance to go through @GeorgeFlerovsky's proposal in detail today and while I thought I would chime in in other threads, it was quite hard to do that as it contained many clarification questions & responses. This thread will be no different, so let's keep it a thread-per-reviewer discussion :) Overall: Thank you, George, for researching this and I hope this gets funded through catalyst as I'm curious if the different approach of dealing with snapshots can be done and brings the benefits you foresee. In any case, I will personally draw inspiration from your ideas in this, do understand now some aspects better also in other designs, and finally see many similarities - confirming we are on to something here altogether. Summary of what I liked/disliked:
General comment:
Questions:
|
Beta Was this translation helpful? Give feedback.
-
Why
This is an adaptation of the Coordinated Hydra Head protocol with more lightweight and scalable Hydra Heads. It introduces cheap and deterministic state update transactions as the default way to commit utxos to and decommit utxos from the Hydra Head. A similarly cheap finalization procedure can be used to stop operating the head if consensus can be maintained throughout its life. The halt and dissolve procedures (analogous to close and fanout in the Coordinated Hydra Head) are more expensive and should only be used if L2 consensus breaks down.
What
The main design ideas of Hydrozoa are:
The L1 component of the Hydra Head protocol becomes simpler, cheaper, and more scalable. In exchange, the L2 component is somewhat more complicated.
How
More details are described in the article:
https://github.com/GeorgeFlerovsky/cardano-ideas/blob/main/001/README.md
(Open in a browser, not the Github app — it sucks at rendering)
Lower-level details are currently TODO, but most of them should be straightforward to complete.
Beta Was this translation helpful? Give feedback.
All reactions