Skip to content

The calculation of g: The number of reports guaranteed by the validator #498

@YCC3741

Description

@YCC3741

When testing trace/preimage_light/0000008, we found issues with pi_V[v]_g as follows.

In tiny mode, the parameters are R = 4 and E = 12, which means the cores where the guarantors for slot 7 and slot 8 reside will rotate.

What we observed

  • Initially, our pi_V[v]_g was 2.
  • In slot 8, we received a guarantee_extrinsic containing two elements belonging to slot 7 and slot 8, respectively.
  • Core assignments:
    • slot 8 — [0,1,1,0,0,1]
    • slot 7 — [1,0,0,1,1,0]
  • Based on these assignments, we confirmed that the reports received for both slots were valid.

What we did

  • We incremented pi_V[v]_g twice by +1 (since kappa_v_prime ∈ G per GP 0.7.0 formula 13.5), resulting in pi_V[v]_g_prime = 4.

Where the ambiguity is

Should both reports be counted toward g in this case, or should we follow formula 13.5 strictly and add +1 only once?

Proposal

This ambiguity likely requires us to rethink how we calculate g.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions