Can arbitrary transactions be aggregated?

1

1

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).

UriCS

Posted 2017-06-08T17:48:50.413

Reputation: 113

Also a precursor to MW: OWAS.Pieter Wuille 2017-06-08T21:13:16.923

Here is the follow up

UriCS 2017-06-08T21:48:24.997

Answers

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

Murch

Posted 2017-06-08T17:48:50.413

Reputation: 41 609