Skip to content

Conversation

@dknopik
Copy link
Member

@dknopik dknopik commented Oct 28, 2025

Issue Addressed

Additional Info

  • Several (non-essential) things are left to implement, and there are many design decisions I regret or am unsure about. See TODO(dknopik)
  • The basic idea is the DasColumn, which abstracts over full and partial columns. It can not be implemented over the actual partial message, as much data is missing, therefore VerifiablePartialDataColumn exists. This turned out not very nice. Currently, I believe a better approach would be a new container for block cell data, which is used throughout the codebase and converted into full or partial messages as need.
  • The newly introduced cache (pronounced /kæʃ/) for partials whose blocks are not known is very rudimentary, and should be fleshed out if it the spec keeps this approach.
  • The Arc situation has gone out of hand and in conjunction with the DasColumn trait has become very unergonomic and at times inefficient. I believe some of them should be removed, and only at the lowest level Arc should be used to avoid double or triple arcing. E.g. at committment level, or even cell level.

Rough type glossary, will be turned into more detailed doc comments if this approach stays:

  • PartialDataColumnSidecar: The actual message being sent
  • DanglingPartialDataColumn: The message along any information we receive through the partial message protocol: column index and block root
  • PartialDataColumnSidecarMessage: a partial data column along with optional info for eager sending
  • VerifiablePartialDataColumn: a partial data column along with all info needed for KZG/gossip verification

Testing status:

  • Basic test case (only partial subscriptions, no private blobs) seems to work well!

@dknopik dknopik changed the title Cell Dissemination (Partial messages) [WIP] Cell Dissemination (Partial messages) Oct 28, 2025
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.

1 participant