Done
Details
Details
Assignee
Adam Cigánek
Adam CigánekReporter
Qi Ma
Qi MaLabels
Start date
Sep 10, 2018
End date
Sep 13, 2018
Story Points
8
Components
Priority
Created August 7, 2018 at 4:06 PM
Updated September 12, 2018 at 2:17 PM
Resolved September 12, 2018 at 2:17 PM
Being a removed node, once we can see consensus on
Observation::Remove(Us)
, every subsequent call (it can be seen as the last stable block in consensused_blocks isObservation::Remove(Us)
) tovote_for()
,handle_request()
,handle_response()
,create_gossip()
andpoll()
must incur an error to be raised.Once we reach consensus on
Observation::Remove(X)
, remove the node from ourpeer_manager()
, which means that any futurecreate_gossip
,handle_request
orhandle_response
to or from that node would err as per normal rules.If some node contacts us and this leads to us learning that
Observation::Remove(them)
reaches consensus, we send them a response as normal. This will inform them they were removed.If they had been malicious and had contacted us after their own death, we would not have gotten to that point, thanks to normal malice handling rules
When some other node reaches consensus on
Observation::Remove(X)
, we must update the state of their membership inpeer_manager
so we can easily detectMalice::InvalidGossipCreator
from them later.