Bitcoin: Transaction with Multiple Inputs – Example

  • There exists a fact about Bitcoin, which states that each received output can only be claimed by one input.
  • Some people might infer from that – that each transaction could only have one input.

But in reality, the second assumption does not follow from the first. If it did, then the inputs and outputs would perpetually have to become smaller, and in addition, it would be possible to prove that any Bitcoin-amount originated, literally, from one Bitcoin.

In reality, a transaction is possible which has multiple inputs, and two outputs. Each of its inputs has uniquely claimed a received output – without contradicting the first premise above.

(Edit 07/13/2017 : Therefore, none of those outputs can be used again. )

Now, one way I could try to prove this, would be to put together a transaction in my own wallet-program, which clearly displays the inputs-list, as well as the outputs-list, and then to take a screen-shot. But there would be two problems with that sort of ~proof~ :

  1. Somebody could think, that this is just a high-level, GUI operation, which my wallet-software is breaking down into smaller raw-data-operations.
  2. Showing such a screen-shot would also reveal (x+2) of my public keys, where (x) would be the number of inputs I have dialed up, just to take my screen-shot.

But, there is no real need for me to use my own transactions. I can just link to a transaction on ‘blockchain.info’, which belonged to ‘some other person’, who received 31 inputs in one transaction, yielded one main output, and yielded one change-address-output (for them). This transaction has one ‘Tx ID':

https://blockchain.info/tx/a6bffa6208c72412399997b0c504670662e259fd5ba50128d0e2823b739bd18b

Therefore, this is one transaction, at the raw, data-level. It just happens to be atypical.

Dirk