arnaucube
arnaucube/sonobe-docsPublic Self-hosted repository
add nova+cyclefold circuit diagram, add design section
arnaucube root@arnaucube.com
Sun, 31 Mar 2024 00:44:27 +0100
commit

9349058fa6b6a947cc9ffd168c2d656dbfd1fbfd

parent

318a601d4e8a6a89db5cf88a0fe0705992904222

M src/SUMMARY.md → src/SUMMARY.md

@@ -7,3 +7,5 @@ - [Fold](usage/fold.md)

- [Decider prove](usage/decider-prove.md) - [Solidity verifier](usage/solidity-verifier.md) - [Modularity](usage/modularity.md) +- [Design](design/design.md) + - [Nova+CycleFold circuit](design/novacyclefold-circuit.md)
A src/design/design.md

@@ -0,0 +1,6 @@

+# Design + +#### Notation +We work on a cycle of curves composed by $E_1$ and $E_2$, where $E_1.F_r = E_2.F_q$ and $E_1.F_q=E_2.F_r$. +We will use $F_r$ to refer to $E_1.F_r=E_2.F_q$, and $F_q$ to refer to $E_1.F_q=E_2.F_r$. +The main circuit constraint field is $F_r$, and $C_{EC}$ circuit constraint field is $F_q$.
A src/design/novacyclefold-circuit.md

@@ -0,0 +1,14 @@

+# Nova + CycleFold + +[CycleFold](https://eprint.iacr.org/2023/1192.pdf) improves the usage of the cycle of curves proposed in [Nova](https://eprint.iacr.org/2021/370.pdf). + +![](../imgs/cyclefold-paper-diagram.jpg) +*CycleFold applied to HyperNova, src: [https://eprint.iacr.org/2023/1192.pdf](https://eprint.iacr.org/2023/1192.pdf)* + +<br> + +We use a concrete version of the CycleFold approach applied to Nova. + +The following image provides a description of the main Nova circuit and CycleFold circuit over a couple of steps, implemented at [nova/circuits.rs](https://github.com/privacy-scaling-explorations/folding-schemes/blob/main/folding-schemes/src/folding/nova/circuits.rs) and [nova/cyclefold.rs](https://github.com/privacy-scaling-explorations/folding-schemes/blob/main/folding-schemes/src/folding/nova/cyclefold.rs). + +<a href="../imgs/cyclefold-nova-diagram.png" title="click to expand"><img src="../imgs/cyclefold-nova-diagram.png" /></a>