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

[ Feature Request ] Implement BIP352 sending (send to silent payment address) #8847

Open
cygnet3 opened this issue Jan 24, 2024 · 3 comments

Comments

@cygnet3
Copy link

cygnet3 commented Jan 24, 2024

BIP352 (silent payments) is entering its last revision stage and probably won't change from now, so it's time to start a discussion about possibly integrating it with wallets such as electrum.

The BIP is split in a 'sending' and a 'receiving' section which can be integrated by wallets independently. Adding 'sending' support to electrum can probably be done quite easily and with minimal impact to the internals of electrum. Receiving is more sophisticated, and is outside the scope of this issue.

@Sosthene00 and I have been working on a rust library (cygnet3/rust-silentpayments) that is intended to be used by wallets to add BIP352 support. We can use this library along with Python bindings (e.g. with mozilla/uniffi-rs) to add sending support. Another option is to write a python native implementation.

@edwargix
Copy link

Since libsecp256k1 is already a required dependency, I assume electrum can use the send/receive functionality implemented in bitcoin-core/secp256k1#1519 (once it's merged) (?)

@SomberNight
Copy link
Member

Note: naively RBF-ing a tx (in a way the changes the input set) that pays to a silent payment address will ~burn the coins.

This means that when having the same Electrum wallet on both a laptop and a phone (or after restoring from seed), the device that did not create the tx - at the very least - would need to know not to allow RBF-ing it.

We have a similar problem for LN funding txs (#7072), where we decided to store this data in the input nSequence by not opting into RBF.

@siwatanejo
Copy link

This means that when having the same Electrum wallet on both a laptop and a phone (or after restoring from seed), the device that did not create the tx - at the very least - would need to know not to allow RBF-ing it.

We have a similar problem for LN funding txs (#7072), where we decided to store this data in the input nSequence by not opting into RBF.

What happens if fullRBF gets activated?

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

4 participants