Skip to content

Impossible to remove party during Resharing  #1

Open

Description

@nulltea

Currently following scenarios are fully verified and tested:

  • same set key rotation
  • key handover (with new parties)

If a party is removed from the new committee resharing will be stuck at round_1_old_step_1.go for old excluded party because oldOk[] values aren't updated.

Need to check whether the current resharing scheme supports party removal and if it is - find a root cause of the current behavior.

After that the following test can be uncommented: https://github.com/ChainSafe/threshlib/blob/master/ecdsa/resharing/local_party_test.go#L53

Activity

  1. self-assigned this
    on Apr 20, 2023
  2. nulltea commented on Jun 27, 2024

    @nulltea
    MemberAuthor

    fix: switch back to upstream version and modify ID generation as showed in https://github.com/ChainSafe/threshlib/blob/upstream-master/ecdsa/resharing/local_party_test.go#L47-L63

    Scenarios

    To add new party:
    oldParties - same
    newParties +1 (leave LocalPreParams unset)

    To remove party that isn’t required for the threshold (e.g. oldN = 5, T=3, newN=4)
    oldParties -1 (remove party)
    newParties -1 (remove party)

    To remove party that required for the threshold (e.g. oldN = 5, oldT=3, newN=2, newT=2):
    oldParties - oldT parties
    newParties - newT parties

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Fields

Priority

None yet

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions