Skip to content

Aggregation proofs may be marking validator sets as aggregated too broadly #464

@Trynax

Description

@Trynax

Gm @oxsteins

I think there may be a validator-set status bug around aggregation proofs.

From what I can tell, ProcessAggregationProof() updates the validator set for that epoch to HeaderAggregated for any aggregation proof:

  • internal/usecase/entity-processor/entity_processor.go

But in the valset listener flow, it looks like only the dedicated valset-header proof request is treated as the signal that the validator set itself is aggregated:

  • internal/usecase/valset-listener/valset_listener_uc.go

What makes me think this might matter is that SignMessage can create arbitrary epoch-bound requests, so unrelated proofs for the same epoch may be able to advance validator-set aggregation state.

It also looks like this would affect the repo's latest aggregated valset tracking, not just the per-epoch status flag

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions