arkworks-rs / algebra

Libraries for finite field, elliptic curve, and polynomial arithmetic
https://arkworks.rs
Apache License 2.0
608 stars 240 forks source link

create new ark-group crate #591

Open mmaker opened 1 year ago

mmaker commented 1 year ago

As we try to implement some generic arguments, like generic inner-products, we must share common traits between Field and CurveGroup. This issue is meant to track the status of it, and the abstractions done over AdditiveGroup. This issue is a spin-off of #577

The new crate ark-group should also support MultiplicativeGroup, for multiplicative groups used over fields (and over PairingOutput?)

mmaker commented 1 year ago

In #577, @Pratyush suggests basing PairingOutput over MultiplicativeGroup. However, this would break some arguments and I'd rather vouch for it being AdditiveGroup. For instance. in a sumcheck-based argument for proving $\langle A, B \rangle$ with $A$, $B$ resp. in $\mathbb{G}_1$, $\mathbb{G}_2$, the sumcheck messages will be polynomials in the target group, and we'd expect to manipulate them just as sumcheck messages from $\langle a, b\rangle$ (with $a$, $b$ in $\mathbb{F}$), which are in $\mathbb{G}_1$, that is solely AdditiveGroup. This part requires some more thought