You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
right now indexer backup is not checksummed (nor deterministic) and can potentially differ from node to node. if a rogue node publishes an incomplete indexer, a bootstrapping node can pull that broken indexer during the statesync init.
@p4u proposes removing the indexer backup from the state snapshot, and implementing some out-of-band mechanism, for example an "authoritative" node that maintains the complete indexer and publishes the resulting backup over ipns (very much like the archiver). that would be pulled during ApplySnapshotChunk, when the height of the state is already known. if there's any failure, our code would simply report to cometbft that the whole statesync failed and cometbft would try again, with another snapshot (and height, possibly)
The text was updated successfully, but these errors were encountered:
another related idea is to implement a "consistency check" on indexer, that for example recalculates the elections results looking at the state, and verifies the indexer has the same results.
right now indexer backup is not checksummed (nor deterministic) and can potentially differ from node to node. if a rogue node publishes an incomplete indexer, a bootstrapping node can pull that broken indexer during the statesync init.
@p4u proposes removing the indexer backup from the state snapshot, and implementing some out-of-band mechanism, for example an "authoritative" node that maintains the complete indexer and publishes the resulting backup over ipns (very much like the archiver). that would be pulled during ApplySnapshotChunk, when the height of the state is already known. if there's any failure, our code would simply report to cometbft that the whole statesync failed and cometbft would try again, with another snapshot (and height, possibly)
The text was updated successfully, but these errors were encountered: