Skip to content

Bugs on MoreThanFNodesCommittedOrLost - Logic probably not used for changeview #781

@vncoelho

Description

@vncoelho

Also related to issue #780,
there is something strange in the logic for avoiding nodes to accept payloads.

As I remember, this logic was also created for avoiding a node to change view if more than F nodes are committed or lost.

This needs a double check.

public bool NotAcceptingPayloadsDueToViewChanging => ViewChanging && !MoreThanFNodesCommittedOrLost;
// A possible attack can happen if the last node to commit is malicious and either sends change view after his
// commit to stall nodes in a higher view, or if he refuses to send recovery messages. In addition, if a node
// asking change views loses network or crashes and comes back when nodes are committed in more than one higher
// numbered view, it is possible for the node accepting recovery to commit in any of the higher views, thus
// potentially splitting nodes among views and stalling the network.
public bool MoreThanFNodesCommittedOrLost => (CountCommitted + CountFailed) > F;

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions