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

Telescope-ALBA proof for STM #2354

Draft
wants to merge 8 commits into
base: main
Choose a base branch
from
Draft

Conversation

curiecrypt
Copy link
Collaborator

@curiecrypt curiecrypt commented Mar 6, 2025

Content

This PR includes:

  • The struct TelescopeProof:
    • signer_index_sigreg_map: The map storing the stm signatures and their signer index corresponding to the alba proof elements.
    • batch_proof: Batch proof of the signatures
    • retry_counter of Alba proof
    • search_counter of Alba proof
    • index_sequence: Alba proof element sequence.
      • Alba proof returns a sequence of the elements of the form: (Hash of the lottery index, signer index of this lottery index).
      • Instead of including 48B data to the aggregate, the u64 lottery is stored.
  • telescope_aggregate function.
    • Collects unique StmSigs
    • Creates a prover set as alba proof generation input. The prover set contains the hash of the unique lottery index and the signer index of this winning lottery as an element.
    • The map of winning lottery index and its hash; and the map of signer index and StmSigRegParty are created.
    • Alba proof generated.
    • From the element sequence of the Alba proof:
      • The corresponding winning lottery indices of the element data (which is a hash) are extracted. A mapping with index and signer is generated.
      • The StmSigRegPartys are filtered and only the parties are kept if their winning index(es) are in the proof sequence.
    • Batch proof is created.
    • TelescopeProof is returned.
  • verify function:
    • Indices of the signers are checked if they actually won the lottery.
    • Uniqueness of the indices is checked.
    • Alba proof index sequence is verified by checking if the corresponding signer actually owns that winning index.
    • Batch proof is verified.
    • (BLS) Signatures are verified.
    • The prover set is reconstructed by using the index sequence.
    • Alba proof is verified.

Pre-submit checklist

  • Branch
    • Tests are provided (if possible)
    • Crates versions are updated (if relevant)
    • CHANGELOG file is updated (if relevant)
    • Commit sequence broadly makes sense
    • Key commits have useful messages
  • PR
    • All check jobs of the CI have succeeded
    • Self-reviewed the diff
    • Useful pull request description
    • Reviewer requested
  • Documentation
    • Update README file (if relevant)
    • Update documentation website (if relevant)
    • Add dev blog post (if relevant)
    • Add ADR blog post or Dev ADR entry (if relevant)
    • No new TODOs introduced

Comments

Issue(s)

Closes #2353

Copy link

github-actions bot commented Mar 6, 2025

Test Results

    3 files  ±0     57 suites  ±0   13m 22s ⏱️ + 2m 2s
1 773 tests +1  1 773 ✅ +1  0 💤 ±0  0 ❌ ±0 
2 171 runs  +1  2 171 ✅ +1  0 💤 ±0  0 ❌ ±0 

Results for commit bc452b5. ± Comparison against base commit ba14422.

♻️ This comment has been updated with latest results.

@curiecrypt curiecrypt temporarily deployed to testing-preview March 7, 2025 13:23 — with GitHub Actions Inactive
@curiecrypt curiecrypt temporarily deployed to testing-preview March 7, 2025 16:42 — with GitHub Actions Inactive
@jpraynaud jpraynaud added the prototype 🛠️ Prototype/PoC of a feature label Mar 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
prototype 🛠️ Prototype/PoC of a feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Alba proof out of STM signatures
2 participants