From 40f6e5e85026cd45ad2fdb605f732f158f536643 Mon Sep 17 00:00:00 2001 From: Jimmy Chen Date: Wed, 15 Oct 2025 15:18:55 +1100 Subject: [PATCH 1/2] Nodes to only publish only custody columns from reconstruction. --- specs/fulu/das-core.md | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/specs/fulu/das-core.md b/specs/fulu/das-core.md index d85b55ea96..3b77211236 100644 --- a/specs/fulu/das-core.md +++ b/specs/fulu/das-core.md @@ -244,21 +244,20 @@ 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 +If the node obtains more than 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. 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. *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. From fb8a2b000a346f8a86f7cd11e1787f79240ebfd5 Mon Sep 17 00:00:00 2001 From: Jimmy Chen Date: Thu, 16 Oct 2025 22:49:09 +1100 Subject: [PATCH 2/2] Update wording --- specs/fulu/das-core.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/specs/fulu/das-core.md b/specs/fulu/das-core.md index 3b77211236..e4dd9e3486 100644 --- a/specs/fulu/das-core.md +++ b/specs/fulu/das-core.md @@ -244,11 +244,13 @@ columns from other peers. ## Reconstruction and cross-seeding -If the node obtains more than 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