arkworks-rs / r1cs-std

R1CS constraints for bits, fields, and elliptic curves
https://www.arkworks.rs
Apache License 2.0
137 stars 59 forks source link

Implement "energy-saving" circuit optimization from Gepetto. #89

Open Pratyush opened 2 years ago

Pratyush commented 2 years ago

Summary

The Gepetto paper provides an interesting optimization that can provide savings for the unused branch of a conditional select. Namely, since the variable in the unused branch is not used further, we can assign it a value of zero (if there are no other checks involving that variable). This can help reduce proving cost, since the assignment to the unused variable would not contribute to any MSMs.

Problem Definition

Proposal


For Admin Use