Skip to content

WDC: nonce pre-exchange for instant signing #332

@kwsantiago

Description

@kwsantiago

Problem

FROST signing requires a nonce commitment round before the signing round. For time-sensitive transactions, this adds latency. Pre-exchanging nonces during idle time enables single-round signing when needed.

Solution

Implement Bifrost-style nonce pool management in keep-frost-net.

Reference

  • bifrost (src/class/pool.ts): maintains separate incoming/outgoing nonce pools, auto-replenishment via events when pools fall below threshold, marks nonces as spent immediately

Implementation

  • Outgoing pool: generate nonce commitments for each peer, send during idle
  • Incoming pool: store received commitments, track consumption
  • Auto-replenish when pool drops below configurable threshold
  • Integrate with existing signing flow — use pooled nonce if available, fall back to interactive round

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestnostr-frostNostr FROST coordination protocolp3Lowest PrioritywdcWallet Descriptor Coordination

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions