You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To make Spartan compatible with other proving backends, it would be helpful to implement the ark-snarkSNARK trait. This would, for example, allow for Spartan to be used alongside Sonobe as opposed to the other SNARKs to choose from. Current list of known implementations are:
It rests a handful of commits ahead and behind this repository but does not actually implement the necessary trait. Most of the changes are to swap to an arkworks backend in some places.
My guess is that it is not of interest to have this specific crate gutted this far to do this, but perhaps, at least, there could be a feature flag for arkworks.
More comments
Based on discussion, it seems like swapping out bellpepper for arkworks fields and curves would be the goal here. Not sure if the constraint system would also have to change, but likely will.
Tasks
These tasks are preliminary thoughts and may need to change.
Use ark-ff in place of ff.
Use ark-ec for curves.
Use ark-relations in place of bellpepper / bellpepper-core
Use ark-snark to implement SNARK trait for Spartan variants.
Backlink
Original discussion happened here. May need more discussion before moving forward.
I can at least start trying to do drop in replacements of ark-* crates with draft PR and we can monitor along the way.
The text was updated successfully, but these errors were encountered:
Proposal
To make Spartan compatible with other proving backends, it would be helpful to implement the
ark-snark
SNARK
trait. This would, for example, allow for Spartan to be used alongside Sonobe as opposed to the other SNARKs to choose from. Current list of known implementations are:(see here).
Those at Sonobe are definitely interested.
Work to be done
A while back there was a fork of this repo made by the arkworks community: https://github.com/arkworks-rs/spartan
It rests a handful of commits ahead and behind this repository but does not actually implement the necessary trait. Most of the changes are to swap to an arkworks backend in some places.
My guess is that it is not of interest to have this specific crate gutted this far to do this, but perhaps, at least, there could be a feature flag for
arkworks
.More comments
Based on discussion, it seems like swapping out bellpepper for arkworks fields and curves would be the goal here. Not sure if the constraint system would also have to change, but likely will.
Tasks
These tasks are preliminary thoughts and may need to change.
ark-ff
in place offf
.ark-ec
for curves.ark-relations
in place ofbellpepper
/bellpepper-core
ark-snark
to implementSNARK
trait for Spartan variants.Backlink
Original discussion happened here. May need more discussion before moving forward.
I can at least start trying to do drop in replacements of
ark-*
crates with draft PR and we can monitor along the way.The text was updated successfully, but these errors were encountered: