Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 11 additions & 10 deletions specs/fulu/das-core.md
Original file line number Diff line number Diff line change
Expand Up @@ -244,21 +244,22 @@ columns from other peers.

## Reconstruction and cross-seeding

If the node obtains 50%+ of all the columns, it SHOULD reconstruct the full data
matrix via the `recover_matrix` helper. Nodes MAY delay this reconstruction
allowing time for other columns to arrive over the network. If delaying
reconstruction, nodes may use a random delay in order to desynchronize
reconstruction among nodes, thus reducing overall CPU load.
If the node custodies more than 50% of columns, and has obtained at least 50% of
all columns, it SHOULD reconstruct the full data matrix via the `recover_matrix`
helper to obtain the remaining columns needed for its custody requirements.
Nodes MAY delay this reconstruction allowing time for other columns to arrive
over the network. If delaying reconstruction, nodes may use a random delay in
order to desynchronize reconstruction among nodes, thus reducing overall CPU
load.

Once the node obtains a column through reconstruction, the node MUST expose the
new column as if it had received it over the network. If the node is subscribed
to the subnet corresponding to the column, it MUST send the reconstructed
`DataColumnSidecar` to its topic mesh neighbors. If instead the node is not
subscribed to the corresponding subnet, it SHOULD still expose the availability
of the `DataColumnSidecar` as part of the gossip emission process. After
exposing the reconstructed `DataColumnSidecar` to the network, the node MAY
delete the `DataColumnSidecar` if it is not part of the node's custody
requirement.
subscribed to the corresponding subnet, it MAY still expose the availability of
the `DataColumnSidecar` as part of the gossip emission process. After exposing
the reconstructed `DataColumnSidecar` to the network, the node MAY delete the
`DataColumnSidecar` if it is not part of the node's custody requirement.
Comment on lines -257 to +262
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't agree with this change from SHOULD to MAY. We do want nodes to make this contribution to the network. It is not optional (which might be the MAY), but it is mandatory except if valid reasons exists to do otherwise (which is the original SHOULD).


*Note*: A node always maintains a matrix view of the rows and columns they are
following, able to cross-reference and cross-seed in either direction.
Expand Down