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
Based on the neo-project/neo-modules#792 (comment),
the definition of MoreThanFNodesCommitted should be adjusted to match
the core algorithm as it's the key factor of the four-good-nodes liveness lock
scenario. There following change is made:
* We consider the node to be "Committed" if it has the Commit message
sent at _any_ view. If the good node has committed, then we know for sure
that it won't go further to the next consensus round and can rely on
this information.
The thing that remains the same is that we do not conu "lost" nodes, because
this information can't be reliably trusted. See the comment inside the commit.
Based on this adjustment, the first liveness lock scenario mentioned in
neo-project/neo-modules#792 (comment)
("Liveness lock with four non-faulty nodes") needs to include one more step
to enter a deadlock: one of the replicas that in the "cv" state must die.
Moreover, there's another liveness lock scenario when one of the nodes is in
the RMDead list, i.e. can "die" at any moment. Consider running the base model
specification with the following configuration:
```
RM RMFault RMDead MaxView
{0, 1, 2, 3} {} {0} 2
```
0 commit comments