Always abortable Head #699
Labels
L1
Affects the on-chain protocol of Hydra
superseded
An item that may get superseded by related feature.
💭 idea
An idea or feature request
Why
We want Hydra Heads to be safe to use. This means that we can always abort initialization of a Hydra Head and no already committed funds can "get locked in" a Head.
Also, we want to not (artificially) limit how many UTxOs an individual participant can commit.
Currently after committing some UTxO into a Head, it either needs to be
collect
ed when the Head becomes open, or gets reimbursed in anabort
transaction. Both,collect
andabort
need to process all the commits at the same time. This is problematic if, adversarial or by accident, someone commits a UTxO complex enough that neithercollect
norabort
is possible - fits into the L1 transaction limits. This is especially true since Babbage, where outputs can have big inline datums, and if we want to relax the limit of only committing one input. This is related to #698 and #190, but this one here is only about the initialization stage of the Head.What
Multiple alternative solutions have been identified so far:
restore
transactioncleanup
transaction can be used to clean up the head outputabort
transaction as known so farundoCommit
transactionWithin this item we want to explore both, but only implement one variant.
How
collect
"does not fit".Some thoughts
cleanup
may orphan the commits and Head state is not "containing" it the same wayThe text was updated successfully, but these errors were encountered: