Skip to content

Blobstream X: the previous zk implementation of Blobstream

blobstream x draft diagram

What is Blobstream X?

Blobstream X is the previous implementation of Blobstream. It uses plonky2x to create circuits that verify the Celestia consensus and generate the corresponding proofs.

NOTE

The Blobstream X repository is now archived. For current deployments and active development, see SP1 Blobstream.

Blobstream X is built and deployed with Succinct's protocol.

NOTE

Current Blobstream deployments use SP1 Blobstream, not BlobstreamX circuits. This documentation is maintained for historical reference.

You can find the repository for Blobstream X along with code for:

NOTE

Custom ranges can be requested using the BlobstreamX contract to create proofs for specific Celestia block batches. These ranges can be constructed as [latestBlock, customTargetBlock), with latestBlock as the latest block height that was committed to by the BlobstreamX contract, and latestBlock > customTargetBlock, and customTargetBlock - latestBlock <= DATA_COMMITMENT_MAX.

Block ranges that are before the contract's latestBlock can't be proven a second time in different batches.

More information can be found in the requestHeaderRange(...) method.

How Blobstream X works

As shown in the diagram below, the entrypoint for updates to the Blobstream X contract is through the SuccinctGateway smart contract, which is a simple entrypoint contract that verifies proofs (against a deployed onchain verifier for the Blobstream X circuit) and then calls the BlobstreamX.sol contract to update it.

blobstream x overview diagram draft

NOTE

If the Blobstream X contract is not deployed on a desired chain, it needs to be deployed before it can be used by your rollup.

Deploy Blobstream X

It is possible to deploy and maintain a Blobstream x instance and have the same security guarantees.

First, you will need to create a multisig that governs the Blobstream X contract and also the function identifiers.

Then, check the deployment documentation for how to deploy the contract.

Then, you will need to run a relayer, which will generate the proofs and relay them to your deployed Blobstream X contract. Check the local proving documentation for more information.

Community implementations

Learn more about the community implementation of Blobstream proofs by CryptoKass.