owned this note
owned this note
Published
Linked with GitHub
---
tags: EF&PSE
---
# Folding-Schemes team updates Oct 2024
> ++Table of contents++
> [TOC]
# News for the upcomming month that are relevant.
- 2024-10-08: A member of our team, @arnaucube (0xPARC), will be presenting Sonobe and the Ethereum Decider circuit at ZKSummit12 (Lisbon). See more here: https://www.zksummit.com/ Breakout room at 10:30am.
- 2024-11-12: Two members of our team, @dmpierre (PSE) and @arnaucube (0xPARC), will be presenting Sonobe and showing it's usage at Devcon7 (Bangkok). See more here: https://devcon.org/en/sea/schedule/PPFPQY/.
- On another note, we're collaborating with 2 different research teams to implement their work on different areas. We can't say much yet. But you'll see!
:::danger
We're considering whether we should keep working on Folding or switch to new topics that also need research and development.
Mainly, our concern is that even there's a lot of research going on, we don't see many users or actors in the ecosystem that rely on folding.
Additionally, until now we've been focusing on a highly-modular library, but for folding use cases it might make sense to implement a specific-purpose library optimized and with the features needed for the specific use case, instead of a modular library containing multiple different folding schemes.
**Feedback is welcome as can help us decide what to do with Sonobe**.
For now, the plan is to keep working until Devcon and possibly the end of the year.
:::
# Updates within the ecosystem this month
- New work incomming by Bünz, Mishra, Nguyen and Wang on a follw-up to the [Accumulation Without Homommorphism](https://eprint.iacr.org/2024/474.pdf) work which promises to be much much faster and competitive.
See: https://x.com/zkproofs/status/1838222641922257166 for more info.
- Ova folding scheme work by Benedikt Bünz: https://hackmd.io/V4838nnlRKal9ZiTHiGYzw?view
Ova is a slight modification to Nova that shaves off 1 group operation and a few hashes. The key idea is that we can commit to $T$ and $W$ in one commitment.
In essence, this means it requires half of the work in the NIFS logic compared with Nova NIFS. Which should lead to significant speedups at the cost of the PCD property.
- Mova folding scheme work by Nethermind: https://eprint.iacr.org/2024/1220
A folding scheme for R1CS instances that does not require committing to error or cross terms, nor makes use of the sumcheck protocol.
This leads to a 5-10x faster NIFS prover than in Nova at the cost of a more expensive verifier due to the Multilinear setting dependency.
This work still allows for PCD-like folding. So seems to have high potential.
# Active lines of work for the team:
- Implementing the IVC + Decider + Solidity verifier instrumentation for [Ova](https://hackmd.io/V4838nnlRKal9ZiTHiGYzw?view) and get benchmarks.
- [Mangrove](https://eprint.iacr.org/2024/416) is actively being developed. A folding-based SNARK which aims to break down the process of creating a SNARK proof into the process of folding very small pieces of it.
We hope to have an implementation earlier than Devcon.
- [FLIP and RelaxedGroth16](https://eprint.iacr.org/2024/1364) will get started soon. This work doesn't only introduce a new folding scheme based on inner-pairing products. But also outlines the craft for RelaxedGroth16. Something that could be really meaninful in terms of performance for lots of folding schemes.
- Library optimization
We plan start introducing [ICICLE](https://dev.ingonyama.com/icicle/overview) within the lib to get access to much faster primitives. Not only that but also start looking a bit more on all the optimizations we know we can do and aren't doing yet.
- WASM and mobile folding.
The team is working hard on enabling an easy way to fold from phones. Specially, to allow WASM-interaction. More details: [#155](https://github.com/privacy-scaling-explorations/sonobe/issues/155)
- Finishing the [ProtoGalaxy](https://eprint.iacr.org/2023/1106) implementation
- Keep improving Sonobe-docs documentation https://privacy-scaling-explorations.github.io/sonobe-docs/
# Future possible directions we consider taking
- Collaborating with Stanford folks on an impl of [Accumulation without Homomorphism](https://eprint.iacr.org/2024/474.pdf). In particular on the new work they're cooking. We belive getting rid of cycles of curves and being able to use small fields could appoint Folding Schemes as the most performant and useful solution for IVC proving or folding-based SNARKS. Therefore, we feel that investing time and effort on going towards this makes complete sense.
- [LatticeFold](https://eprint.iacr.org/2024/257) implementation. This is a promising scheme that with the rise of FHE could develop into a very interesting primitive.
- Work closely with academia experts like Srinath Setty in order to explore more optimal [SuperNova](https://eprint.iacr.org/2022/1758)-like schemes. That can really appoint folding as a good way/strategy to implement ZKVMs or other more-generic primitives.
# PRs and work done over the month
- Protogalaxy-based IVC [#123](https://github.com/privacy-scaling-explorations/sonobe/pull/123): This is an implementation of the IVC scheme based on Protogalaxy, which is compiled from Protogalaxy "the folding scheme" by leveraging CycleFold.
- Protogalaxy Decider Circuit [#145](https://github.com/privacy-scaling-explorations/sonobe/pull/145): A significant step forward in developing the decider circuits within Sonobe, particularly focusing on the Protogalaxy approach, enhancing recursive proving methods for compressed proofs.
- WASM I/O Compatibility [#149](https://github.com/privacy-scaling-explorations/sonobe/pull/149): Added features for WASM-based I/O, allowing for browser compatibility by enabling file uploads within web environments. This is crucial for enabling the folding schemes in browser contexts.
- Serializers for various data structures, to allow passing proofs between different instances: [#151](https://github.com/privacy-scaling-explorations/sonobe/pull/151), [#159](https://github.com/privacy-scaling-explorations/sonobe/pull/159)
- Implement HyperNova DeciderEth [#156](https://github.com/privacy-scaling-explorations/sonobe/pull/156): This allows the onchain verification of HyperNova IVC instances.
- Implement Mova NIFS [#161](https://github.com/privacy-scaling-explorations/sonobe/pull/161): Added code for the Mova folding scheme (as specified in the https://eprint.iacr.org/2024/1220) into the list of the folding-schemes supported.
- Implement Ova NIFS [#163](https://github.com/privacy-scaling-explorations/sonobe/pull/163): This adds support for the work outlined by Bunz in: https://hackmd.io/V4838nnlRKal9ZiTHiGYzw?view.
- Nova Variants (Nova, Ova, Mova) NIFS Abstraction [#165](https://github.com/privacy-scaling-explorations/sonobe/pull/165): This PR focuses on reducing the redundancy between all the Nova variants (Nova, Ova, Mova) by "traityfying" the `NIFS`.
- Refactor Arith trait [#162](https://github.com/privacy-scaling-explorations/sonobe/pull/162) and add traits for Witnesses and Commimtted Instances [#157](https://github.com/privacy-scaling-explorations/sonobe/commit/dfd03ea3865b26d20a6f306bb3cfb24a4b9e0c60): this allows better abstractions for the arithmetic related usage, providing more modularity.
- Implement Nova Off-chain Decider circuits [#160](https://github.com/privacy-scaling-explorations/sonobe/pull/160): For the non-ethereum use cases, these circuits verify for the Off-chain case the IVC proofs.
- Implement Nova Off-chain Decider prover & verifiers [#164](https://github.com/privacy-scaling-explorations/sonobe/pull/164): The idea & motivation is that the onchain decider could still be used for non-onchain verification but the proving time is big (eg. a little bit less than 3 minutes on my laptop) since the circuit is big due the EVM constraints. Whereas with this new offchain decider we can generate the proofs much faster for the cases where it is not required to verify the proofs in the EVM. More details at the [Sonobe-docs/offchain-decider](https://privacy-scaling-explorations.github.io/sonobe-docs/design/nova-decider-offchain.html).
- Fix a couple of arkworks issues that unlock evaluating polynomials in the various Deciders circuits [#166](https://github.com/privacy-scaling-explorations/sonobe/pull/166)
- Add IVCProof data structure [#167](https://github.com/privacy-scaling-explorations/sonobe/pull/167), so that the IVC state & proof can be sent between different provers to continue folding and to verifiers (through serialized bytes).