-
Notifications
You must be signed in to change notification settings - Fork 946
Closed
Labels
NetworkingdasData Availability SamplingData Availability Samplingmajor-taskA significant amount of work or conceptual task.A significant amount of work or conceptual task.
Description
Description
This is a tracking issue for the work that is being undertaken on building out Data Availability Sampling.
This will be updated and edited as we go.
Instructions for running a DAS devnet can be found in this gist.
Main PR to unstable:
Devnet 5
- Implement
getBlobSidecarssupport for PeerDAS #6251 - Improve range sync with PeerDAS #6258
- Reconstruct data columns without blocking processing and import #5990
- Improving blob propagation post-PeerDAS with Decentralized Blob Building #6268
- Subscribe to column subnets from PeerDAS (Fulu) epoch #5894
- Verify
kzg_commitments_inclusion_proofon data column by range responses #6111 - Add additional PeerDAS metrics #6018
- Add option to select KZG library for PeerDAS #6107
- Implement validator custody (spec) Implement basic validator data column custody #6767
- Unsubscribe from
blob_sidecarsgossip topic from the Fulu fork #6854 - Address all
TODO(das)comments - Batch verify KZG proofs where possible Use data column batch verification consistently #6851
- Don't lookup sync individual columns received from gossip. WIP
dapplion:dedup-columns-by-root-requests
TODO(das)
- Collection of small / easy TODOs Fix misc PeerDAS todos #6862
- Generalize block available time metric for PeerDAS #6850
Initial implementation
Data format and distribution (#5050)
- Add
ColumnSidecartype - Extend blobs horizontally with dummy data (
0x{random_uniq_bits}...{col_id}) and distribute to column subnets - Create 32 column subnets
NUM_COLUMN_SUBNETS - Compute subnets to subscribe to based on
node_id(see att example here) - Node to subscribe to only
CUSTODY_REQUIREMENTcolumn subnets
Data Column Custody
- Add
DataColumnSidecarsByRootreq/resp protocol #5196 - Advertise extra custodied columns through ENR (@jacobkaufmann)
- Implement
PEERDAS_ACTIVATION_EPOCHto transition from deneb blobs to data columns (@jimmygchen) - Send custody data column to
DataAvailabilityCheckerfor determining block importability #5570 - PeerDAS custody lookup sync #5684
- ❌ Proposer to store all data columns to prevent data loss (See this comment) - increase peer count and custody requirement instead
Sampling
- Add
DataColumnSidecarsByRootreq/resp protocol #5196 - DAS sampling on sync #5616
- Re-process early sampling requests #5569
- Don't attempt downloading sample for custody columns already in DB
- Respond with first byte to extend timeout for early sampling requests #6929
- Network service update to maintain peers on all custody columns #6930
Syncing
- DataColumnByRange boilerplate #5353
- Fetch custody columns in range sync #5747
- Trigger sampling on sync events #5776
Misc
- feat: add DAS KZG in data col construction #5210
- Add data column kzg verification and update
c-kzg. #5701 - ❌ Add EIP-7594 boilerplate #5734
- PeerDAS spec tests #5772
- Rename
PEER_DAS_EPOCHtoEIP7594_FORK_EPOCH#5750 - Implement unconditional reconstruction for supernodes #5781
- Add column gossip verification and handle unknown parent block #5783
- PeerDAS parameter changes for devnet-0 #5779
- Multithread compute_cells_and_proofs #5805
- Move PeerDAS type-level config to configurable
ChainSpec#5828 - Store data columns individually in store and caches #5890
peerdas-devnet-1
peerdas-devnet-2
- Implement MetaDataV3 with
cusotdy_subnet_count#6233 - Update PeerDAS network parameters for
peerdas-devnet-2#6289
peerdas-devnet-3
- Progressively merge
dastounstable#6072 - Make Checkpoint sync work for PeerDAS #6026
- Extend simulator tests to support PeerDAS #6109
Post-Pectra (Sampling, 2D PeerDAS etc)
- Update fork choice with sampling results (spec)
- Allow retrying sampling of a data column on a peer after certain amount of time #6110
Current behaviour not specified by consensus-specs
- Only supernode performs reconsturctions once >50% of columns received
- LossyDAS implementation
- Re-process
DataColumnsByRootrequests and respond when columns are ready
divagant-martian, jimmygchen, eserilev and ackintosh
Metadata
Metadata
Assignees
Labels
NetworkingdasData Availability SamplingData Availability Samplingmajor-taskA significant amount of work or conceptual task.A significant amount of work or conceptual task.