Replace the ark-zkey witness calculator with the one of iden3 (#273)

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Delete rln/resources/tree_height_20/rln.wasm

* Changes in accordance with the results of the first round of reviewing.

* Formatting

* Acknowledgements and a readme fix

* Minor change: Vec memory allocation
This commit is contained in:
Aleksei Vambol
2024-12-25 12:38:35 +02:00
committed by GitHub
parent 8b04930583
commit e39f156fff
19 changed files with 1981 additions and 189 deletions

324
Cargo.lock generated
View File

@@ -48,6 +48,16 @@ dependencies = [
"memchr",
]
[[package]]
name = "alloy-rlp"
version = "0.3.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f542548a609dca89fcd72b3b9f355928cf844d4363c5eed9c5273a3dd225e097"
dependencies = [
"arrayvec",
"bytes",
]
[[package]]
name = "anes"
version = "0.1.6"
@@ -103,6 +113,12 @@ dependencies = [
"windows-sys 0.48.0",
]
[[package]]
name = "anyhow"
version = "1.0.94"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c1fd03a028ef38ba2276dce7e33fcd6369c158a1bca17946c4b1b701891c1ff7"
[[package]]
name = "ark-bn254"
version = "0.4.0"
@@ -110,8 +126,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a22f4561524cd949590d78d7d4c5df8f592430d221f7f3c9497bbafd8972120f"
dependencies = [
"ark-ec",
"ark-ff",
"ark-std",
"ark-ff 0.4.1",
"ark-std 0.4.0",
]
[[package]]
@@ -123,12 +139,12 @@ dependencies = [
"ark-bn254",
"ark-crypto-primitives",
"ark-ec",
"ark-ff",
"ark-ff 0.4.1",
"ark-groth16",
"ark-poly",
"ark-relations",
"ark-serialize",
"ark-std",
"ark-serialize 0.4.1",
"ark-std 0.4.0",
"byteorder",
"cfg-if",
"color-eyre",
@@ -150,14 +166,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1f3a13b34da09176a8baba701233fdffbaa7c1b1192ce031a3da4e55ce1f1a56"
dependencies = [
"ark-ec",
"ark-ff",
"ark-ff 0.4.1",
"ark-relations",
"ark-serialize",
"ark-serialize 0.4.1",
"ark-snark",
"ark-std",
"ark-std 0.4.0",
"blake2",
"derivative",
"digest",
"digest 0.10.6",
"rayon",
"sha2",
]
@@ -168,10 +184,10 @@ version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c60370a92f8e1a5f053cad73a862e1b99bc642333cd676fa11c0c39f80f4ac2"
dependencies = [
"ark-ff",
"ark-ff 0.4.1",
"ark-poly",
"ark-serialize",
"ark-std",
"ark-serialize 0.4.1",
"ark-std 0.4.0",
"derivative",
"hashbrown 0.13.2",
"itertools",
@@ -180,27 +196,55 @@ dependencies = [
"zeroize",
]
[[package]]
name = "ark-ff"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6b3235cc41ee7a12aaaf2c575a2ad7b46713a8a50bda2fc3b003a04845c05dd6"
dependencies = [
"ark-ff-asm 0.3.0",
"ark-ff-macros 0.3.0",
"ark-serialize 0.3.0",
"ark-std 0.3.0",
"derivative",
"num-bigint",
"num-traits",
"paste",
"rustc_version 0.3.3",
"zeroize",
]
[[package]]
name = "ark-ff"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c2d42532524bee1da5a4f6f733eb4907301baa480829557adcff5dfaeee1d9a"
dependencies = [
"ark-ff-asm",
"ark-ff-macros",
"ark-serialize",
"ark-std",
"ark-ff-asm 0.4.2",
"ark-ff-macros 0.4.2",
"ark-serialize 0.4.1",
"ark-std 0.4.0",
"derivative",
"digest",
"digest 0.10.6",
"itertools",
"num-bigint",
"num-traits",
"paste",
"rayon",
"rustc_version",
"rustc_version 0.4.0",
"zeroize",
]
[[package]]
name = "ark-ff-asm"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "db02d390bf6643fb404d3d22d31aee1c4bc4459600aef9113833d17e786c6e44"
dependencies = [
"quote",
"syn 1.0.109",
]
[[package]]
name = "ark-ff-asm"
version = "0.4.2"
@@ -211,6 +255,18 @@ dependencies = [
"syn 1.0.109",
]
[[package]]
name = "ark-ff-macros"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20"
dependencies = [
"num-bigint",
"num-traits",
"quote",
"syn 1.0.109",
]
[[package]]
name = "ark-ff-macros"
version = "0.4.2"
@@ -232,11 +288,11 @@ checksum = "20ceafa83848c3e390f1cbf124bc3193b3e639b3f02009e0e290809a501b95fc"
dependencies = [
"ark-crypto-primitives",
"ark-ec",
"ark-ff",
"ark-ff 0.4.1",
"ark-poly",
"ark-relations",
"ark-serialize",
"ark-std",
"ark-serialize 0.4.1",
"ark-std 0.4.0",
"rayon",
]
@@ -246,9 +302,9 @@ version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f6ec811462cabe265cfe1b102fcfe3df79d7d2929c2425673648ee9abfd0272"
dependencies = [
"ark-ff",
"ark-serialize",
"ark-std",
"ark-ff 0.4.1",
"ark-serialize 0.4.1",
"ark-std 0.4.0",
"derivative",
"hashbrown 0.13.2",
"rayon",
@@ -260,12 +316,22 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "00796b6efc05a3f48225e59cb6a2cda78881e7c390872d5786aaf112f31fb4f0"
dependencies = [
"ark-ff",
"ark-std",
"ark-ff 0.4.1",
"ark-std 0.4.0",
"tracing",
"tracing-subscriber 0.2.25",
]
[[package]]
name = "ark-serialize"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d6c2b318ee6e10f8c2853e73a83adc0ccb88995aa978d8a3408d492ab2ee671"
dependencies = [
"ark-std 0.3.0",
"digest 0.9.0",
]
[[package]]
name = "ark-serialize"
version = "0.4.1"
@@ -273,8 +339,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e7e735959bc173ea4baf13327b19c22d452b8e9e8e8f7b7fc34e6bf0e316c33e"
dependencies = [
"ark-serialize-derive",
"ark-std",
"digest",
"ark-std 0.4.0",
"digest 0.10.6",
"num-bigint",
]
@@ -295,10 +361,20 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "84d3cc6833a335bb8a600241889ead68ee89a3cf8448081fb7694c0fe503da63"
dependencies = [
"ark-ff",
"ark-ff 0.4.1",
"ark-relations",
"ark-serialize",
"ark-std",
"ark-serialize 0.4.1",
"ark-std 0.4.0",
]
[[package]]
name = "ark-std"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c"
dependencies = [
"num-traits",
"rand",
]
[[package]]
@@ -321,10 +397,10 @@ dependencies = [
"ark-bn254",
"ark-circom",
"ark-ec",
"ark-ff",
"ark-ff 0.4.1",
"ark-groth16",
"ark-relations",
"ark-serialize",
"ark-serialize 0.4.1",
"color-eyre",
"flame",
"flamer",
@@ -422,7 +498,7 @@ version = "0.10.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe"
dependencies = [
"digest",
"digest 0.10.6",
]
[[package]]
@@ -981,6 +1057,15 @@ dependencies = [
"syn 1.0.109",
]
[[package]]
name = "digest"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"
dependencies = [
"generic-array",
]
[[package]]
name = "digest"
version = "0.10.6"
@@ -1009,7 +1094,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0997c976637b606099b9985693efa3581e84e41f5c11ba5255f88711058ad428"
dependencies = [
"der",
"digest",
"digest 0.10.6",
"elliptic-curve",
"rfc6979",
"signature",
@@ -1030,7 +1115,7 @@ checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47"
dependencies = [
"base16ct",
"crypto-bigint",
"digest",
"digest 0.10.6",
"ff",
"generic-array",
"group",
@@ -1206,6 +1291,17 @@ version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
[[package]]
name = "fastrlp"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "139834ddba373bbdd213dffe02c8d110508dcf1726c2be27e8d1f7d7e1856418"
dependencies = [
"arrayvec",
"auto_impl",
"bytes",
]
[[package]]
name = "ff"
version = "0.13.0"
@@ -1422,7 +1518,7 @@ version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
dependencies = [
"digest",
"digest 0.10.6",
]
[[package]]
@@ -1965,6 +2061,17 @@ version = "1.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79"
[[package]]
name = "pest"
version = "2.7.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442"
dependencies = [
"memchr",
"thiserror",
"ucd-trie",
]
[[package]]
name = "pin-project-lite"
version = "0.2.9"
@@ -2082,6 +2189,45 @@ dependencies = [
"unicode-ident",
]
[[package]]
name = "proptest"
version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50"
dependencies = [
"bitflags 2.4.1",
"lazy_static 1.4.0",
"num-traits",
"rand",
"rand_chacha",
"rand_xorshift",
"regex-syntax 0.8.5",
"unarray",
]
[[package]]
name = "prost"
version = "0.13.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2c0fef6c4230e4ccf618a35c59d7ede15dea37de8427500f50aff708806e42ec"
dependencies = [
"bytes",
"prost-derive",
]
[[package]]
name = "prost-derive"
version = "0.13.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "157c5a9d7ea5c2ed2d9fb8f495b64759f7816c7eaea54ba3978f0d63000162e3"
dependencies = [
"anyhow",
"itertools",
"proc-macro2",
"quote",
"syn 2.0.16",
]
[[package]]
name = "ptr_meta"
version = "0.1.4"
@@ -2147,6 +2293,15 @@ dependencies = [
"getrandom",
]
[[package]]
name = "rand_xorshift"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f"
dependencies = [
"rand_core",
]
[[package]]
name = "rayon"
version = "1.7.0"
@@ -2212,7 +2367,7 @@ checksum = "af83e617f331cc6ae2da5443c602dfa5af81e517212d9d611a5b3ba1777b5370"
dependencies = [
"aho-corasick",
"memchr",
"regex-syntax",
"regex-syntax 0.7.1",
]
[[package]]
@@ -2221,6 +2376,12 @@ version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a5996294f19bd3aae0453a862ad728f60e6600695733dd5df01da90c54363a3c"
[[package]]
name = "regex-syntax"
version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
[[package]]
name = "region"
version = "3.0.0"
@@ -2287,12 +2448,13 @@ dependencies = [
"ark-bn254",
"ark-circom",
"ark-ec",
"ark-ff",
"ark-ff 0.4.1",
"ark-groth16",
"ark-relations",
"ark-serialize",
"ark-std",
"ark-serialize 0.4.1",
"ark-std 0.4.0",
"ark-zkey",
"byteorder",
"cfg-if",
"color-eyre",
"criterion 0.4.0",
@@ -2301,8 +2463,10 @@ dependencies = [
"num-bigint",
"num-traits",
"once_cell",
"prost",
"rand",
"rand_chacha",
"ruint",
"serde",
"serde_json",
"sled",
@@ -2365,6 +2529,35 @@ dependencies = [
"syn 1.0.109",
]
[[package]]
name = "ruint"
version = "1.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "95294d6e3a6192f3aabf91c38f56505a625aa495533442744185a36d75a790c4"
dependencies = [
"alloy-rlp",
"ark-ff 0.3.0",
"ark-ff 0.4.1",
"bytes",
"fastrlp",
"num-bigint",
"parity-scale-codec",
"primitive-types",
"proptest",
"rand",
"rlp",
"ruint-macro",
"serde",
"valuable",
"zeroize",
]
[[package]]
name = "ruint-macro"
version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "48fd7bd8a6377e15ad9d42a8ec25371b94ddc67abe7c8b9127bec79bebaaae18"
[[package]]
name = "rustc-demangle"
version = "0.1.23"
@@ -2383,13 +2576,22 @@ version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6"
[[package]]
name = "rustc_version"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee"
dependencies = [
"semver 0.11.0",
]
[[package]]
name = "rustc_version"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
dependencies = [
"semver",
"semver 1.0.17",
]
[[package]]
@@ -2496,12 +2698,30 @@ dependencies = [
"zeroize",
]
[[package]]
name = "semver"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6"
dependencies = [
"semver-parser",
]
[[package]]
name = "semver"
version = "1.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed"
[[package]]
name = "semver-parser"
version = "0.10.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9900206b54a3527fdc7b8a938bffd94a568bac4f4aa8113b209df75a09c0dec2"
dependencies = [
"pest",
]
[[package]]
name = "serde"
version = "1.0.163"
@@ -2571,7 +2791,7 @@ checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0"
dependencies = [
"cfg-if",
"cpufeatures",
"digest",
"digest 0.10.6",
]
[[package]]
@@ -2580,7 +2800,7 @@ version = "0.10.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60"
dependencies = [
"digest",
"digest 0.10.6",
"keccak",
]
@@ -2599,7 +2819,7 @@ version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500"
dependencies = [
"digest",
"digest 0.10.6",
"rand_core",
]
@@ -2922,6 +3142,12 @@ version = "1.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
[[package]]
name = "ucd-trie"
version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971"
[[package]]
name = "uint"
version = "0.9.5"
@@ -2934,6 +3160,12 @@ dependencies = [
"static_assertions",
]
[[package]]
name = "unarray"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94"
[[package]]
name = "unicode-ident"
version = "1.0.8"
@@ -3562,7 +3794,7 @@ name = "zerokit_utils"
version = "0.5.1"
dependencies = [
"ark-bn254",
"ark-ff",
"ark-ff 0.4.1",
"color-eyre",
"criterion 0.4.0",
"hex",