Releases: succinctlabs/sp1
v4.1.3
v4.1.2
⭐️ Features
- Support for Rust
1.85
.
v4.1.0
v4.1.0
⭐️ Features
- Support for
ecverify
precompiles, such as P256 verification with RIP-7212. - Adds generic support for acceleration on other signature schemes for
secp256k1
, such as Schnorr signatures.
🏎️ Performance Improvements
- Adds support for faster execution of Weierstrass operations by enabling the
bigint-rug
feature onsp1-core-machine
. - Embedded allocator improvements by using
TLSF
as the default allocator, rather thanLLFF
.
v4.0.1
v4.0.0
SP1 Turbo (v4.0.0)
The world’s fastest zkVM just got faster.
Introducing SP1 Turbo, the latest upgrade to SP1, delivering unprecedented performance and cost efficiency for generating zero-knowledge proofs of RISC-V bytecode/programs written in Rust. Whether you're working on zkEVM rollups, light clients, signature verification, or other blockchain computations, SP1 Turbo is engineered to handle it all with best-in-class speed and cost-effectiveness.
Highlights
- Blazing speeds: Achieve speeds up to 5 MHz on a single GPU with our new GPU kernel improvements.
- A step closer to real-time Ethereum proving: Prove Ethereum mainnet blocks in <40 seconds on a cluster of GPUs.
- New precompiles:
- Secp256r1: Signature verification for applications like ZK Email and FaceID attestations.
- RSA Precompile: Bigint arithmetic for efficient RSA signature verification.
Getting Started
To get started, we recommend following the V3 → V4 Migration Guide.
We will have a more public-facing announcement and blog post soon. Regardless, SP1 V4 is fully production-ready and available on the prover network and ready to be used! If you have any question, please do not hesitate to reach out via Telegram.
Security
SP1 Turbo contains critical security fixes outlined here. We recommend all users on older versions to SP1 upgrade to SP1 Turbo immediately.
v3.4.0
v4.0.0-rc.1
A release candidate for SP1 V4.0.0. This release introduces major performance improvements across the board for all programs and workloads.
🚀 Highlights
- GPU Kernel Optimizations
We've done a lot of work optimizing our GPU Kernels for the expensive parts of the prover such as quotient and opening. We've also added support for trace generation on GPU in this release which reduces end-to-end latency.
- Recursion Aritmetization Optimizations
We've used some new tricks to reduce our arithmetization overhead in recursion, bringing faster and more efficient proofs of constant size to all programs.
- RSA and Secp256r1 Precompiles
Support for RSA and Secp256r1 precompiles have been added.
🛠 Production-Readiness
v4.0.0-rc.1 is not yet production-ready. We recommend using this release only for benchmarking purposes.
📦 Changes
- chore(sdk): update network-v2 proto
- PR: #1669
- docs: common issues
- PR: #1666
- fix: mock prover groth16 bytes
- PR: #1684
- fix: additional guards on entrypoint macro
- PR: #1659
- feat(sdk): download proof from public URI
- PR: #1686
- feat(sp1up): error messages for bad inputs.
- PR: #1696
- fix: patch bls and bn
- PR: #1695
- Docs: Updating missing arguments in SP1 Quickstarter
- PR: #1681
- docs: Update example commands from cd script to cd ../script
- PR: #1697
- chore: update images
- PR: #1700
- chore: docs off dev
- PR: #1701
- chore: fix typo in image
- PR: #1702
- test: add network-v2 to perf test suite
- PR: #1689
- feat: security md
- PR: #1705
- feat: executor optimizations
- PR: #1692
- perf: implement select precompile
- PR: #1707
- chore: use tags instead of branches to label patches
- PR: #1706
- feat: remove assign in airs
- PR: #1710
- feat: new crate for no-std groth/plonk verification
- PR: #1685
- feat: executor optimizations
- PR: #1712
- fix: Revert "feat: executor optimizations"
- PR: #1718
- perf: remove redundant last compress
- PR: #1724
- fix: empty shape config
- PR: #1728
- feat: executor optimizations + separate postprocess
- PR: #1727
- perf: add batch FRI precompile
- PR: #1730
- chore: fix comments and logging for select precompile
- PR: #1738
- perf: implement local-only optimization
- PR: #1711
- chore: update network-v2 proto
- PR: #1725
- docs: separate SP1VerifierGateway for PLONK and Groth16
- PR: #1740
- docs:
generating-proofs.md
- PR: #1749
- feat: new device proving key API
- PR: #1737
- perf: build time GRO-146
- PR: #1739
- docs: change docs for updated function call
- PR: #1732
- feat: new precompile secp256r1
- PR: #1612
- fix: lock file
- PR: #1756
- feat: plonk verification with
.bytes()
- PR: #1753
- feat: add issue template
- PR: #1748
- ci: check lock files in ci
- PR: #1761
- chore: lockfile cleanup
- PR: #1763
- chore: add MSRV of 1.79
- PR: #1736
- docs: verifier crate docs
- PR: #1764
- chore: crates substrate_bn version
- PR: #1769
- feat: v3 audit report
- PR: #1770
- feat: more docs about v3
- PR: #1772
- docs: ci optimizations
- PR: #1754
- fix(recursion): avoid double counting children in (cycle tracker) spans
- PR: #1773
- docs: version nits
- PR: #1774
v3.3.0
v3.0.1-alpha-b976ea6e
📦 Uncategorized
- docs: change docs for updated function call
- PR: #1732
- feat: new precompile secp256r1
- PR: #1612
- fix: lock file
- PR: #1756
- feat: plonk verification with
.bytes()
- PR: #1753
- feat: add issue template
- PR: #1748
- ci: check lock files in ci
- PR: #1761
- chore: lockfile cleanup
- PR: #1763
- chore: add MSRV of 1.79
- PR: #1736
- docs: verifier crate docs
- PR: #1764
- chore: crates substrate_bn version
- PR: #1769
- feat: v3 audit report
- PR: #1770
- feat: more docs about v3
- PR: #1772
- docs: ci optimizations
- PR: #1754
- fix(recursion): avoid double counting children in (cycle tracker) spans
- PR: #1773
- docs: version nits
- PR: #1774
v3.0.0
We're excited to release SP1 v3.0.0! SP1 v3.0.0 comes with two major performance upgrades:
- Optimized phase 1 proving
- Recursion circuit to improve recursion performance
It's available on crates.io with the version tag v3.0.0
.
Changes
- fix: gnark-ffi memory handling
- PR: #1650
- feat: allow run in dev mode
- PR: #1651
- fix: debug constraints
- PR: #1656
- fix: shape for deferred program
- PR: #1654
- feat: deferred support in perf
- PR: #1657
- fix: clippy issues in perf
- PR: #1658
- docs: update onchain usage
- PR: #1652
- fix: add support for tls connections in network-v2 rpc client
- PR: #1655
- fix: remove mention of
sp1
dir in examples' relative paths- PR: #1660
- fix: typo in the solidity section of the book
- PR: #1664
- fix: connect deferred vk root
- PR: #1649
- chore: update docs
- PR: #1671
- feat: update docs for v3 pt 2
- PR: #1672
- feat: update cargo version tag
- PR: #1673
- feat: v3.0.0
- PR: #1670