Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Walk-through and help rewrite new protocol spec with researchers #435

Closed
Tracked by #448
ch1bo opened this issue Jul 21, 2022 · 3 comments
Closed
Tracked by #448

Walk-through and help rewrite new protocol spec with researchers #435

ch1bo opened this issue Jul 21, 2022 · 3 comments
Assignees

Comments

@ch1bo
Copy link
Collaborator

ch1bo commented Jul 21, 2022

Why

The formalism used in the paper is not capturing well the nature of on-chain verification within Cardano. For example, validators do not produce values, but merely check existing ones. Hence, the Hydra researchers are drafting up new specification in a slightly different formalism to more faithfully capture the checks to be done on-chain.

What

As they have created a first draft here (https://docs.google.com/document/d/11LlTTUuHu-3d-krq-O1h59kHm93Kb4cCQ6GhOcodFys/edit#), we now have a set of meetings to walk through both, the formalism and the actual specification, and review it together with them. This story captures the work on these sessions and the outcome being

  • A specification of the on-chain verification part
  • A list of any gaps already identified
@ch1bo ch1bo self-assigned this Jul 21, 2022
@ch1bo
Copy link
Collaborator Author

ch1bo commented Jul 21, 2022

Gaps so far

  • SM cid checks - how would we be sure an NFT is indeed an ST? pack it in datum instead?
  • ST in output value - seems not be checked right now
  • T_max very big on close/contest (close, but only have deadline in 10y)

@ch1bo
Copy link
Collaborator Author

ch1bo commented Aug 1, 2022

Things we do differently right now (on top of the ones above)

  • Check committed outputs are reimbursed on v_head instead of v_commit
    • individual checks would "collapse" if two identical TxOuts were committed and only one needs to be reimbursed to pass
  • Validator can assume first output is v_head output (simplification)
  • Snapshot number and utxo hash need not be in the redeemer on close/contest
    • the output datum needs to include them and we can check using that
    • only the signature is enough
  • Do not allow contest by closing party and only allow contest once
    • need to collect who contested in the datum and check it
    • needed? leads to upper bound of T_final when we do this 👇
  • Deadline handling changed between paper and V2 -> T_final gets pushed out on each close/contest
    • this is easier to determine and scales with number of parties

@ch1bo
Copy link
Collaborator Author

ch1bo commented Aug 5, 2022

@KtorZ @ffakenz I would say this subtask of #448 can be called done as we have a first draft of the on-chain spec + above list of currently identified gaps, which we also collect in the overall follow-up story #452

@ch1bo ch1bo closed this as completed Aug 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant