Skip to content

Review the fairness of the single signature selection algorithm for the non-recursive SNARK #3427

Description

@jpraynaud

Why

select_valid_signatures_for_k_indices picks the signatures that enter the proof by hash priority, then deduplicates by keeping the smallest hash per index. The algorithm is deterministic and tested, but its fairness across signers over many epochs has not been analyzed.

What

Analyze the selection algorithm for fairness and for manipulability, and adjust it if the analysis calls for it.

How

  • Model the selection probability per signer as a function of the stake and of the number of won lotteries
  • Check whether a signer can influence its own selection odds
  • Simulate the selection over many epochs and report the distribution
  • Propose an adjustment if a bias is found, and cover it with property tests (proof_system/halo2_snark/clerk.rs)

Later

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions