-
Notifications
You must be signed in to change notification settings - Fork 274
Compression integration (draft) #1134
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
base: main
Are you sure you want to change the base?
Conversation
| fn commit_compressed( | ||
| poly: &MultilinearPolynomial<ark_bn254::Fr>, | ||
| setup: &Self::ProverSetup, | ||
| ) -> (Self::CompressedCommitment, Self::OpeningProofHint) { | ||
| let _span = trace_span!("DoryCommitmentScheme::commit").entered(); | ||
|
|
||
| let num_cols = DoryGlobals::get_num_columns(); | ||
| let num_rows = DoryGlobals::get_max_num_rows(); | ||
| let sigma = num_cols.log_2(); | ||
| let nu = num_rows.log_2(); | ||
|
|
||
| todo!() | ||
| // let (tier_2, row_commitments) = <MultilinearPolynomial<ark_bn254::Fr> as Polynomial< | ||
| // ArkFr, | ||
| // >>::commit_compressed::<ArkBn254, JoltG1Routines>( | ||
| // poly, nu, sigma, setup | ||
| // ) | ||
| // .expect("commitment should succeed"); | ||
|
|
||
| // (tier_2, row_commitments) | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The commit_compressed method currently contains a todo!() statement that will panic at runtime if called. Before this PR can be merged, this method needs to be fully implemented. Consider uncommenting and completing the code below the todo!() statement, which appears to be the intended implementation path. This is particularly important since the compressed commitment functionality is a core part of this integration.
| fn commit_compressed( | |
| poly: &MultilinearPolynomial<ark_bn254::Fr>, | |
| setup: &Self::ProverSetup, | |
| ) -> (Self::CompressedCommitment, Self::OpeningProofHint) { | |
| let _span = trace_span!("DoryCommitmentScheme::commit").entered(); | |
| let num_cols = DoryGlobals::get_num_columns(); | |
| let num_rows = DoryGlobals::get_max_num_rows(); | |
| let sigma = num_cols.log_2(); | |
| let nu = num_rows.log_2(); | |
| todo!() | |
| // let (tier_2, row_commitments) = <MultilinearPolynomial<ark_bn254::Fr> as Polynomial< | |
| // ArkFr, | |
| // >>::commit_compressed::<ArkBn254, JoltG1Routines>( | |
| // poly, nu, sigma, setup | |
| // ) | |
| // .expect("commitment should succeed"); | |
| // (tier_2, row_commitments) | |
| } | |
| fn commit_compressed( | |
| poly: &MultilinearPolynomial<ark_bn254::Fr>, | |
| setup: &Self::ProverSetup, | |
| ) -> (Self::CompressedCommitment, Self::OpeningProofHint) { | |
| let _span = trace_span!("DoryCommitmentScheme::commit").entered(); | |
| let num_cols = DoryGlobals::get_num_columns(); | |
| let num_rows = DoryGlobals::get_max_num_rows(); | |
| let sigma = num_cols.log_2(); | |
| let nu = num_rows.log_2(); | |
| let (tier_2, row_commitments) = <MultilinearPolynomial<ark_bn254::Fr> as Polynomial< | |
| ArkFr, | |
| >>::commit_compressed::<ArkBn254, JoltG1Routines>(poly, nu, sigma, setup) | |
| .expect("commitment should succeed"); | |
| (tier_2, row_commitments) | |
| } |
Spotted by Graphite Agent
Is this helpful? React 👍 or 👎 to let us know.
Cargo.toml
Outdated
| ark-ec = { git = "https://github.com/a16z/arkworks-algebra", branch = "dev/twist-shout" } | ||
| ark-serialize = { git = "https://github.com/a16z/arkworks-algebra", branch = "dev/twist-shout" } | ||
| allocative = { git = "https://github.com/facebookexperimental/allocative", rev = "85b773d85d526d068ce94724ff7a7b81203fc95e" } | ||
| dory-pcs = { git = "https://github.com/a16z/dory", branch = "dev/twist-shout" } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Inconsistency between Cargo.toml and Cargo.lock for dory-pcs dependency. Cargo.toml adds a patch pointing to a16z/dory branch dev/twist-shout, but Cargo.lock shows the dependency is resolved from JuI3s/dory branch compression-integration. This mismatch will cause build issues and dependency resolution failures.
# Cargo.toml line 130 adds:
dory-pcs = { git = "https://github.com/a16z/dory", branch = "dev/twist-shout" }
# But Cargo.lock shows:
source = "git+https://github.com/JuI3s/dory?branch=compression-integration#..."Update Cargo.toml to match the actual dependency being used:
dory-pcs = { git = "https://github.com/JuI3s/dory", branch = "compression-integration" }| dory-pcs = { git = "https://github.com/a16z/dory", branch = "dev/twist-shout" } | |
| dory-pcs = { git = "https://github.com/JuI3s/dory", branch = "compression-integration" } |
Spotted by Graphite Agent
Is this helpful? React 👍 or 👎 to let us know.
| # Cryptography and Math | ||
| ark-bn254 = { git = "https://github.com/a16z/arkworks-algebra", branch = "dev/twist-shout", default-features = false } | ||
| ark-grumpkin = { git = "https://github.com/a16z/arkworks-algebra", branch = "dev/twist-shout", default-features = false } | ||
| ark-grumpkin = { git = "https://github.com/JuI3s/arkworks-algebra", branch = "compression", default-features = false } | ||
| ark-ec = { git = "https://github.com/a16z/arkworks-algebra", branch = "dev/twist-shout", default-features = false } | ||
| ark-ff = { git = "https://github.com/a16z/arkworks-algebra", branch = "dev/twist-shout", default-features = false } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Inconsistent arkworks-algebra sources will cause version conflicts. Most dependencies use a16z/arkworks-algebra branch dev/twist-shout (lines 136, 138-140) while ark-grumpkin uses JuI3s/arkworks-algebra branch compression (line 137). Since these packages are tightly coupled, mixing sources will lead to type incompatibilities and compilation failures.
# Line 136: a16z repo
ark-bn254 = { git = "https://github.com/a16z/arkworks-algebra", branch = "dev/twist-shout", ... }
# Line 137: JuI3s repo (different!)
ark-grumpkin = { git = "https://github.com/JuI3s/arkworks-algebra", branch = "compression", ... }
# Lines 138-140: back to a16z repo
ark-ec = { git = "https://github.com/a16z/arkworks-algebra", branch = "dev/twist-shout", ... }All arkworks dependencies should use the same repository and branch to ensure compatibility.
| # Cryptography and Math | |
| ark-bn254 = { git = "https://github.com/a16z/arkworks-algebra", branch = "dev/twist-shout", default-features = false } | |
| ark-grumpkin = { git = "https://github.com/a16z/arkworks-algebra", branch = "dev/twist-shout", default-features = false } | |
| ark-grumpkin = { git = "https://github.com/JuI3s/arkworks-algebra", branch = "compression", default-features = false } | |
| ark-ec = { git = "https://github.com/a16z/arkworks-algebra", branch = "dev/twist-shout", default-features = false } | |
| ark-ff = { git = "https://github.com/a16z/arkworks-algebra", branch = "dev/twist-shout", default-features = false } | |
| # Cryptography and Math | |
| ark-bn254 = { git = "https://github.com/a16z/arkworks-algebra", branch = "dev/twist-shout", default-features = false } | |
| ark-grumpkin = { git = "https://github.com/a16z/arkworks-algebra", branch = "dev/twist-shout", default-features = false } | |
| ark-ec = { git = "https://github.com/a16z/arkworks-algebra", branch = "dev/twist-shout", default-features = false } | |
| ark-ff = { git = "https://github.com/a16z/arkworks-algebra", branch = "dev/twist-shout", default-features = false } | |
Spotted by Graphite Agent
Is this helpful? React 👍 or 👎 to let us know.
6489b2a to
d1b6d0c
Compare
d1b6d0c to
b31cb94
Compare
No description provided.