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

Align implementation with HeadV1 protocol specification #452

Closed
16 of 20 tasks
ch1bo opened this issue Aug 5, 2022 · 4 comments · Fixed by #745
Closed
16 of 20 tasks

Align implementation with HeadV1 protocol specification #452

ch1bo opened this issue Aug 5, 2022 · 4 comments · Fixed by #745
Labels
red 💣 💥 ⁉️ Very complex, risky or just not well understood feature 💬 feature A feature on our roadmap
Milestone

Comments

@ch1bo
Copy link
Collaborator

ch1bo commented Aug 5, 2022

Why

In the work stream to mature the Hydra Head protocol enough to aim for a mainnet release, we have been running our implementation against a formal model and created an updated specifiction (because the protocol evolved since publishing the peer-reviewed paper).

These prior works will/did highlight gaps in our implementation of the protocol behavior and/or the scripts that should ensure protocol security on the layer 1.

What

This work package is about addressing and closing these first gaps:

  • Make sure the on-chain code (validators) is checking what is specified
  • Make sure the off-chain code (HeadLogic + chain layer) is working as specified

How

  • Create an updated version of transaction traces & publish them to website #639
    • Useful to do this before and after addressing the changes in this feature!
    • Also, we want to make this more visible in our documentation as it helps understand the protocol (e.g. create a page in "core concepts" on the website)
    • Not sure what we want to do about this traces now so let's keep them internal for now as a conversation tool and see what happens later
  • Go through all the gaps and fix them (See below)
    • Update or create tests corresponding to each item and link them from the gap list closed in this work package

Gaps identified so far

Transition security

Protocol logic

@ch1bo ch1bo added 💬 feature A feature on our roadmap red 💣 💥 ⁉️ Very complex, risky or just not well understood feature labels Aug 5, 2022
@ch1bo
Copy link
Collaborator Author

ch1bo commented Aug 5, 2022

Marked 🔴 as not yet discussed. Depends on outcomes of #194 #448.

@abailly-iohk
Copy link
Contributor

Marked amber as the list of gaps appears somewhat clearer (and solvable...)

@ch1bo
Copy link
Collaborator Author

ch1bo commented Nov 15, 2022

When running hydra heads we might have discovered another gap / at least an annoyance: #612

@pgrange pgrange mentioned this issue Jan 5, 2023
2 tasks
@ch1bo ch1bo removed the amber ⚠️ Medium complexity or partly unclear feature label Jan 23, 2023
@ch1bo
Copy link
Collaborator Author

ch1bo commented Jan 23, 2023

Marking this 🔴 as the scope of this is very large and there is still substantial work to be done. Ideally, we should split things into smaller marketable features (e.g. safeguarding against one or the other attack)

@pgrange pgrange mentioned this issue Feb 8, 2023
4 tasks
@ch1bo ch1bo added this to the Mainnet milestone Feb 9, 2023
@ch1bo ch1bo mentioned this issue Feb 17, 2023
4 tasks
@ch1bo ch1bo linked a pull request Feb 24, 2023 that will close this issue
4 tasks
@ch1bo ch1bo modified the milestones: Mainnet, 0.9.0 Mar 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
red 💣 💥 ⁉️ Very complex, risky or just not well understood feature 💬 feature A feature on our roadmap
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants