Address cluster information on coin control window #19035

issue eloyesp openend this issue on May 21, 2020
  1. eloyesp commented at 2:40 am on May 21, 2020: none

    I found it is very difficult to maintain privacy on my transactions because it is difficult to keep the address separated. I’m trying to prevent my addresses to cluster together, based on the following definition:

    Usually an adversary will try to link together multiple addresses which they believe belong to the same wallet. Such address collections are called “clusters”, “closures” or “wallet clusters”, and the activity of creating them is called “wallet clustering”. (source)

    While the coin control feature helps with that, it does not show all the transaction tree, listing just the coin sources.

    I would like the coin control window display all the clustered addresses belonging to any given tree so I can chose better which coins to use.

    An example tree

    Given the following transaction tree (where up-case letters are owned addresses)

    0a -> B
    1  -> C -> e
    2     |--> D
    

    There are two UTXOs that can be spend: B and D, both are change addresses, within the coin-control I can see that the coins were received from a, but there is no mention of e, and that could be actually quite important, if for example e does know my name. That would allow for example, prioritizing those UTXO to send more money to e.

    Could it be possible to add that information in the tree?

  2. eloyesp added the label Feature on May 21, 2020
  3. fanquake added the label GUI on May 21, 2020
  4. MarcoFalke removed the label GUI on May 21, 2020
  5. MarcoFalke commented at 12:11 pm on May 21, 2020: member
    I think if this is implemented, it should also be available to RPC wallets
  6. MarcoFalke added the label Wallet on May 21, 2020
  7. Sjors commented at 9:55 am on May 28, 2020: member

    It would indeed be useful to track where linked funds have been sent to. Perhaps we can add a column “Linked destinations”. This would contain a list of labels (fallback to addresses) of anything we sent to.

    I think if this is implemented, it should also be available to RPC wallets

    We have listaddressgroupings but could use listunspentgroupings. That might be a good place to start. Starting with the newest unspent output in a wallet, recursively iterate over its inputs and change outputs to collect all related wallet transactions. Insert all of them in the first group. Pick a wallet output that’s not in the first group, rinse and repeat. Once you have the groups, collect all its non-wallet destinations (labels) and origins (labels).

     0[
     1 {
     2    "destinations": [{"label": "KYC place", "address": "3..."}],
     3    "origins": [{"label": "Customer 1, "address": "bc1..."}, {"label": "Customer 2, "address": "bc1..."}],
     4   "unspents": [ same format as listunspent ] 
     5  },
     6  {
     7    // second group...
     8  },
     9  // other groups
    10]
    

    Ideally the UI coin selection tree would also have these groups.

  8. willcl-ark assigned willcl-ark on Sep 21, 2023

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-07-03 07:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me