Update miden to v0.18.3 (#198)

This commit is contained in:
Han
2025-11-01 15:28:23 +08:00
committed by GitHub
parent 81c8c6a62c
commit 9ef5aa513a
4 changed files with 157 additions and 51 deletions

172
Cargo.lock generated
View File

@@ -76,6 +76,16 @@ version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627"
[[package]]
name = "aead"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0"
dependencies = [
"crypto-common",
"generic-array 0.14.7",
]
[[package]]
name = "aes"
version = "0.8.4"
@@ -2239,6 +2249,30 @@ version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
[[package]]
name = "chacha20"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818"
dependencies = [
"cfg-if",
"cipher",
"cpufeatures",
]
[[package]]
name = "chacha20poly1305"
version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35"
dependencies = [
"aead",
"chacha20",
"cipher",
"poly1305",
"zeroize",
]
[[package]]
name = "chrono"
version = "0.4.41"
@@ -2260,6 +2294,7 @@ checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
dependencies = [
"crypto-common",
"inout",
"zeroize",
]
[[package]]
@@ -2701,6 +2736,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
dependencies = [
"generic-array 0.14.7",
"rand_core 0.6.4",
"typenum",
]
@@ -4390,6 +4426,18 @@ dependencies = [
"miniz_oxide",
]
[[package]]
name = "flume"
version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095"
dependencies = [
"futures-core",
"futures-sink",
"nanorand",
"spin 0.9.8",
]
[[package]]
name = "fnv"
version = "1.0.7"
@@ -4453,6 +4501,15 @@ dependencies = [
"percent-encoding",
]
[[package]]
name = "fs-err"
version = "3.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ad492b2cf1d89d568a43508ab24f98501fe03f2f31c01e1d0fe7366a71745d2"
dependencies = [
"autocfg",
]
[[package]]
name = "fs2"
version = "0.4.3"
@@ -6477,8 +6534,8 @@ dependencies = [
[[package]]
name = "miden-air"
version = "0.17.1"
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.17.1#b2effb5d321c72f3cebe761a1399a992e525602c"
version = "0.18.3"
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.18.3#cbe205dfffc5563a06dafc4152d604d69f864e29"
dependencies = [
"miden-core",
"thiserror 2.0.12",
@@ -6488,8 +6545,8 @@ dependencies = [
[[package]]
name = "miden-assembly"
version = "0.17.1"
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.17.1#b2effb5d321c72f3cebe761a1399a992e525602c"
version = "0.18.3"
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.18.3#cbe205dfffc5563a06dafc4152d604d69f864e29"
dependencies = [
"log",
"miden-assembly-syntax",
@@ -6501,8 +6558,8 @@ dependencies = [
[[package]]
name = "miden-assembly-syntax"
version = "0.17.1"
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.17.1#b2effb5d321c72f3cebe761a1399a992e525602c"
version = "0.18.3"
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.18.3#cbe205dfffc5563a06dafc4152d604d69f864e29"
dependencies = [
"aho-corasick",
"lalrpop 0.22.2",
@@ -6512,6 +6569,7 @@ dependencies = [
"miden-debug-types",
"miden-utils-diagnostics",
"midenc-hir-type",
"proptest",
"regex",
"rustc_version 0.4.1",
"semver 1.0.26",
@@ -6521,9 +6579,10 @@ dependencies = [
[[package]]
name = "miden-core"
version = "0.17.1"
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.17.1#b2effb5d321c72f3cebe761a1399a992e525602c"
version = "0.18.3"
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.18.3#cbe205dfffc5563a06dafc4152d604d69f864e29"
dependencies = [
"enum_dispatch",
"miden-crypto",
"miden-debug-types",
"miden-formatting",
@@ -6536,28 +6595,36 @@ dependencies = [
[[package]]
name = "miden-crypto"
version = "0.15.9"
version = "0.17.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e4329275a11c7d8328b14a7129b21d40183056dcd0d871c3069be6e550d6ca40"
checksum = "87b287c7a76b95be7ef5588e98a9dbe1973395dbb19eb59dd34d82b06e47f02a"
dependencies = [
"blake3",
"cc",
"chacha20poly1305",
"flume",
"getrandom 0.2.16",
"glob",
"hkdf",
"k256",
"num",
"num-complex",
"rand 0.9.2",
"rand_chacha 0.9.0",
"rand_core 0.9.3",
"rand_hc",
"sha3",
"thiserror 2.0.12",
"winter-crypto",
"winter-math",
"winter-utils",
"zeroize",
]
[[package]]
name = "miden-debug-types"
version = "0.17.1"
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.17.1#b2effb5d321c72f3cebe761a1399a992e525602c"
version = "0.18.3"
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.18.3#cbe205dfffc5563a06dafc4152d604d69f864e29"
dependencies = [
"memchr",
"miden-crypto",
@@ -6581,12 +6648,13 @@ dependencies = [
[[package]]
name = "miden-mast-package"
version = "0.17.1"
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.17.1#b2effb5d321c72f3cebe761a1399a992e525602c"
version = "0.18.3"
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.18.3#cbe205dfffc5563a06dafc4152d604d69f864e29"
dependencies = [
"derive_more 2.0.1",
"miden-assembly-syntax",
"miden-core",
"thiserror 2.0.12",
]
[[package]]
@@ -6633,13 +6701,14 @@ dependencies = [
[[package]]
name = "miden-processor"
version = "0.17.1"
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.17.1#b2effb5d321c72f3cebe761a1399a992e525602c"
version = "0.18.3"
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.18.3#cbe205dfffc5563a06dafc4152d604d69f864e29"
dependencies = [
"miden-air",
"miden-core",
"miden-debug-types",
"miden-utils-diagnostics",
"paste",
"thiserror 2.0.12",
"tracing",
"winter-prover",
@@ -6647,8 +6716,8 @@ dependencies = [
[[package]]
name = "miden-prover"
version = "0.17.1"
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.17.1#b2effb5d321c72f3cebe761a1399a992e525602c"
version = "0.18.3"
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.18.3#cbe205dfffc5563a06dafc4152d604d69f864e29"
dependencies = [
"miden-air",
"miden-debug-types",
@@ -6660,12 +6729,14 @@ dependencies = [
[[package]]
name = "miden-stdlib"
version = "0.17.1"
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.17.1#b2effb5d321c72f3cebe761a1399a992e525602c"
version = "0.18.3"
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.18.3#cbe205dfffc5563a06dafc4152d604d69f864e29"
dependencies = [
"env_logger",
"fs-err",
"miden-assembly",
"miden-core",
"miden-crypto",
"miden-processor",
"miden-utils-sync",
"thiserror 2.0.12",
@@ -6673,8 +6744,8 @@ dependencies = [
[[package]]
name = "miden-utils-diagnostics"
version = "0.17.1"
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.17.1#b2effb5d321c72f3cebe761a1399a992e525602c"
version = "0.18.3"
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.18.3#cbe205dfffc5563a06dafc4152d604d69f864e29"
dependencies = [
"miden-crypto",
"miden-debug-types",
@@ -6685,8 +6756,8 @@ dependencies = [
[[package]]
name = "miden-utils-sync"
version = "0.17.1"
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.17.1#b2effb5d321c72f3cebe761a1399a992e525602c"
version = "0.18.3"
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.18.3#cbe205dfffc5563a06dafc4152d604d69f864e29"
dependencies = [
"lock_api",
"loom",
@@ -6695,8 +6766,8 @@ dependencies = [
[[package]]
name = "miden-verifier"
version = "0.17.1"
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.17.1#b2effb5d321c72f3cebe761a1399a992e525602c"
version = "0.18.3"
source = "git+https://github.com/0xPolygonMiden/miden-vm.git?tag=v0.18.3#cbe205dfffc5563a06dafc4152d604d69f864e29"
dependencies = [
"miden-air",
"miden-core",
@@ -6707,9 +6778,9 @@ dependencies = [
[[package]]
name = "midenc-hir-type"
version = "0.1.5"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e381ba23e4f57ffa0d6039113f6d6004e5b8c7ae6cb909329b48f2ab525e8680"
checksum = "7798671ffbf6596de00619a9abaec67dc26965b891328c9d65c4cb6007597d50"
dependencies = [
"miden-formatting",
"smallvec",
@@ -6760,6 +6831,15 @@ version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d87ecb2933e8aeadb3e3a02b828fed80a7528047e68b4f424523a0981a3a084"
[[package]]
name = "nanorand"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3"
dependencies = [
"getrandom 0.2.16",
]
[[package]]
name = "native-tls"
version = "0.2.14"
@@ -7339,6 +7419,12 @@ dependencies = [
"portable-atomic",
]
[[package]]
name = "opaque-debug"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"
[[package]]
name = "open-fastrlp"
version = "0.1.4"
@@ -10059,6 +10145,17 @@ version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c"
[[package]]
name = "poly1305"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf"
dependencies = [
"cpufeatures",
"opaque-debug",
"universal-hash",
]
[[package]]
name = "portable-atomic"
version = "1.11.0"
@@ -10653,6 +10750,15 @@ dependencies = [
"rand 0.8.5",
]
[[package]]
name = "rand_hc"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7b363d4f6370f88d62bf586c80405657bde0f0e1b8945d47d2ad59b906cb4f54"
dependencies = [
"rand_core 0.6.4",
]
[[package]]
name = "rand_xorshift"
version = "0.4.0"
@@ -14299,6 +14405,16 @@ version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853"
[[package]]
name = "universal-hash"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea"
dependencies = [
"crypto-common",
"subtle",
]
[[package]]
name = "unroll"
version = "0.1.5"

View File

@@ -74,12 +74,12 @@ jolt-core = { git = "https://github.com/a16z/jolt.git", tag = "v0.3.0-alpha" }
jolt-sdk = { git = "https://github.com/a16z/jolt.git", tag = "v0.3.0-alpha" }
# Miden dependencies
miden-assembly = { git = "https://github.com/0xPolygonMiden/miden-vm.git", tag = "v0.17.1" }
miden-core = { git = "https://github.com/0xPolygonMiden/miden-vm.git", tag = "v0.17.1" }
miden-processor = { git = "https://github.com/0xPolygonMiden/miden-vm.git", tag = "v0.17.1" }
miden-prover = { git = "https://github.com/0xPolygonMiden/miden-vm.git", tag = "v0.17.1" }
miden-stdlib = { git = "https://github.com/0xPolygonMiden/miden-vm.git", tag = "v0.17.1" }
miden-verifier = { git = "https://github.com/0xPolygonMiden/miden-vm.git", tag = "v0.17.1" }
miden-assembly = { git = "https://github.com/0xPolygonMiden/miden-vm.git", tag = "v0.18.3" }
miden-core = { git = "https://github.com/0xPolygonMiden/miden-vm.git", tag = "v0.18.3" }
miden-processor = { git = "https://github.com/0xPolygonMiden/miden-vm.git", tag = "v0.18.3" }
miden-prover = { git = "https://github.com/0xPolygonMiden/miden-vm.git", tag = "v0.18.3" }
miden-stdlib = { git = "https://github.com/0xPolygonMiden/miden-vm.git", tag = "v0.18.3" }
miden-verifier = { git = "https://github.com/0xPolygonMiden/miden-vm.git", tag = "v0.18.3" }
# Nexus dependencies
nexus-sdk = { git = "https://github.com/nexus-xyz/nexus-zkvm.git", tag = "v0.3.5" }

View File

@@ -11,7 +11,9 @@ use miden_core::{
use miden_processor::{
DefaultHost, ExecutionOptions, ProgramInfo, StackInputs, StackOutputs, execute as miden_execute,
};
use miden_prover::{AdviceInputs, ExecutionProof, ProvingOptions, prove as miden_prove};
use miden_prover::{
AdviceInputs, ExecutionProof, HashFunction, ProvingOptions, prove as miden_prove,
};
use miden_stdlib::StdLibrary;
use miden_verifier::verify as miden_verify;
use std::{env, time::Instant};
@@ -95,11 +97,9 @@ impl zkVM for EreMiden {
let stack_inputs = StackInputs::default();
let advice_inputs = AdviceInputs::default().with_stack(bytes_to_felts(input)?);
let mut host = Self::setup_host()?;
let proving_options = ProvingOptions::with_128_bit_security(HashFunction::Blake3_256);
let start = Instant::now();
let proving_options =
ProvingOptions::with_96_bit_security(env::var_os("MIDEN_DEBUG").is_some());
let (stack_outputs, proof) = miden_prove(
&self.program,
stack_inputs.clone(),
@@ -108,6 +108,7 @@ impl zkVM for EreMiden {
proving_options,
)
.map_err(Error::Prove)?;
let proving_time = start.elapsed();
let public_values = felts_to_bytes(stack_outputs.as_slice());
let proof_bytes = (stack_outputs, proof).to_bytes();
@@ -115,7 +116,7 @@ impl zkVM for EreMiden {
Ok((
public_values,
Proof::Compressed(proof_bytes),
ProgramProvingReport::new(start.elapsed()),
ProgramProvingReport::new(proving_time),
))
}

View File

@@ -2,18 +2,7 @@ ARG BASE_IMAGE=ere-base:latest
FROM $BASE_IMAGE
# Set default toolchain to MSRV of Miden
RUN rustup default 1.88.0
# Miden Configuration
ENV MIDEN_VERSION="v0.17.1" \
MIDEN_TOOLCHAIN_VERSION="1.88.0"
# Miden CLI Installation
# COPY --chmod=755 scripts/sdk_installers/install_miden_sdk.sh /tmp/
# RUN /tmp/install_miden_sdk.sh && rm /tmp/install_miden_sdk.sh
# Verify
# RUN miden-vm --version
ENV MIDEN_VERSION="v0.18.3"
CMD ["/bin/bash"]