namecoin / electrum-nmc

Namecoin port of Electrum Bitcoin client.
https://www.namecoin.org/
MIT License
29 stars 24 forks source link

Automatic anonymity-enforcing coin control #277

Open JeremyRand opened 3 years ago

JeremyRand commented 3 years ago

Once https://github.com/namecoin/electrum-nmc/issues/158 is implemented, we could make the commands that issue name transactions exclude coins that are already grouped with another name (unless the user approves it). This would have the high-level effect of enforcing anonymity (at least against blockchain analysis) for name registrations, as long as the coins were obtained anonymously (e.g. by buying them with Monero).

JeremyRand commented 3 years ago

Implementation-wise, seems like we could add a few lines to get_spendable_coins. In particular, accepting an extra optional parameter only_linkable_names, and using that with the output of listaddressgroupings to filter self.frozen_addresses before we pass it to self.get_utxos seems like a pretty good approach.

I am hesitant to make this mode turned on by default, at least at first. Maybe we could investigate making this the default behavior in the future, but for now I think it's okay to make this behavior opt-in. braces for the angry horde of Monero community members telling me that opt-in privacy isn't privacy We can discuss making it the default in a subsequent issue.

JeremyRand commented 3 years ago

Anyone who wants to implement this, please contact me to coordinate. :)