Skip to content

CashuWallet privkeys vs NIP-60 #326

@robwoodgate

Description

@robwoodgate

NIP-60 specifies the Cashu Wallet event (kind:17375) has ONE privkey, multiple mints.
The privkey corresponds to the pubkey held in the NIP-61 info event (kind:10019).

The NDK library supports Cashu wallet events with MULTIPLE privkeys.

Is this an accidental deviation from protocol, or should NIP-60 be updated to allow multiple privkeys in kind:17275 events?

BTW, I think there are many benefits to allowing multiple privkey tags, and there was some brief discussion about it here.

PROS:

• Keeps all privkeys in one place - accessable via a single kind:17375 lookup
• Allows easy key rotation to help preseve privacy / minimise fingerprinting
• Helps prevent key loss - eg on key rotation, new key can simply be added to the event tags
• It reflects reality - the main NDK library already allows it, and apps using the library do include multiple privkeys

CONS

• Event size - lots of key rotations will increase the size of the event over time (though compared with the size of a regular Nostr note event, it's not really a huge concern, and a user could always publish a fresh event to start over).
• It's not obvious which is the active privkey corresponding to the kind:10019 NIP-61 info event, requiring operations to loop through the wallet keys (eg mapping them to pubkeys etc)

cc: @pablof7z

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