hashcloak / stoffelMPC

GNU Affero General Public License v3.0
35 stars 4 forks source link

Look into supporting R1CS for Arithmetic circuits #7

Open Mikerah opened 2 years ago

Mikerah commented 2 years ago

R1CS is a way to represent arithmetic circuits that is heavily used within the ZKP community. Since MPC also makes use of arithmetic circuits, it would be interesting to see how we can support R1CS within StoffelMPC.

th4s commented 2 years ago

I looked into R1Cs and to me it seems very similar to linked lists in matrix notation. In fact it is just an equation per gate which is summarized into an equation system as a matrix. However, I am not sure if there are any advantages in using it for MPC circuits.

Mikerah commented 2 years ago

Right. That's why I created this issue to keep track of it. Plus, it would only be relevant for MPC protocols that rely on arithmetic circuits. I've read that MPC in the head-based ZKPs use R1CS but that isn't particularly relevant for Stoffel MPC (at least not yet).