Refactor Shplonk to have better encapsulated functionality on proving side and integrate it in ECCVM. Until now, we performed two IPA rounds in ECCVM, the second one necessary to ensure the consistency of transcript polynomials. We introduce Shplonk to batch the two opening claims and perform one round of IPA which reduces the number of constraints by ~5 million constraints in the ClientIVCRecursiveVerifier. The branch also includes small refactorings in ECCVM prover and verifier.
Before: 17956264
After: 12495384
(number of gates produced by running the prove_tube flow in branch and master)
Refactor Shplonk to have better encapsulated functionality on proving side and integrate it in ECCVM. Until now, we performed two IPA rounds in ECCVM, the second one necessary to ensure the consistency of transcript polynomials. We introduce Shplonk to batch the two opening claims and perform one round of IPA which reduces the number of constraints by ~5 million constraints in the ClientIVCRecursiveVerifier. The branch also includes small refactorings in ECCVM prover and verifier.
(number of gates produced by running the
prove_tube
flow in branch and master)