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

Consider splitting inner-product vectors idiomatically #55

Closed
AaronFeickert opened this issue Aug 7, 2023 · 0 comments · Fixed by #57
Closed

Consider splitting inner-product vectors idiomatically #55

AaronFeickert opened this issue Aug 7, 2023 · 0 comments · Fixed by #57

Comments

@AaronFeickert
Copy link
Contributor

Currently, the inner-product prover splits vectors using pairs of slices. In each case, the intent is to split each vector in half for folding operations.

A somewhat more idiomatic approach could be to perform a split directly.

This could also be a good opportunity to perform bounds checking in each inner-product round, instead of only initially, just in case the caller did something wonky between rounds.

SWvheerden added a commit that referenced this issue Aug 24, 2023
The inner-product prover is a bit clunky, as it requires the range
prover to set up a struct, perform iterative rounds, and then parse out
the proof elements it needs. This also requires consistency checks that
it would be nicer to avoid.

This PR moves the inner-product prover into the range prover, which
simplifies things at the cost of a longer prover function.

It also fixes some [vector
allocations](https://github.com/tari-project/bulletproofs-plus/blob/d9d0cc9063f85684179908569227dda251981751/src/inner_product_round.rs#L111-L112)
that were much bigger than necessary.

Closes #61. Closes #55. Supersedes #56.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant