Is there a reason why we haven't seen more talk/integration of Silent Payments on layer1? #bitcoin #asknostr

Reply to this note

Please Login to reply.

Discussion

I was having the same thought this morning. Would love to know what people think.

Payjoin may have stolen some of that thunder recently. Silent Payments were hot for a minute last year, but didn’t maintain attention. Thanks for the reminder.

I feel like I should have at least heard of payjoin before..

Bull Bitcoin just integrated it, was pretty big news. Explainer with the dev here. https://fountain.fm/episode/2PkGKjQWLAKGyNwjEdCM

Payjoin and Silent Payments are two completely different solutions to solve two completely different problems.

Payjoin is two-parties transaction coordination protocol while Silent Payments is a Key Management technology.

Bitcoin Core needs this PR in libsecp: https://github.com/bitcoin-core/secp256k1/pull/1519

I think the receive side is difficult to implement. I want to say some wallets have supported sending.

IMO it is because BIP352 is in reality an alternative to BIP32 (HD) and that meansthat you have to compatibilize two key management strategies, scriptPubKey detection, labeling systems, indexing/indexers. Backups are also different from HD wallets. Also, other concepts like read-only wallets are not compatible/possible.

This introduces a lot of friction. Moreover, many libraries don't support what it is needed to implement it. For example, NBitcoin doesn't know how to sign a non-tweaked key. So, it is not sooo simple.

Anyway, I think it worths the effort.

How can you build a public Indexer for silent payments? unless you mean self hosted Indexers?

The BIP352 has a section for Light Client Support.

Basically what a light client needs to detect an incomming Silent Payment is to calculate the sum of the inputs' pubkeys, that's all. So, if all the spending inputs were segwit or taproot client would be able to detect payments independently without the help of any indexer. However, for legacy scripts like P2PKH extracting the pubkey requires access to the prevout's scriptPubKey, something that unfortunately light clients don't have. That's basically why we need an indexer that provides the tweakData (in short, the sum of the pubkeys)

Ok but the receiver will still need the private key to identify an incoming 📨 payment.

Yes. Because the key generation involves a DH shared secret.

I see some development, but not a lot. Most notably Dana Wallet made an appearance recently, marketing itself as a wallet to receive donations. It uses blindbit oracle as a back-end, which can be set up fairly easily if one wants to self-host it all.