14

I'm wondering, if I sent some bitcoins from one of my own addresses to another address in my wallet, will it be possible for someone to figure out that both addresses are in the same wallet? Or can I claim the other address is not my own and no one can find out?

  • possible duplicate of How anonymous are Bitcoin transactions? – Stephen Gornick Feb 4 '13 at 3:40
  • I noticed that there is nothing on that page about figuring out that certain addresses are in the same wallet, despite the fact that there has been specific research on that topic. Perhaps this question could be rephrased to more specifically address that topic? Or if we want it all to go on that other one, maybe someone (KoKo or anyone else) could start a bounty on that question for an answer detailing this point. Personally I favour rephrasing this question since it is an important topic and really much more specific than "how anonymous are transactions". Any feedback on this KoKo? – eMansipater Feb 8 '13 at 5:48
10

It is possible to tell that two addresses are in the same wallet if they both appear as an input of a transaction. This indicates that one person owns both of them as they can spend both of them.

It is also quite likely that when you are sending a transaction that has one neat input (say, 1BTC), and one not so neat (say, 0.59721364BTC), that the latter is most likely a change left over from a transaction you sent to someone and is being sent to another address you own from the same wallet. This claim could be possibly deniable, but should be true in most cases.

  • 3
    Re first paragraph: Having both addresses as inputs of a transaction is evidence, but not definite proof, that they are owned by the same person. There are many use cases when different people may want to each supply an input. – Meni Rosenfeld Feb 4 '13 at 10:55
  • @MeniRosenfeld Well, I personally can't think of many. Same thing could be achieved by multisig addresses and just sending the person the money from a transaction you want to spend together. – ThePiachu Feb 4 '13 at 10:59
  • No. Once you send to the multisig address you're at the mercy of the other party. The whole point with multi-input is to make atomic swaps where neither party can deny the other - e.g., mixing transactions and swapping colored coins. – Meni Rosenfeld Feb 4 '13 at 11:27
  • @MeniRosenfeld They could use 2-out-of-2 multisig address. But I get your point. – ThePiachu Feb 4 '13 at 13:38
  • I'm not sure you do. To use a 2-of-2 multisig address they'd first need to send to this address. Once coins are in the multisig address, if the other party loses their key, you lose the coins. The other party can also extort you taking the coins hostage. – Meni Rosenfeld Feb 4 '13 at 13:57
3

It depends. Bitcoin is traceable but pseudonymous.

So there would be a path from your first address to your second address. There's no way to prove that the second address is in your wallet at that point. But when you spend from that second address, any party that knows the second address is yours would know that the second address came from funds from the first address.

In other words, simply moving funds from one address to another address is not an effective measure for protecting your privacy regarding your financial transactions.

3

No, it is not possible to determine definitively if two addresses are in the same wallet. The protocol does not have the concept of the wallet. The wallet is a concept within the client.

That is to say, that the client presents the concept of a wallet as a collection of addresses. The only relation between addresses that the protocol knows about is senders and receivers, or, really, inputs and outputs.

It may be possible through a thorough analysis of taint to determine within a reasonable amount of certainty that several addresses are related to each other in a wallet.

3

There is no way to prove in the protocol that two address belong in the same wallet when you send from address A to address B in your wallet. Of course, if you are using some kind of online wallet they do know, but I'm assuming you are using a full one.

However, there can be clues that combined can be quite definitive.

1. Clues when you send the transaction

However, depending on the amount in address A, sending all funds to B with no change could be a clue that both belong to the same person. This is not a problem if you are sending a round amount like 1 BTC, but if you are sending 0.82421871 BTC and there is no change it is weird unless you are sending all your funds to donate or pay for something without a fixed price. It is the same if you send from A a round amount to another address and B gets a very weird amount.

2. Clues after the original transaction

  • Spending from both addresses in the same transaction. This is no proof because there are ways to build a transaction with inputs from two wallets, but it is extremely rare.
  • Sending funds between the two addresses frequently, specially if you do it both ways (from A to B and from B to A). This could happen with two parties that work a lot together, but it is a clue of some relation.
  • Sending from both addresses at the same time, even if it is to different addresses (you send two transactions, one from A and another from B, that get to the same block long after you did the original one). It can be a coincidence, but it is one more signal.

3. IP address clue

This is extremely unlikely, but if you connect to a rogue node that records your IP address when you send from A to B and then you connect to that same rogue node (or another one acting in coordination) when you send from B to somewhere else, it would have the same IP address associated to both addresses. You could avoid this by using Tor or changing your IP address in some other way.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.