diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 16d3140..348763f 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -7,3 +7,5 @@ - [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) diff --git a/src/design/design.md b/src/design/design.md new file mode 100644 index 0000000..99d8db8 --- /dev/null +++ b/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$. diff --git a/src/design/novacyclefold-circuit.md b/src/design/novacyclefold-circuit.md new file mode 100644 index 0000000..232f1d2 --- /dev/null +++ b/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)* + +
+ +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). + + diff --git a/src/imgs/cyclefold-nova-diagram.png b/src/imgs/cyclefold-nova-diagram.png new file mode 100644 index 0000000..9c15512 Binary files /dev/null and b/src/imgs/cyclefold-nova-diagram.png differ diff --git a/src/imgs/cyclefold-paper-diagram.jpg b/src/imgs/cyclefold-paper-diagram.jpg new file mode 100644 index 0000000..01d64a9 Binary files /dev/null and b/src/imgs/cyclefold-paper-diagram.jpg differ