Using ZKPs on Solana with the SP1 Solana Verifier

Using ZKPs on Solana with the SP1 Solana Verifier

Bringing Scalable, Zero-Knowledge Proofs to the Solana Ecosystem


TL;DR: Our blazing fast zkVM SP1 now has a Solana verifier. Developers who want to use ZKPs on Solana for scalability (network extensions or large-scale ZK coprocessing) and privacy use cases (verifiable credentials, ZK KYC, confidential AMMs) can now easily use ZKPs by writing Rust and generating proofs with SP1.

Developers can leverage SP1 on Solana for:

  • Scalability: With SP1, developers can generate cost-effective proofs of unlimited computation and verify them on Solana. This allows extreme scalability for use cases like network extensions/rollups, large-scale ZK coprocessing for computing statistics, and ZK compression-like constructions.  
  • Privacy: ZKPs generated with SP1 can optionally hide inputs, enabling use cases like ZK KYC (using ZK proofs of passport or driver’s license) onchain for DeFi protocols and other applications.  
  • Interoperability: SP1-powered light clients can make cross-chain bridging between Solana and other ecosystems more secure by replacing multisigs with ZKPs of consensus. 

You can start building by checking out SP1’s Solana verifier on GitHub and developer docs. Join teams like Termina (Nitro SVM), Spicenet, Aerius Labs, and others already building with SP1 on Solana today by reaching out here.


Introduction

What is SP1, and What Does It Enable?

SP1 is a zkVM (zero-knowledge virtual machine) that allows developers to use zero-knowledge proofs by simply writing normal code.

SP1’s main benefits are:

  • It is easy to use: developers only have to write Rust, removing the need to understand ZKP-based cryptography or its underlying math.
  • It is blazing fast: SP1 has state-of-the-art performance for blockchain workloads, like rollups/network extensions, verification of digital signatures and more.

SP1 is already used by top teams in blockchain, including:

  • Celestia: SP1 powers Celestia’s Blobstream, which bridges data availability (DA) to Ethereum and other EVM chains. 
  • Avail: SP1 enables Avails’s Vector bridge to relay a Merkle root of Avail DA to Ethereum and secures Avail’s native token bridge to Ethereum.
  • Polygon: Polygon’s team is using SP1 to build out AggLayer–their flagship protocol to solve Ethereum interoperability.

Using SP1 on Solana

With this launch, SP1 now has a Solana verifier–meaning developers can easily verify SP1 proofs in Solana applications. Check it out on GitHub.

To verify SP1 proofs onchain, developers import the sp1_solana crate and use it in their Solana program. Check out an example Solana program below that verifies an SP1 proof of calculating the Nth Fibonacci number offchain. The full example can be found here.

Teams Innovating with SP1 on Solana

There are already a few teams building with SP1 on Solana.

  • Termina: Is building SVM rollup infrastructure (network extensions) for app-specific blockspace and scalable execution.
  • Soon: Is building an SVM rollup framework that settles to Ethereum, with ZK fault proofs powered by SP1.
  • Aerius: Uses SP1 to make the SVM ZK provable.
  • Spicenet: Leverages SP1 to prove their state transition function for their unified liquidity layer that connects to Solana.
  • Sovereign SDK: An application-specific rollup framework with an SP1 integration for ZK proving, utilized by teams like Zeta Markets to build rollups and network extensions.

Are you interested in joining these teams and building with ZKPs on Solana? Reach out here

Use Cases

Read more about how ZKPs can be used on Solana, and check out this informative X thread by the Solana Foundation.

Network Extensions

Network extensions, as recently noted by Solana’s Head of Strategy, Austin Federa, are specialized execution environments, akin to Ethereum rollups, designed to offer applications unlimited scalability. They directly integrate with Solana’s Layer 1, improving scalability for applications processing millions—or even billions—of transactions.

ZKPs are critical to network extensions, as these environments must prove their validity to the base layer to maintain security and trustlessness. This validation can occur through ZK fault proofs or full ZK validity proofs. The verifiability of ZKPs allows network extensions to break scalability limits and deliver unlimited compute capacity.

Examples include:

  • Helium: Scaling IoT transactions for billions of devices.
  • Zeta Markets: Enabling real-time DeFi solutions with zk-rollups.
  • Neon EVM: Simplifying Ethereum app deployment on Solana.

SVM Rollups Settled to Ethereum & Other Base Layers

With the rise of Solana, the underlying Solana Virtual Machine (SVM) has exploded in popularity, and several teams (SOON, Atlas and Eclipse) have emerged building SVM rollups settling to Ethereum and other modular base layers. SVM rollups can leverage zkVMs like SP1 for ZK fault proving or full ZK validity proving to securely prove their rollup’s state transition function to settle to Ethereum or other chains. SP1 makes it simple to prove an SVM rollup–simply take the Solana Agave client (written in Rust), import it to write an SP1 program, and start generating proofs of your chain!

Verifiable Credentials

Onchain identity is here with SP1. Solana developers can use SP1’s zkVM to generate proofs that attest to an end user’s passport, driver’s license or other real-world attestations. This can be useful to protocols that want proof of personhood, onchain KYC for compliance requirements, or other attributes from real-world data.

Cross-Chain Interoperability

ZKPs enable more secure cross-chain interoperability between Solana and other ecosystems. A “ZK light client”, where a ZKP is generated of Solana or other chains’ consensus, can replace traditional methods of bridging that rely on insecure multisigs and get hacked. Integrating ZKPs into bridging protocols (like Hyperlane, Wormhole, LayerZero and others) makes bridging to and from Solana more secure.

We’d Love to Hear From You

Join teams like Nitro, Spicenet, and Aerius in building with SP1 on Solana today. We’d love to hear from you if:

  • You’re working on network extensions to handle high-throughput use cases.
  • You’re building with the Sovereign SDK for an application-specific rollup that settles to Solana
  • You’re exploring offchain compute for ultra-scalable use cases, such as large-scale data processing (“ZK coprocessing”), computing large-scale statistics, and more.
  • You’re interested in super-fast proving using our SP1 prover cluster for latency-sensitive or high-throughput applications.

Reach out to our team or get started to begin building more scalable, secure, private and verifiable Solana dApps.

Learn More About SP1

Developers

Ecosystem Enthusiasts

Read more