WizardOfMenlo / stir

STIR đŸ¥£: Reed–Solomon Proximity Testing with Fewer Queries
https://gfenzi.io/papers/stir
Apache License 2.0
54 stars 10 forks source link

Optimize STIR Prover #3

Closed cyl19970726 closed 1 month ago

cyl19970726 commented 1 month ago
  1. reuse the ans_polynomial to compute the quotient_polynomial
  2. reuse the betas to compute the quotient_answer
cyl19970726 commented 1 month ago

After optimization, the proof time is reduced by 1.5s.

Original Version

STIR - Shaken
Targeting 128-bits of security - protocol running at 106-bits - soundness: Conjecture
Starting degree: 2^24, stopping_degree: 2^6
Starting rate: 2^-2, folding_factor: 16
Number of rounds: 4. OOD samples: 2
Rates: 2^-2, 2^-5, 2^-8, 2^-11, 2^-14
PoW bits: [22, 18, 16, 18, 16]
Repetitions: [53, 22, 14, 10, 8]

[src/bin/prover.rs:127:9] stir_prover_time = 107.969776834s
[src/bin/prover.rs:128:9] stir_prover_hashes = 16252923

Optimization

STIR - Shaken
Targeting 128-bits of security - protocol running at 106-bits - soundness: Conjecture
Starting degree: 2^24, stopping_degree: 2^6
Starting rate: 2^-2, folding_factor: 16
Number of rounds: 4. OOD samples: 2
Rates: 2^-2, 2^-5, 2^-8, 2^-11, 2^-14
PoW bits: [22, 18, 16, 18, 16]
Repetitions: [53, 22, 14, 10, 8]

[src/bin/prover.rs:127:9] stir_prover_time = 106.666925417s
[src/bin/prover.rs:128:9] stir_prover_hashes = 16252923
WizardOfMenlo commented 1 month ago

Thank you! Merged