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

WIP: HyperKZG verifier circuit #431

Draft
wants to merge 46 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
610cac0
HyperKZG verifier circuit: get started
imikushin Jul 12, 2024
39c14de
WIP: HyperKZGVerifierGadget
imikushin Jul 25, 2024
d948df5
WIP: PairingGadget
imikushin Jul 28, 2024
2143514
WIP: PairingGadget: it compiles!
imikushin Jul 29, 2024
9931385
WIP: PairingGadget: test circuit compiles and runs (extremely slowly)
imikushin Jul 29, 2024
d2f7171
print out the number of constraints as they get synthesized
imikushin Jul 29, 2024
925c4ec
ignore the heavy test
imikushin Jul 29, 2024
a73c445
WIP: DelayedPairingCircuit
imikushin Aug 2, 2024
2f495c0
WIP: DelayedPairingCircuit
imikushin Aug 3, 2024
8e6b3d4
WIP: LoadedSNARK
imikushin Aug 3, 2024
5fa5e48
WIP: LoadedSNARK
imikushin Aug 3, 2024
f1ed212
WIP: LoadedSNARK trait
imikushin Aug 3, 2024
f1e7f39
WIP: LoadedSNARK trait
imikushin Aug 4, 2024
3f4313e
OffloadedSNARK trait
imikushin Aug 4, 2024
ab84dca
WIP: implement OffloadedSNARK trait for a demo circuit
imikushin Aug 4, 2024
3bd319f
Offloaded circuit successfully verifies
imikushin Aug 5, 2024
18b9886
Offloaded SNARK takes shape
imikushin Aug 7, 2024
6a5aa97
OffloadedSNARK: move to module `snark`
imikushin Aug 7, 2024
2020be1
OffloadedSNARK: cleanup
imikushin Aug 7, 2024
b940345
OffloadedSNARK: OffloadedMSM gadget
imikushin Aug 8, 2024
8d305c8
OffloadedSNARK: OffloadedMSM gadget works
imikushin Aug 9, 2024
517c865
WIP: HyperKZG gadget
imikushin Aug 10, 2024
9579c31
WIP: HyperKZG gadget
imikushin Aug 11, 2024
b045294
MockSponge
imikushin Aug 11, 2024
b64d33a
Fix point assignment
imikushin Aug 11, 2024
715349b
Return public input vector based on expected result
imikushin Aug 11, 2024
ee33022
WIP: HyperKZG gadget
imikushin Aug 14, 2024
e6b81ae
WIP: HyperKZG gadget
imikushin Aug 14, 2024
f988dde
WIP: HyperKZG gadget: adjust type parameters in OffloadedDataCircuit
imikushin Aug 14, 2024
23b474f
WIP: HyperKZG gadget: factor out MSMGadget trait
imikushin Aug 14, 2024
395c891
WIP: HyperKZG gadget: prep to use OffloadedMSMGadget
imikushin Aug 14, 2024
b475d84
WIP: HyperKZG verifier test: migrate to OffloadedSNARK
imikushin Aug 14, 2024
3433150
WIP: HyperKZG verifier: the only thing left is the pairing
imikushin Aug 15, 2024
f421225
WIP: HyperKZG verifier: remove some debugging statements
imikushin Aug 15, 2024
31e87a4
WIP: HyperKZG verifier: add G2 elements to OffloadSNARKVerifyingKey
imikushin Aug 16, 2024
4ab444d
WIP: HyperKZG verifier: make pairings work
imikushin Aug 18, 2024
b7e983a
WIP: HyperKZG verifier: offload pairings data
imikushin Aug 19, 2024
70a65c3
HyperKZG verifier works with offloaded data
imikushin Aug 20, 2024
678b04d
Remove unneeded code
imikushin Aug 20, 2024
ae0e9cf
Cleanup warnings
imikushin Aug 21, 2024
2cedc18
Merge branch 'main' into hyperkzg-circuit
imikushin Aug 21, 2024
486cd61
Merge branch 'main' into hyperkzg-circuit
imikushin Aug 21, 2024
6565391
Cleanup lints
imikushin Aug 21, 2024
2904552
Remove commented out code
imikushin Aug 21, 2024
c9aa0e9
Port transcript changes
imikushin Aug 21, 2024
8bb1a29
Port transcript changes: make it work
imikushin Aug 21, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions jolt-core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,20 @@ license-file = "LICENSE"
keywords = ["SNARK", "cryptography", "proofs"]

[dependencies]
ark-bls12-381 = "0.4.0"
ark-bn254 = "0.4.0"
ark-crypto-primitives = { version = "0.4.0", default-features = false, features = ["snark", "sponge", "r1cs"] }
ark-ec = { version = "0.4.2", default-features = false }
ark-ff = { version = "0.4.2", default-features = false }
ark-r1cs-std = { version = "0.4.0" }
ark-relations = { version = "0.4.0", default-features = false }
ark-serialize = { version = "0.4.2", default-features = false, features = [
"derive",
] }
ark-std = { version = "0.4.0" }
binius-field = { git = "https://gitlab.com/UlvetannaOSS/binius", package = "binius_field"}
clap = { version = "4.3.10", features = ["derive"] }
derivative = { version = "2" }
enum_dispatch = "0.3.12"
fixedbitset = "0.5.0"
itertools = "0.10.0"
Expand Down Expand Up @@ -75,8 +80,11 @@ alloy-sol-macro = "0.7.6"
alloy-sol-types = "0.7.6"

[dev-dependencies]
ark-groth16 = { version = "0.4.0" }
ark-test-curves = { version = "0.4.0", default-features = false, features = ["bls12_381_curve", "mnt6_753"] }
criterion = { version = "0.5.1", features = ["html_reports"] }
iai-callgrind = "0.10.2"
#sigma0-polymath = { git = "https://github.com/sigma0-xyz/polymath" }

[build-dependencies]
common = { path = "../common" }
Expand All @@ -99,6 +107,7 @@ default = [
"rayon",
]
host = ["dep:reqwest", "dep:tokio"]
print-trace = [ "ark-std/print-trace" ]

[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
memory-stats = "1.0.0"
Expand Down
Loading
Loading