Skip to content

Conversation

najlachamseddine
Copy link

@najlachamseddine najlachamseddine commented Aug 7, 2025

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() and assertion 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 and round 3 of resharing (worked on the ecdsa key), in the round's Start() the allOldOK is called and then considering all messages as already received by old parties at these two rounds. This makes the real execution of round 3 to be skipped as the Update() is waiting for the messages (dgRound1Messages at round 1 and dgRound3Message1s and dgRound3Message2s at round 3, and only then for each received message the associated oldOk 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.

@najlachamseddine najlachamseddine marked this pull request as ready for review August 7, 2025 13:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant