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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions