Thread

Zero-JS Hypermedia Browser

Relays: 5
Replies: 1
Generated: 04:46:11
> Silent payment is right now unusable for light mobile clients so not a solution tonreplace bip47, I don’t need a separate scanning server for SP, BIP47 is serverless I don't think silent payments requiring anything more than bip47 does. How does your Bip47 wallet identify which blocks contain payments for it? If you look into it, I suspect you'll find it is by getting information about blocks from a server, which is how SP wallets do it too > Op_return in Tx0...contains info allowing the server to verify that the fee was actually paid to a publisher If the publisher tells their fee address to the server, the op_return is not needed. Neither solution requires a static fee address >. It's an anti-spoofing mechanism. If the fee is not seen on chain then the inputs are not registered. It also allows to NOT use a static fee for address collection.
2025-10-26 18:38:03 from 1 relay(s) ↑ Parent 1 replies ↓
Login to reply

Replies (1)

- BIP47 doesn't rely on any trusted server. In the example, Alice is paying Bob: 1- Alice gets Bob’s payment code. Besides some metadata, this code contains Bob’s xpub at derivation path 47; 2- Alice prepares a notification transaction. She selects one of her UTXOs and creates a shared secret S = k.B, with k being the private key of one of her UTXOs and B being the first public key of Bob’s xpub. She encrypts her own payment code applying XOR between her code and HMAC-SHA512(o, Sx), with o being the previous outpoint of the UTXO and Sx being the X coordinate of S; 3- She sends the transaction to Bob’s notification address, which is the first address of Bob’s xpub, including her encrypted payment code in the op_return; 4- Bob reads the op_return, finds S = b.K, with b being the private key of B and K being the public key of k. Bob gets K and o from the notification transaction. With that info, he is able to retrieve Alice’s payment code; 5- Alice can now derive new addresses and send payments to Bob by multiplying the private key a from her payment code and Bob’s public keys B0, B1, B2 etc from his payment code. Bob will do the opposite: b0.A, b1.A, b2.A etc; More on this here and no bip47 does not use any servers https://medium.com/@ottosch/how-bip47-works-ee641cc14bf3
2025-10-27 23:50:06 from 1 relay(s) ↑ Parent 1 replies ↓ Reply