Skip to content

Commit 227e08b

Browse files
committed
guide changes
1 parent 40a8dce commit 227e08b

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

polkadot/roadmap/implementers-guide/src/node/backing/statement-distribution.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff 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

0 commit comments

Comments
 (0)