oldok init prevents from waiting for message updates #321
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
While implementing the resharing on two parties in a p2p architecture using the tss lib 2.0.2, old committee parties {0,1} is equal to new committee parties {0,1}, same threshold, we had an issue on
round 4
at the verification step on both parties:share from old committee did not pass Verify()
andassertion failed: V_0 != y
By running and looking inside each round and the messages that are broadcasted between parties (old and new), I found out that on
round 1
andround 3
of resharing (worked on the ecdsa key), in the round'sStart()
theallOldOK
is called and then considering all messages as already received by old parties at these two rounds. This makes the real execution ofround 3
to be skipped as theUpdate()
is waiting for the messages (dgRound1Messages
atround 1
anddgRound3Message1s
anddgRound3Message2s
atround 3
, and only then for each received message the associatedoldOk
party index should be set to true).By adding the fix of this branch, the resharing is finalized on
round 5
and then completed on both parties. Could you please confirm this could be the fix for the verification errors at step 4.