Consider a case with Qset { N: 6, Threshold: 4}, 6 nodes and a threshold of 4.

If a Node has received 4 commit confirmed messages for a ballot b then it is safe to act on it - as an example by applying a transaction set to its ledger.

However if the additional 2 nodes sent their confirmation late, then the Node will reject these messages in its validation routine (validateValue in SCPDriver), because the transaction set will now consist entirely of double-spend transactions.

Is it normal or desired for a Node to reject the additional messages after it has externalized a ballot? How does Stellar handle this? Surely the extra messages beyond the threshold are still useful - for example for archival nodes?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.