Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Silent Payment Send Optionality as new feature #633

Open
Gudnessuche opened this issue Dec 12, 2024 · 7 comments
Open

Add Silent Payment Send Optionality as new feature #633

Gudnessuche opened this issue Dec 12, 2024 · 7 comments

Comments

@Gudnessuche
Copy link

Given the open-source nature of this project, and keeping with the cypher punk ethos, it's only prudent that Seed Signer had silent payment support as a hardware wallet.

BIP 352(Silent Payment) send option so far is only implemented by BITBOX-02 when it comes to HWWs. I believe that since this BIP has been merged into core, it only makes sense that Seed Signer lead in proliferating SP usage.

@kdmukai
Copy link
Contributor

kdmukai commented Dec 12, 2024

I am eager to get SP support into SeedSigner. See my initial work here: https://x.com/KeithMukai/status/1790913869453418718

My understanding is that we'd need an updated psbt spec to be completed before we could create a full integration on our end.

Josie will be presenting at my local Bitdevs meetup tonight so I'll make sure I get more details.

@Gudnessuche
Copy link
Author

image
Cool just seeing the above. I also want toknow how you intend on implementing the idea of Labels and Contacts as well as BIP 353 SP.

@kdmukai
Copy link
Contributor

kdmukai commented Dec 12, 2024

My tentative answer is that it depends on what use cases emerge and what other tools support.

For example, "accounts" in derivation paths has largely fallen out of favor and most wallets don't even expose that functionality. So the default SeedSigner user flow also completely ignores accounts (however, since some account usage DOES exist, users can always specify a full custom derivation path).

If Labels end up being similarly fringe / unused, then so be it.

I'm not familiar with the Contacts concept.

For now the simplest, most basic SP implementation seems a good target for a first release.

@Gudnessuche
Copy link
Author

I agree. Pumped you and Josie are seeing tonight, should be positive.

LFG!!

@fedebuyito
Copy link
Contributor

Hi @kdmukai , I have proved your code and I could to verify that sp address Josie's branch generates (bitcoin/bitcoin#28453) match with yours, same as with silentium wallet that you verified (https://x.com/KeithMukai/status/1791134482130448480). Nice!

image
image

I am researching about BIP 352 since a few weeks and maybe I could help you or collaborate. Tell us more about your meeting with Josie, I think he is implementing this on Core here: bitcoin-core/secp256k1#1519

Regards!

@kdmukai
Copy link
Contributor

kdmukai commented Dec 17, 2024

It sounds like the updated psbt spec will take another couple months. Not surprising. So that's still a blocker for adding full support on the SeedSigner side.

The most interesting thing I learned was about the Labels. The spec describes them as an integer that you would increment for each new use (e.g. each tenant in your apartment building would get a different integer Label so you can keep track of who's paid you their monthly rent). But Josie said that you can use anything you want as a Label, so long as YOU know what scheme you used and are able to reproduce it. One example was if you're a big exchange, you could use each customer's unique customer_id.

The reason the spec only describes an incrementing int is that any wallet can trivially pre-compute the first, say, 100k Labels and include them in the scan when restoring a SP wallet. But if you use your own Label scheme, the onus is on you to set up your own system to scan for those Labels and find your SP utxos.

I asked if the bip could be clarified to include that additional info about Label flexibility and he agreed that it should be added.

@Gudnessuche
Copy link
Author

Correct, Labels and Contacts for BOLT 12 is such a game changer. Especially for exchanges like you've said. Cos now even exchanges could publish their scan key, so when we're probably sending from seedsigner to say, a coinbase or whatever, is coinbase signs that scan public key, Seedsigner could render the exchange's name, in this case coinbase and the normie user can verify that the address does belong to coinbase.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants