diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..e816fea --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,28 @@ +name: publish + +on: + push: + branches: + - main + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Install mdbook + uses: peaceiris/actions-mdbook@v1 + with: + mdbook-version: '0.4.37' + - name: Install mdbook-katex + uses: actions-rs/cargo@v1 + with: + command: install + args: mdbook-katex@0.7.0 + - name: Build html + run: mdbook build ./ + - name: Deploy to GitHub Pages + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./book/html diff --git a/.github/workflows/typos.toml b/.github/workflows/typos.toml new file mode 100644 index 0000000..30e6074 --- /dev/null +++ b/.github/workflows/typos.toml @@ -0,0 +1,2 @@ +[default.extend-words] +groth = "groth" diff --git a/.github/workflows/typos.yml b/.github/workflows/typos.yml new file mode 100644 index 0000000..341ecb6 --- /dev/null +++ b/.github/workflows/typos.yml @@ -0,0 +1,18 @@ +name: typos +on: + push: + branches: + - main + +jobs: + typos: + if: github.event.pull_request.draft == false + name: Spell Check with Typos + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Use typos with config file + uses: crate-ci/typos@master + with: + config: .github/workflows/typos.toml + diff --git a/src/README.md b/src/README.md new file mode 100644 index 0000000..306325b --- /dev/null +++ b/src/README.md @@ -0,0 +1,30 @@ +# sonobe docs + +Experimental folding schemes library implemented in a joint effort by [0xPARC](https://0xparc.org/) and [PSE](https://pse.dev). + + + +
+Sonobe is a modular library to fold circuit instances in an Incremental Verifiable computation (IVC) style, which allows to generate a zkSNARK proof of the circuit foldings that can be verified in Ethereum's EVM. +

+"The Sonobe module is one of the many units used to build modular origami. The popularity of Sonobe modular origami models derives from the simplicity of folding the modules, the sturdy and easy assembly, and the flexibility of the system." + +

+ + +## Schemes implemented +The library uses [arkworks](https://github.com/arkworks-rs), and implements the following folding schemes: + +- [Nova: Recursive Zero-Knowledge Arguments from Folding Schemes](https://eprint.iacr.org/2021/370.pdf), Abhiram Kothapalli, Srinath Setty, Ioanna Tzialla. 2021 +- [CycleFold: Folding-scheme-based recursive arguments over a cycle of elliptic curves](https://eprint.iacr.org/2023/1192.pdf), Abhiram Kothapalli, Srinath Setty. 2023 + +Work in progress: + +- [HyperNova: Recursive arguments for customizable constraint systems](https://eprint.iacr.org/2023/573.pdf), Abhiram Kothapalli, Srinath Setty. 2023 +- [ProtoGalaxy: Efficient ProtoStar-style folding of multiple instances](https://eprint.iacr.org/2023/1106.pdf), Liam Eagen, Ariel Gabizon. 2023 + +### Available frontends +Available frontends to define the folded circuit: + +- [arkworks](https://github.com/arkworks-rs), arkworks contributors +- [Circom](https://github.com/iden3/circom), iden3, 0Kims Association diff --git a/src/SUMMARY.md b/src/SUMMARY.md new file mode 100644 index 0000000..e89c3b7 --- /dev/null +++ b/src/SUMMARY.md @@ -0,0 +1,3 @@ +# sonobe docs +[Introduction](README.md) + diff --git a/src/imgs/sonobe.png b/src/imgs/sonobe.png new file mode 100644 index 0000000..39c1d75 Binary files /dev/null and b/src/imgs/sonobe.png differ