All of the Gemini prover functionality is handled by the function Gemini::reduce_prove. This part of the protocol involves computing commitments, adding them to the transcript, computing a challenge, then performing some subsequent calculations using the challenge. Eventually we want to compute commitments in the work_queue to facilitate parallelization in WASM. This requires that Gemini::reduce_prove be broken into two separate functions. The first contains the functionality prior to the computation of the commitments, the second contains the calculations done with the challenge generated based on the commitments.
All of the Gemini prover functionality is handled by the function
Gemini::reduce_prove. This part of the protocol involves computing commitments, adding them to the transcript, computing a challenge, then performing some subsequent calculations using the challenge. Eventually we want to compute commitments in thework_queueto facilitate parallelization in WASM. This requires thatGemini::reduce_provebe broken into two separate functions. The first contains the functionality prior to the computation of the commitments, the second contains the calculations done with the challenge generated based on the commitments.