Upgrading Blobstream to SP1
We’re excited to announce that Celestia, a modular data availability layer, is using SP1, our market-leading zkVM, to secure the Blobstream bridge to Ethereum.
Building Blobstream with SP1 was simple and easily maintainable, with all logic written in Rust, and makes Celestia data available to rollups settling on Ethereum, Arbitrum One, and Base.
SP1-Blobstream turned Blobstream’s bridge logic into < 300 lines of code, saving audit costs and significantly accelerating the time-to-production compared with custom ZK circuits.
The Blobstream Bridge
The Blobstream bridge verifies Celestia “data roots” (a commitment to all data blobs posted in a range of Celestia blocks) on Ethereum and other EVM chains. Rollups settling on Ethereum, Arbitrum One or Base can leverage this data root when initiating fault proofs (for optimistic rollups) or verify ZKPs (for ZK rollups).
Operation of the Blobstream bridge requires computing two properties in an EVM smart contract:
- Verifying Celestia’s Tendermint consensus algorithm
- Computing a Merkle root of all data hashes contained in a range of Celestia blocks
This logic would be far too expensive for a vanilla Ethereum smart contract, especially because the EVM doesn’t have precompiles for the ed25519 signatures used by Celestia’s validators. Thankfully, the unlimited scalability of ZKPs comes to the rescue.
SP1 Blobstream is Used in Production
With SP1, building infrastructure as powerful as Blobstream is as simple as writing Rust, generating a proof using Succinct’s prover network, and verifying this ZKP onchain for access to unlimited computation in your smart contract. Our SP1-Blobstream implementation has the following advantages:
- Performant verification of Celestia’s Tendermint consensus, including its validators’ ed25519 signatures, thanks to SP1’s precompiles
- No changes required to Celestia’s consensus protocol
- Utilizes the standard tendermint-rs library, making the final Blobstream program less than 300 lines of code for the SP1 program
- Cheap onchain verification, ~280k gas, for SP1-Blobstream SNARK proofs on any EVM chain
- 100% open-source, public good that can be utilized on any EVM chain (and soon on SVM chains)!
SP1-Blobstream has been operating in production for weeks relaying Celestia’s data root to Ethereum mainnet, Arbitrum, and Base on an hourly cadence.
Use SP1 Today
Thinking about using SP1? Explore our existing examples of light clients, such as SP1-Tendermint, an implementation of a Tendermint light client using SP1, SP1-Blobstream, and SP1-Vector, an implementation of a Substrate (Polkadot ecosystem) light client.
Other repos include OP-Succinct, which transforms any OP Stack Rollup into a type-1 zkEVM or build an application that integrates SP1.
With SP1, ZK has never been easier.
Code: Our code is fully open-source with an MIT license: check out OP Succinct here and SP1 here.
Contribute to SP1: If you’re interested in contributing to SP1 itself, check out the list of open issues in the Github repository!
Integrate with Blobstream: Building a Celestia based rollup? Checkout the docs on how to integrate Blobstream.
Collaborating with the Celestia team has been a privilege and we’re thrilled to be powering a core part of their ecosystem and building towards a proof-based future.