<p>I don't think you can make that assumption with any certainty. You can fairly easily invent other explanations that are equally valid (though probably much less likely)</p>

<p>For example, this transaction might be created by a 23292 member club with an annual subscription of 1 BTC that sends prizes of 0.5 BTC to ten winners of their monthly competition. There would be no real-world transaction that links one specific subscriber with two specific prize-winners.</p>

<p>The blockchain certainly doesn't assign inputs to outputs. The only requirement is that the sum of inputs cannot exceed the sum of outputs (and usually the sum of outputs is less than the sum of inputs - the difference being the mining fee)</p>

<p>This may be clearer if you just think of this as a record of a fiat cash transaction. If I hand out $1 banknotes to ten people, the various five people who each gave me a couple of $1 banknotes in change have no involvement in my later transaction. The sources, sizes or sequence of the inputs are not relevant.</p>

CC BY-SA 4.0
2019-03-18T17:22:39.390Z
Hi, thanks for the input. Your last example isn't really applicable. I'm specifically interested in a single multi-in and multi-out transaction. I'm not asking about a single entity hading out 10 $1 bank notes. I'm asking about 5 people each putting 2 $1 notes in a pot. Then 10 people come along and each take a $1 note out. Is it on the whole fair to say that each of the 5 payers gave each of the 10 payees 20 cents each? Even though we cant split the note. I can update my example to try to make it clearer if it helps.
Simon O'Hanlon
CC BY-SA 4.0
2019-03-18T17:26:07.803Z
@SimonO'Hanlon: I don't understand how you can determine how many people are involved. Normally, ten addresses appearing in a transaction might all be controlled by one person, individually by ten people or any permutation in between. Did you have some specific type of transaction in mind? Your question doesn't seem to be specific to Bitcoin. If your record of movements in and out of the pot is simply a journal of amounts and "addresses" you don't know how many people are involved do you?.
RedGrittyBrick
CC BY-SA 4.0
2019-03-18T17:30:18.017Z
Ah, well because, even though a single person might control 10 addresses, I am interested in when those addresses are used on different platforms and looking at flows between platforms. There are examples where someone has sent from multiple different exchange addresses in a single transaction to multiple other exchanges. I would like to estimate the flow between those exchanges.
Simon O'Hanlon
CC BY-SA 4.0
2019-03-18T18:00:56.280Z
@SimonO'Hanlon: I believe there is no way to know whether someone intended to send i3  to o2 and o8  or to o1 and o3. They may have intended 1% of i3 to go to o6, 19% to o7, 40% to o2 and 40% to o9 with other imputs making up the balance of each of those outputs. The order of inputs and outputs in the transaction is arbitrary.
RedGrittyBrick
CC BY-SA 4.0
2019-03-18T18:03:43.883Z
Thanks for continuing the conversation. Yes I understand what you mean now. Thank you.
Simon O'Hanlon
CC BY-SA 4.0
2019-03-18T17:07:30.623Z
2019-03-18T18:02:42.170Z
2019-03-18T18:02:42.170Z
RedGrittyBrick
<p>This kind of statement does not hold.</p>

<p>As RedGrittyBrick's answer mentions, bitcoin has no real concept of people, or individual contributions. Multiple inputs in a transaction might be controlled by a single entity, or multiple entities (multisig) may control a single input. There is no real relation between the number of inputs, distinct or otherwise, and the number/weight of a participant in a transaction.</p>

<p>This is further affected by actions such as a coinjoin, where multiple independent transactions may be combined into a single larger transaction, consisting of all the inputs of the smaller ones, and all of their outputs. In fact, coinjoins are performed because people and some tracking systems view transactions as you described, by trying to link inputs and their btc to outputs, and distribute "ownership" and responsibility proportionally to the BTC value of the input. However, as this concept does not directly translate into or accurately represent the nature of the transaction, it cannot be viewed as a "correct" interpretation.</p>

<p>After all, in your example tx, what stops me from saying that each input is responsible for exactly 2 of the outputs, and contributed nothing to the other 8? Or, why not say that inputs 1, 3, and 5 are responsible for outputs 1, 3, 5, 6, 7, 9, and not for 2, 4, 8, and 10? Why distribute their contributions equally to each output?</p>

CC BY-SA 4.0
2019-03-18T18:03:12.910Z
Thanks also for your input. Reading this and the Bitcoin wiki page on coinjoin it becomes clear. I guess the danger is some authority philosophically decides to treat the outputs in the way I described to err on the side of caution for not accepting _"bad"_ bitcoins.
Simon O'Hanlon
CC BY-SA 4.0
2019-03-18T17:37:48.277Z
2019-03-18T17:37:48.277Z
Raghav Sood
<p>Suppose a transaction <strong>t</strong> has 5 input UTXOs each worth 1 BTC, each unlocked by a different sending address <strong>A<sub>i</sub></strong>. </p>

<p>The outputs of that transaction are 10 UTXOs of 0.5BTC each, each locked by a different receiving address <strong>A<sub>o</sub></strong>.</p>

<p>Is it <em>correct</em> to posit that each of the <strong>A<sub>i</sub></strong> sent 0.1 BTC to each <strong>A<sub>o</sub></strong>? (Lets ignore the existence of transaction fee).</p>

<transactions><address><utxo><sending>
Transactions with multiple input UTXOs and multiple output UTXOs
Simon O'Hanlon
# Transactions with multiple input UTXOs and multiple output UTXOs

(Asked by: username_0 on 2019-03-18)

Suppose a transaction **t** has 5 input UTXOs each worth 1 BTC, each unlocked by a different sending address **Ai**.

The outputs of that transaction are 10 UTXOs of 0.5BTC each, each locked by a different receiving address **Ao**.

Is it *correct* to posit that each of the **Ai** sent 0.1 BTC to each **Ao**? (Lets ignore the existence of transaction fee).

**Tags:** transactions, address, utxo, sending


---

## 2 answers

### Answer by username_1 on 2019-03-18. Score: 2 | Accepted answer

I don't think you can make that assumption with any certainty. You can fairly easily invent other explanations that are equally valid (though probably much less likely)

For example, this transaction might be created by a 23292 member club with an annual subscription of 1 BTC that sends prizes of 0.5 BTC to ten winners of their monthly competition. There would be no real-world transaction that links one specific subscriber with two specific prize-winners.

The blockchain certainly doesn't assign inputs to outputs. The only requirement is that the sum of inputs cannot exceed the sum of outputs (and usually the sum of outputs is less than the sum of inputs - the difference being the mining fee)

This may be clearer if you just think of this as a record of a fiat cash transaction. If I hand out $1 banknotes to ten people, the various five people who each gave me a couple of $1 banknotes in change have no involvement in my later transaction. The sources, sizes or sequence of the inputs are not relevant.

> **Comments:**
> **username_0**: Hi, thanks for the input. Your last example isn't really applicable. I'm specifically interested in a single multi-in and multi-out transaction. I'm not asking about a single entity hading out 10 $1 bank notes. I'm asking about 5 people each putting 2 $1 notes in a pot. Then 10 people come along and each take a $1 note out. Is it on the whole fair to say that each of the 5 payers gave each of the 10 payees 20 cents each? Even though we cant split the note. I can update my example to try to make it clearer if it helps.  
> **username_1**: @username_0: I don't understand how you can determine how many people are involved. Normally, ten addresses appearing in a transaction might all be controlled by one person, individually by ten people or any permutation in between. Did you have some specific type of transaction in mind? Your question doesn't seem to be specific to Bitcoin. If your record of movements in and out of the pot is simply a journal of amounts and "addresses" you don't know how many people are involved do you?.  
> **username_0**: Ah, well because, even though a single person might control 10 addresses, I am interested in when those addresses are used on different platforms and looking at flows between platforms. There are examples where someone has sent from multiple different exchange addresses in a single transaction to multiple other exchanges. I would like to estimate the flow between those exchanges.  
> **username_1**: @username_0: I believe there is no way to know whether someone intended to send i3  to o2 and o8  or to o1 and o3. They may have intended 1% of i3 to go to o6, 19% to o7, 40% to o2 and 40% to o9 with other imputs making up the balance of each of those outputs. The order of inputs and outputs in the transaction is arbitrary.  
> **username_0**: Thanks for continuing the conversation. Yes I understand what you mean now. Thank you.  

---

### Answer by username_2 on 2019-03-18. Score: 1

This kind of statement does not hold.

As username_1's answer mentions, bitcoin has no real concept of people, or individual contributions. Multiple inputs in a transaction might be controlled by a single entity, or multiple entities (multisig) may control a single input. There is no real relation between the number of inputs, distinct or otherwise, and the number/weight of a participant in a transaction.

This is further affected by actions such as a coinjoin, where multiple independent transactions may be combined into a single larger transaction, consisting of all the inputs of the smaller ones, and all of their outputs. In fact, coinjoins are performed because people and some tracking systems view transactions as you described, by trying to link inputs and their btc to outputs, and distribute "ownership" and responsibility proportionally to the BTC value of the input. However, as this concept does not directly translate into or accurately represent the nature of the transaction, it cannot be viewed as a "correct" interpretation.

After all, in your example tx, what stops me from saying that each input is responsible for exactly 2 of the outputs, and contributed nothing to the other 8? Or, why not say that inputs 1, 3, and 5 are responsible for outputs 1, 3, 5, 6, 7, 9, and not for 2, 4, 8, and 10? Why distribute their contributions equally to each output?

> **Comments:**
> **username_0**: Thanks also for your input. Reading this and the Bitcoin wiki page on coinjoin it becomes clear. I guess the danger is some authority philosophically decides to treat the outputs in the way I described to err on the side of caution for not accepting _"bad"_ bitcoins.  

---

