Skip to content

Conversation

@shyam-patel-kira
Copy link
Contributor

No description provided.

@vercel
Copy link

vercel bot commented Nov 3, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Updated (UTC)
eigencloud-docs Ready Ready Preview Nov 6, 2025 7:34pm


The disperser enforces uniqueness - if you try to disperse a blob with a previously used blob key, the request will be rejected.

```solidity
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Curious, where do you expect this snippet to be used? Given it's in solidity is this meant to show the flow onchain?

I'm working under the assumption that the blob key is most useful in the offchain logic as it will be used in a API call, clarifying language and use here

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added a clarification note here: 13cf7fb

- `commitment`: The cryptographic commitment to your blob data (G1 point and G2 length commitment)
- `paymentHeaderHash`: `0x1234...` (the 32-byte hash of your PaymentHeader)

Computing the blob key happens in two steps:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe after you've gone through this there is really two side two this

  1. User has data and wants to compute a blob key

  2. User has a standard commitment and wants to compute a blob key

  3. should be included here as the the common flow for users is to use the proxy which having returned the commitment now requires a blob key to retrieve data

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

address this here: 5b02a5e


You can then use this blob key to query dispersal status with `GetBlobStatus`, retrieve chunks from validators with `GetChunks`, or fetch the full blob from relays with `GetBlob`.

### How It Relates to Other Structures
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feel free to include the excalidraw example which shows essentially the nesting doll of the data structures, linked in the original thread we were discussing in

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

included it: 13cf7fb


The blob key is the hash of the `BlobHeader`. A `BlobCertificate` wraps that header along with signatures and relay keys. When proving that a certificate was included in a batch, you use a `BlobInclusionInfo` which contains the certificate plus a Merkle proof. The `BatchHeader` has a `batchRoot` - that's the root of a Merkle tree where each leaf is the hash of a `BlobCertificate`.

### Code References
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do we want someone to use these references for?

wondering if it makes more sense to include at the bottom or if there's a more relevant spot to include it

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

addressed it here, added necessary links as well: 13cf7fb


The Go client shows how to verify the blob key in [`verifyReceivedBlobKey()`](https://github.com/Layr-Labs/eigenda/blob/6be8c9352c8e73c9f4f0ba00560ff3230bbba822/api/clients/v2/payloaddispersal/payload_disperser.go#L370-L400). After getting a `DisperseBlobReply`, compute the blob key yourself and check that it matches what the disperser returned.

### Where You'll Use It
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice section to include, let's include this higher up in the page.

The other use would be the
Proxy Dispersal --> Commitment Received --> Compute Blob Key in order to retrieve flow

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@shyam-patel-kira shyam-patel-kira merged commit 227ca19 into main Nov 7, 2025
3 checks passed
@shyam-patel-kira shyam-patel-kira deleted the kira--blobKey-doc-update branch November 7, 2025 06:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants