diff --git a/developers/blobstream-x-deploy.md b/developers/blobstream-x-deploy.md index 123a1028241..dd4e6fac6f3 100644 --- a/developers/blobstream-x-deploy.md +++ b/developers/blobstream-x-deploy.md @@ -23,9 +23,12 @@ need to do the following. GUARDIAN_11155111=0xDEd0000E32f8F40414d3ab3a830f735a3553E18e RPC_11155111=https://ethereum-sepolia.publicnode.com - ETHERSCAN_API_KEY_11155111=S26KHEB7PVMD65DAU36P4TB16F6EQ4R5BU + ETHERSCAN_API_KEY_11155111= ``` - + TODO(@Succinct): Document the following: + - Where to get the timelock and guardian + - The env variables names contain the chainID, we should mention + that different chains will require different variables. 4. Deploy the `SuccinctGateway` contract. Ex. Deploying `SuccinctGateway` on Sepolia diff --git a/developers/blobstream.md b/developers/blobstream.md index aec0df5f9bc..0acda6a7837 100644 --- a/developers/blobstream.md +++ b/developers/blobstream.md @@ -14,10 +14,11 @@ on Ethereum, for integration by developers into L2 contracts. This enables Ether developers to build high-throughput L2s using Celestia's optimised DA layer, the first with Data Availability Sampling (DAS). -A new and improved version of Blobstream, Blobstream X, is out and will -replace Blobstream. This latter proves Celestia block headers on the -target EVM chain using zk-proofs which allows inheriting all the security -guarantees of Celestia. +An implementation of Blobstream, by [Succinct](https://succinct.xyz/), called +[Blobstream X](https://github.com/succinctlabs/blobstreamx), is out +and will be used in our canonical deployments. This latter proves Celestia +block headers on the target EVM chain using zk-proofs which allows +inheriting all the security guarantees of Celestia. ## What is Blobstream X? @@ -28,7 +29,7 @@ on Ethereum. Optimistic or ZK rollups that settle on Ethereum but wish to use Celestia for DA require a mechanism for _bridging_ Celestia’s data root to Ethereum as part -of the settlement process. This data root is used during validity proofs to +of the settlement process. This data root is used during inclusion proofs to prove that particular rollup transactions were included and made available in the Celestia network. @@ -61,13 +62,29 @@ along with code for: - The Blobstream X smart contract - [`BlobstreamX.sol`](https://github.com/succinctlabs/blobstreamx/blob/main/contracts/src/BlobstreamX.sol) - [The Blobstream X circuits](https://alpha.succinct.xyz/celestia/blobstreamx) +- [The Blobstream X contract Golang bindings](https://github.com/succinctlabs/blobstreamx/blob/main/bindings/BlobstreamX.go) Canonical deployments of Blobstream X will be maintained on the -following chains: Arbitrum One, Base and Ethereum Mainnet. Every 4 -hours, Succinct will post an update to the Blobstream X contract -that will include a new data commitment range that covers a 4-hour +following chains: Arbitrum One, Base and Ethereum Mainnet. Every 1 +hour, Succinct will post an update to the Blobstream X contract +that will include a new data commitment range that covers a 1-hour block range from the `latestBlock` in the Blobstream X contract. +:::tip 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` is 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 [`requestHeaderRange(...)`](https://github.com/succinctlabs/blobstreamx/blob/364d3dc8c8dc9fd44b6f9f049cfb18479e56cec4/contracts/src/BlobstreamX.sol#L78-L101) +method. +::: + ### How Blobstream X works As shown in the diagram below, the entrypoint for updates to the Blobstream @@ -119,7 +136,7 @@ TBD (Add: Sepolia, Arbitrum Sepolia, and eventually the others). ### Decentralization and security -BlobstreamX is built on Celestia, which uses a CometBFT-based proof-of-stake +Blobstream X is built on Celestia, which uses a CometBFT-based proof-of-stake system. Blobstream X shares the same security assumptions as Celestia. In contrast, data availability committees (DACs), are typically centralized or semi-centralized, relying on a specific set of entities or diff --git a/developers/blobstreamx-proof-queries.md b/developers/blobstreamx-proof-queries.md index a32634a550e..12e0f475334 100644 --- a/developers/blobstreamx-proof-queries.md +++ b/developers/blobstreamx-proof-queries.md @@ -670,7 +670,7 @@ with `proofs` being `sharesProof.RowProof.Proofs`. ### `attestationProof` This is the proof of the data root to the data root tuple root, which is committed -to in the BlobstreamX contract: +to in the Blobstream X contract: ```solidity /// @notice Contains the necessary parameters needed to verify that a data root tuple @@ -685,7 +685,7 @@ struct AttestationProof { } ``` -- `tupleRootNonce`: the nonce at which BlobstreamX committed to the batch containing +- `tupleRootNonce`: the nonce at which Blobstream X committed to the batch containing the block containing the data. - `tuple`: the `DataRootTuple` of the block: