File tree Expand file tree Collapse file tree 1 file changed +20
-0
lines changed
polkadot/roadmap/implementers-guide/src/node/backing Expand file tree Collapse file tree 1 file changed +20
-0
lines changed Original file line number Diff line number Diff line change @@ -123,6 +123,26 @@ only send "importable" statements to the backing subsystem itself.
123123 backable and part of the hypothetical frontier.
124124- Note that requesting is not an implicit acknowledgement, and an explicit acknowledgement must be sent upon receipt.
125125
126+ ### Disabled validators
127+
128+ After a validator is disabled in the runtime, validators should no longer
129+ accept statements from it. Because we use the state of the active leaves to
130+ check whether a validator is disabled instead of the relay_parent, the notion
131+ of being disabled is inherently racy:
132+ - the responder has learned about the disabled validator before the requester
133+ - the receiver has witnessed the disabled validator after sending the request
134+
135+ We can have sent a manifest to a peer, then received information about
136+ disabling, and then receive a request. This can break an invariant of the grid
137+ mode:
138+ - the response is required to indicate quorum
139+
140+ Due to the above, there should be no response at all for grid requests when the backing threshold is no longer met as a result of disabled validators.
141+ In addition to that, we add disabled validators to the request's unwanted
142+ mask. This ensures that the sender will not send statements from disabled
143+ validators (at least from the perspective of the receiver at the moment of the
144+ request). This doesn't fully avoid race conditions, but tries to minimize them.
145+
126146## Messages
127147
128148### Incoming
You can’t perform that action at this time.
0 commit comments