- The first demo version of Universal Groth16 was released.
- The codes for algorithms were optimized.
- The proving time for an Ether transfer circuit was reduced from 6.5 hours to 5.04 hours.
- Circom codes for subcircuits of EVM opcodes were fixed to cover almost every EVM-compatibility test.
- For multiplication and division of polynomials, FFTs were applied
- The proving time for an Ether transfer circuit was reduced from 5.04 hours (with convolution of coefficients) to 17.92 mins.
- Continuous integration (CI) workflow was added to the repository with automated lint check and integration tests.
- A docker image for Circom environment was installed for the automated integration tests.
- An interactive command line interface has been added to improve user experience.
- For division of QAP polynomials, an efficient algorithm was applied.
- The dividing time for an Ether transfer circuit was reduced from 11.74 mins (with polynomial long division and FFT) to 68 milliseconds (the total proving time was reduced from 17.92 mins to 6.03 mins).
- For multi-scalar exponentiations (MSM), a batched computation using WASM provided by Iden3 was applied
- The MSM time for an Ether transfer circuit was reduced from 25.9 secs (with separated computation) to 0.6 secs (the proving time was reduced from 6.03 mins to 5.49 mins).
- When proving, derived circuit polynomials are not loaded from a file, any more. Instead, the prove algorithm itself derives the circuit polynomials in an efficient way.
- The proving time for an Ether transfer circuit was reduced from 5.49 mins to 52 seconds.