1

When I go to blockchain.info and explore transactions, I see a lot of individual transactions that seem to show bunches of addresses sending to bunches of other addresses.

https://blockchain.info/tx/221668ab11014c34da20296a1607ecc7967d1bdeecb884f1bf163e6b6c9f1d72

Does the Bitcoin network/protocol control that automatically, or is that done by the individual/agent initiating the transaction? e.g. Let's say I want to send 123 to one address. Is that going to be grouped into a big transaction involving many people and many recipients (including mine), or is it going to appear in the history as a transaction between strictly two addresses?

2

It is decided by the individual agent initiating the transaction.

The most basic transactions are typically one or two inputs to two outputs which is due to the way Bitcoin keeps track of balances. One output to pay, one output to give change to the sender.

Unspent Bitcoin are stored in chunks, often referred to as "UTXOs." I like to think of it as lumps of gold consisting of various weights: you could have a lump that is 10kg or a lump that is 0.001 grams. When you spend Bitcoin, you have to spend the entire UTXO, but you can save the extra balance by "spending it" as giving yourself change. Imagine if you had two lumps of gold, 2kg and 3kg, and you wanted to pay someone 4kg. You would have to melt the two together, and then split it to be 4kg to pay, and 1kg to save. At the end of the process there are now two new lumps of gold. Bitcoin works in a similar way, spending money requires you alter the money you already have.

It is possible to have a single input go to a single output, but the initiator would have to have a UTXO/lump that was the exact amount that they wanted to pay someone.

At the end of the day you shouldn't have to worry much about these details as a user, your wallet software will handle all the UTXO selection for you.

2

Transactions are not grouped or collected together in any fashion, unless the sender of every Bitcoin within that transaction agrees to that. CoinJoin is one way of grouping your transaction together with other people.

There is also a proposal called 'MimbleWimble,' which would make it possible to combine many transactions. This has not been implemented, though.

  • Mimblewimble transactions are not constant size. – Pieter Wuille Mar 31 '17 at 21:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.