Skip to content

Inconsistent coordinator role between DKG and signing #187

Description

@jCabala

In DKG, the coordinator automatically participates — the dkg command contributes key material and -S/--participants lists only the other participants. The coordinator ends up in the group as a full participant with their own key share.

In signing, the coordinator does not participate — the coordinator command is purely an orchestrator. It creates the session, waits for commitments from everyone in -S/--signers, builds the signing package, and aggregates signatures. It does not contribute its own commitment or signature share. -S must list all signers, including the coordinator if they are a signer.

This means that when the coordinator is also a group member (which is always the case after DKG), they must run participant in parallel with coordinator to contribute their own signature share. This is undocumented and surprising given the DKG behaviour.

  • src/cli/dkg.rs — DKG coordinator automatically participates, -S = others only
  • src/cli/coordinator.rs:200num_signers = signers.len(), waits for exactly this many commitments
  • src/coordinator/coordinate_signing.rs:33-40 — collects commitments only from signers in -S, does not self-sign
  • src/cli/args.rs:176-178--signers on coordinator = all signers to wait for

Originally created in: https://github.com/Nori-zk/mina-multi-sig-example/blob/main/FEEDBACK.md

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions