<p>For transactions with one input it is hard to guess what is the change and what is the real payment. However because they may be have statistics so they can may be guess that for a ~4 BTC input there are 70% of probability that the change is the bigger output and the money spent the smaller one when both output addresses are new.</p>

<p>Now if you have a transaction with several inputs (Like ou have already explained in your question) it is much more easier to guess.
If you have :</p>

<pre><code>As input
1Pi87D6NUPB5BxcuowYN4Lj3WLCSFGsuLN (0.24379822 BTC)
1PgBMDggd7GGCifDd1881vdvNe8pkn5BWk (0.08787591 BTC)

And as output
1B6tvnE3oP3mwoA4RMrYXWVup4Z73G6bDw -  0.05377413 BTC
1DswmdznL6exZzN6akJpsPUc4ZWRZo9JQc - 0.2778 BTC
</code></pre>

<p>In this case you can be pretty sure that the spent address is '1DswmdznL6exZzN6akJpsPUc4ZWRZo9JQc - 0.2778 BTC' and the change '1B6tvnE3oP3mwoA4RMrYXWVup4Z73G6bDw -  0.05377413 BTC'.</p>

<p>Because otherwise there would be only one input.</p>

CC BY-SA 3.0
2016-03-18T22:40:32.487Z
this is not necessarily the case, when putting a transaction together i am free to choose any inputs and direct them to any output addresses as i choose. Perhaps wallet software wouldn't do that, but it can be done manually (via createrawtransaction).
Albert S
CC BY-SA 3.0
2013-12-15T17:08:37.907Z
2013-12-15T17:14:06.570Z
2013-12-15T17:14:06.570Z
Jan Moritz
<p>Consider the following transaction:</p>

<p><a href="https://blockchain.info/tx/aa5eb27652bd85dc444ea2508bf0ff6ff1b484141e2d7e69f31976fafb21e06e">https://blockchain.info/tx/aa5eb27652bd85dc444ea2508bf0ff6ff1b484141e2d7e69f31976fafb21e06e</a></p>

<p>Each of the output addresses has never before been used, and there is only one input address. Why does blockchain.info guess that 0.7695 BTC has been transacted with 3.7216 BTC as change rather than the reverse (see "Estimated BTC Transacted")? Does it just pick the second address as the change address?</p>

<p>In other cases, I am able to guess similarly to blockchain.info, for example:</p>

<p>(1) If multiple input addresses are used, the change address should not be greater than the lowest input address (unless, of course, this is being purposely obfuscated).</p>

<p>(2) If both of the output addresses have been used before, they may run a degrees-of-separation query to try to connect one of the output addresses more closely to the input addresses, more closely identifying it with the input addresses and therefore as the change address.</p>

<p>(3) If only one of the output addresses has been used before, it is more likely to be the change address according to the heuristic in (2) because by definition the used address is more closely "connected" than an address that has never been used.</p>

<p>But what heuristic could be used if each of the output address is new? The spending pattern of the input address? Randomness? Thoughts?</p>

<p>You can see how this question affects views of the total/daily volume on Bitcoin in aggregate by comparing/contrasting both of the "Estimated Transaction Volume" charts available on <a href="http://www.blockchain.info/charts">http://www.blockchain.info/charts</a>. They claim the second chart adjusts for change, but provide no details about the algorithm.</p>

CC BY-SA 3.0
2013-07-10T21:21:40.050Z
They don't know. They don't claim to know, either. That's just the order that it shows up in the blockchain, which is randomized.
Nick ODell
CC BY-SA 3.0
2013-07-12T14:56:52.653Z
They seem to use some heuristics, as the above examples I showed. I'm wondering if they have another heuristic that is more subtle, or perhaps some public information detailing whatever algorithm they do or do not use.
Yaacov
CC BY-SA 3.0
2013-07-12T16:49:06.930Z
Ah, you're talking about the "Estimated BTC transacted" part, right?
Nick ODell
CC BY-SA 3.0
2013-07-24T20:08:33.690Z
Yup. I edited the question above to add a bit more detail.
Yaacov
<blockchain.info><change>
How does blockchain.info calculate the "Estimated Transaction Value?"
Yaacov
# How does blockchain.info calculate the "Estimated Transaction Value?"

(Asked by: username_0 on 2013-07-10)

Consider the following transaction:

<https://blockchain.info/tx/aa5eb27652bd85dc444ea2508bf0ff6ff1b484141e2d7e69f31976fafb21e06e>

Each of the output addresses has never before been used, and there is only one input address. Why does blockchain.info guess that 0.7695 BTC has been transacted with 3.7216 BTC as change rather than the reverse (see "Estimated BTC Transacted")? Does it just pick the second address as the change address?

In other cases, I am able to guess similarly to blockchain.info, for example:

(1) If multiple input addresses are used, the change address should not be greater than the lowest input address (unless, of course, this is being purposely obfuscated).

(2) If both of the output addresses have been used before, they may run a degrees-of-separation query to try to connect one of the output addresses more closely to the input addresses, more closely identifying it with the input addresses and therefore as the change address.

(3) If only one of the output addresses has been used before, it is more likely to be the change address according to the heuristic in (2) because by definition the used address is more closely "connected" than an address that has never been used.

But what heuristic could be used if each of the output address is new? The spending pattern of the input address? Randomness? Thoughts?

You can see how this question affects views of the total/daily volume on Bitcoin in aggregate by comparing/contrasting both of the "Estimated Transaction Volume" charts available on <http://www.blockchain.info/charts>. They claim the second chart adjusts for change, but provide no details about the algorithm.

**Tags:** blockchain.info, change

> **Comments:**
> **username_1**: They don't know. They don't claim to know, either. That's just the order that it shows up in the blockchain, which is randomized.  
> **username_0**: They seem to use some heuristics, as the above examples I showed. I'm wondering if they have another heuristic that is more subtle, or perhaps some public information detailing whatever algorithm they do or do not use.  
> **username_1**: Ah, you're talking about the "Estimated BTC transacted" part, right?  
> **username_0**: Yup. I edited the question above to add a bit more detail.  

---

## 1 answers

### Answer by username_2 on 2013-12-15. Score: 7

For transactions with one input it is hard to guess what is the change and what is the real payment. However because they may be have statistics so they can may be guess that for a ~4 BTC input there are 70% of probability that the change is the bigger output and the money spent the smaller one when both output addresses are new.

Now if you have a transaction with several inputs (Like ou have already explained in your question) it is much more easier to guess.
If you have :

```
As input
1Pi87D6NUPB5BxcuowYN4Lj3WLCSFGsuLN (0.24379822 BTC)
1PgBMDggd7GGCifDd1881vdvNe8pkn5BWk (0.08787591 BTC)

And as output
1B6tvnE3oP3mwoA4RMrYXWVup4Z73G6bDw -  0.05377413 BTC
1DswmdznL6exZzN6akJpsPUc4ZWRZo9JQc - 0.2778 BTC

```

In this case you can be pretty sure that the spent address is '1DswmdznL6exZzN6akJpsPUc4ZWRZo9JQc - 0.2778 BTC' and the change '1B6tvnE3oP3mwoA4RMrYXWVup4Z73G6bDw - 0.05377413 BTC'.

Because otherwise there would be only one input.

> **Comments:**
> **username_3**: this is not necessarily the case, when putting a transaction together i am free to choose any inputs and direct them to any output addresses as i choose. Perhaps wallet software wouldn't do that, but it can be done manually (via createrawtransaction).  

---

