December 8th, 2024

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 articleLink Icon
SP1: A performant, 100% open-source, contributor-friendly zkVM

Succinct 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.

Link Icon 13 comments
By @jrmg - 4 months
Can someone explain this in lay-person’s terms?

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.

By @raykyri - 4 months
For those looking for applications outside crypto, this might also be interesting: https://docs.ezkl.xyz/

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.

By @ikiris - 4 months
If its not obvious what a zKVM is, it shouldn't be unexplained in a headline with no commmentary.

edit: The fact that its actually zkVM instead is even more confusing.

By @jedisct1 - 4 months
"verifies the execution of [..] any LLVM-compiled language"

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?

By @wslh - 4 months
I cofounded a company doing also this [1] you can check the repositories [2].

[1] https://bitvmx.org

[2] https://github.com/FairgateLabs

By @Philpax - 4 months
Not as inscrutable as these things usually are, but I still don't really know what one would use this for. This world feels like a parallel ecosystem to traditional software, and the paths rarely meet.
By @anon3459 - 4 months
So i could write some complex logic with nested for loops and ofload it to the coprocessor
By @eliastaz - 4 months
Allow me to add some context. The idea behind "proving" computation relies on the assumption that someone wants to verify it. Some systems require verification. Most notably: distributed systems that don't rely on a centralized authority to enforce rules.

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.

By @zb3 - 4 months
Is this useful outside the cryptocurrency crap?
By @jeff_carr - 4 months
L. Ron Hubbard has entered the chat.