privacy-scaling-explorations / sonobe

Experimental folding schemes library
https://privacy-scaling-explorations.github.io/sonobe-docs/
MIT License
204 stars 53 forks source link

Allow tree-like folding #136

Open arnaucube opened 3 months ago

arnaucube commented 3 months ago

Current implementation only allows to fold over the main streamline in a linear way, where there is a main running instance and new fresh incoming instances (which don't come from a folding process) are folded into the main running instance. The task of this issue is to allow to fold in a tree-shape style, where the instances being fold can come from previous folding steps.

This requires adapting the checks being done at the folding step in the diverse folding schemes implemented, part of this issue/task is thinking how to do it. This will unlock parallel folding.

nikkolasg commented 3 months ago

My 2 sonobe-uninformed cents: The most naive and simple way to achieve that is extending the FCircuit trait to accept a zis: Vec<Vec<F>> each corresponding to one incoming instance.