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

Update contextual validation of checkpointed merged ATXs #6434

Open
Tracked by #320
fasmat opened this issue Nov 6, 2024 · 0 comments
Open
Tracked by #320

Update contextual validation of checkpointed merged ATXs #6434

fasmat opened this issue Nov 6, 2024 · 0 comments

Comments

@fasmat
Copy link
Member

fasmat commented Nov 6, 2024

Description

When the ATX handler receives a merged ATX in an epoch that was checkpointed additional rules for syntactic validation need to be added:

  • If the merged ATX references a marriage ATX that a golden ATX also references it should be considered syntactically invalid and not stored in the nodes DB.
  • Since the ATX is considered syntactically invalid, no malfeasance proof needs to be created for this case.

Implementation hints

See comments here:

// TODO(mafa): during syntactical validation we should check if a merged ATX is targeting a checkpointed epoch
// merged ATXs need to be checkpointed with their marriage ATXs
// if there is a collision (i.e. the new ATX references the same marriage ATX as a golden ATX) it should be
// considered syntactically invalid
//
// see https://github.com/spacemeshos/go-spacemesh/issues/6434
otherAtx, err := h.fetchWireAtx(ctx, tx, other)
if err != nil {
return false, fmt.Errorf("fetching other ATX: %w", err)
}

@fasmat fasmat mentioned this issue Nov 6, 2024
20 tasks
@fasmat fasmat transferred this issue from spacemeshos/pm Nov 6, 2024
@fasmat fasmat self-assigned this Nov 6, 2024
@fasmat fasmat moved this to 🔖 Next in Dev team kanban Nov 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 🔖 Next
Development

No branches or pull requests

1 participant