Is it possible to take multiple transactions in the form:

[A->X] , [B->Y] , [C->Z], where A,B,C,X,Y,Z are arbitrary, unrelated Bitcoin users/wallets

and aggregate them to a single transaction:

[inputs:(A,B,C) outputs: (X,Y,Z)]?

Why yes or why not? Is it possible for some types of transactions and not others?

It might appear as a weird question, but it is part of a research I am conducting, so please feel free to elaborate regarding the technical details (so I will know where to pursue the matter further).

  • Also a precursor to MW: OWAS. Commented Jun 8, 2017 at 21:13
  • Here is the follow up
    – UriCS
    Commented Jun 8, 2017 at 21:48

1 Answer 1


Yes and no.

This can be done for all types of Bitcoin transactions, but only collaboratively by the senders controlling A, B and C. There is even a protocol available to find partners which is called "CoinJoin". The idea is to increase privacy, although this is not necessarily achieved by CoinJoin, as it is often easy to calculate which inputs would correspond to what outputs.

Transaction aggregation cannot be done by third parties or only a subset of the participants, as a signature in Bitcoin needs to cover the complete transaction data. Therefore, to update a transaction with another input and more outputs, all the original signatories need to add their signature again as well.

If you're interested in the topic, you should look into the following keywords:

  • Transaction cut through
  • CoinJoin
  • Mimblewimble
  • "Schnorr Signature Aggregation"
  • RingCT or Ring confidential transactions on Monero

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.