Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

blob sidecar era/erb proposal #5882

Draft
wants to merge 1 commit into
base: unstable
Choose a base branch
from
Draft

blob sidecar era/erb proposal #5882

wants to merge 1 commit into from

Conversation

tersec
Copy link
Contributor

@tersec tersec commented Feb 12, 2024

There's some potential value for an Era file equivalent for blob sidecars.

It should intentionally mirror Era file as much as makes sense. Some parts don't, such as emphasizing the states. They're simply not going to be fully verifiable in a standalone way, nor is there much value for their being such.

This version just modified the Era description, as it's easier to work within that regard to start with.

The name is also a stand-in, though, b for blobs isn't necessarily bad.

Some main real design decisions are

  • TLV or SSZ on the list aspect of the BlobSidecars. Arguments for both, but my preference is for SSZs.
  • Whether it's worth adding even a modicum of ability to internally verify the blob sidecar e2s files without immediate reference to external Era files. This could take a couple of forms, for example: cryptographic hashes or similar of uncompressed entries, and some kind of block header storage. But the latter seems not that useful. Geth seems to believe that hashes are a good verification mechanism and if done properly, seem reasonable. Snappy has its own checksums, but they're not designed against adversaries. It's not necessarily required to have either or any such mechanism though; these should be regarded as functionally subsidiary to Era files, such that uses cases exist for Era files without the blob equivalents, but likely not vice versa.

@tersec tersec marked this pull request as draft February 12, 2024 17:15
@rolfyone
Copy link

I was hoping something like this rather than adding blobs to era would be the plan, because it seems cleaner.

it sounds like the design is to have

mainnet-00005-4ec633af.era
mainnet-00005-4ec633af.erb

so the 2 archives are aligned - this would make it nice to validate because you can just parse both files. I think that's sensible (ignore above names, just grabbed one i was testing with :) )

Is it worth including the zk proofs from the blocks so that they're at least partially self referencing? I don't think it'd remove the need to cross-validate against the block completely, but it might allow a level of verification of the blob file itself... I guess it increases complexity in a way because then you have to check they're the actual commitments from the block anyway...

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.

None yet

2 participants