SP1: A performant, 100% open-source, contributor-friendly zkVM
Succinct Labs launched the Succinct Processor 1, an open-source zero-knowledge virtual machine that enhances performance, supports various programming languages, and invites community contributions, currently in alpha stage.
Read original articleSuccinct Labs has introduced the Succinct Processor 1 (SP1), a zero-knowledge virtual machine (zkVM) designed to enhance performance and usability for developers. SP1 is open-source and aims to improve zkVM performance by an order of magnitude compared to existing solutions, achieving up to 28 times faster execution for certain programs. It supports arbitrary Rust and LLVM-compiled language programs, making it a versatile tool for blockchain applications. The architecture of SP1 allows for customizable "precompiles," which can significantly boost performance without adding recursion overhead. This flexibility enables SP1 to compete with circuit-based approaches while also enhancing developer productivity by over 100 times. The project is built collaboratively, encouraging contributions from a diverse community, and is designed to be easily maintainable and customizable. SP1 is still in alpha and not yet ready for production use, but it already supports complex applications like a Tendermint light client. Future plans include performance optimizations and support for recursive on-chain verification. The project draws inspiration from successful open-source initiatives, aiming to create a robust ecosystem around zkVM technology.
- SP1 is a 100% open-source zkVM that significantly improves performance over existing zkVMs.
- It allows for customizable precompiles, enhancing both speed and developer productivity.
- The architecture is designed for collaboration, inviting contributions from a diverse community.
- SP1 is currently in alpha and not intended for production use yet.
- Future developments will focus on performance optimization and recursive verification support.
Related
Baby's Second WASM Compiler
A new wasm compiler named zest is under development for 2024, focusing on quality and speed enhancements. It supports various features and employs a tree structure for expressions, emphasizing efficiency and simplicity.
Spice: Fine-grained parallelism with sub-nanosecond overhead in Zig
Spice is a Zig-based parallelism framework offering sub-nanosecond overhead and contention-free operation. It is still in research, with limitations in testing and documentation, caution advised for production use.
Hyperlight: Virtual machine-based security for functions at scale
Microsoft has launched Hyperlight, an open-source Rust library that enhances security for executing functions with fast cold start times, suitable for IoT, industrial automation, and cloud services.
jank is now running on LLVM IR
Jank has transitioned to LLVM IR, improving performance and reducing clojure.core compilation time from 12 seconds to 150 milliseconds, though initial runtime may decline due to manual optimizations needed.
CheerpX 1.0: High performance x86 virtualization in the browser via WebAssembly
CheerpX 1.0 is a high-performance x86 virtualization engine for web browsers using WebAssembly, enabling client-side execution of binaries, optimizing performance, and supporting various applications like REPLs and HTTP servers.
I feel like I read and ‘understood’ the text of the blog post, but I’m still none the wiser about what sort of things this can prove and what the values of those proofs is.
It's similar to Succinct but for proofs of ML models instead of RISCV. So you could generate a proof on some private data, on your computer or in a trusted environment, and submit the proof to show that you pass a fraud check without revealing any of your data.
edit: The fact that its actually zkVM instead is even more confusing.
Why is it limited to LLVM-compiled languages? Wouldn't anything that compiles to RISC-V work?
And since the LLVM bitcode format completely changes every time there's a new LLVM release, how does that work?
Historically, you either don't verify compute: you don't verify that AWS runs correctly code on the cloud, nor do you verify the algorithm used to compute your taxes. Or you verify compute via re-execution (to make sure a program ran correctly, just run it locally on given inputs): e.g. every participant in the Bitcoin protocol re-executes all transactions on the network. This means that all payments on this platform are verified by peer-to-peer nodes. Moreover, anyone who desires to convince themselves that the system runs with integrity can simply boot a node and join the network. This adds robust security characteristics! Nonetheless, this creates great friction as every time a transaction is verified on these distributed systems, it is re-executed. This does not scale.
Enters "ZK" (zero-knowledge), a technology able to grant verifiability to computation that does not rely on re-execution but rather checking a succinct certificate of correct computation. Anything that refers to succinct proofs of computation is currently referred to as ZK. Nonetheless, ZK can grant either Scalability or Privacy. It is usually known to refer to privacy. ZK-VMs are mostly used to achieve scalability.
The disruptive advantage of ZK is the separation of two actors: Prover and Verifier. The prover runs a computation once and generates a proof that it did so with integrity (following some pre-defined rules such as "i can't create new money"). Verifiers are then able to check the integrity of the network with overwhelmingly low hardware requirements.
TL;DR: ZK compresses compute. The first use case for ZK (in terms of scalability) is to prove Blockchain transactions to greatly increase scalability of blockchains. Many use cases will follow.
Related
Baby's Second WASM Compiler
A new wasm compiler named zest is under development for 2024, focusing on quality and speed enhancements. It supports various features and employs a tree structure for expressions, emphasizing efficiency and simplicity.
Spice: Fine-grained parallelism with sub-nanosecond overhead in Zig
Spice is a Zig-based parallelism framework offering sub-nanosecond overhead and contention-free operation. It is still in research, with limitations in testing and documentation, caution advised for production use.
Hyperlight: Virtual machine-based security for functions at scale
Microsoft has launched Hyperlight, an open-source Rust library that enhances security for executing functions with fast cold start times, suitable for IoT, industrial automation, and cloud services.
jank is now running on LLVM IR
Jank has transitioned to LLVM IR, improving performance and reducing clojure.core compilation time from 12 seconds to 150 milliseconds, though initial runtime may decline due to manual optimizations needed.
CheerpX 1.0: High performance x86 virtualization in the browser via WebAssembly
CheerpX 1.0 is a high-performance x86 virtualization engine for web browsers using WebAssembly, enabling client-side execution of binaries, optimizing performance, and supporting various applications like REPLs and HTTP servers.