Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Possibility to support many customized gates in Libra/Virgo #40

Open
weikengchen opened this issue Feb 12, 2021 · 1 comment
Open

Possibility to support many customized gates in Libra/Virgo #40

weikengchen opened this issue Feb 12, 2021 · 1 comment
Labels
enhancement New feature or request

Comments

@weikengchen
Copy link
Member

One thing special in Libra/Virgo is that it supports many customized gates, particularly:

  1. a gate that sums 2^L values together.
  2. an expsum gate that computes the bit composition of 2^L values.

These gates have the potential to reduce the amount of computation---adding 2^L values together with the 2-input, 1-output addition gates would take about 2^{L}-1 gates and L layers.

Reducing the number of layers would have multiple benefits: (1) cut the rounds, so fewer sumchecks, fewer poly-commits and (2) in general fewer gates, so smaller FFT (in Virgo).

@tsunrise tsunrise added the enhancement New feature or request label Feb 16, 2021
@tsunrise
Copy link
Member

tsunrise commented Oct 6, 2021

sorry I haven't revisited this repo for a long time. For now, this repo only contains native code for multivariate sumcheck. (I plan to refactor some of the code after ark-bcs becomes public)

I'm not familiar with Libra/Virgo, but are we supposed to implement those gates in r1cs-std?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants