There are two things you need to understand to see why batched (cumulative as you called them) transactions are cheaper. The first is the UTXO model that Bitcoin uses. When you send someone Bitcoin, what you are doing is taking one or more Unspent Transaction Outputs (UTXOs), spending them (and thereby also destroying them), and creating new UTXOs that the receiver can spend.

Because UTXOs are spent completely, if you have chosen UTXOs that have more total value than the amount you want to send, you need to receive the extra amount back to yourself as change. So your transaction will also create a new UTXO that you can spend that contains the amount for the change. Most transactions will have a change output because it is unlikely that you have just the right number of UTXOs with the right amounts to exactly match the amount you want to send and cover the transaction fees.

The second thing you need to understand is how transaction fees are calculated. Transaction fees are based on the physical size of the transaction in bytes, not the amount being transacted. This size varies depending on how many UTXOs are being spent, and how many outputs are being created. Spending a single 100 BTC UTXO to one recipient and one change output will be cheaper than spending 10 0.1 BTC UTXOs to five recipients and one change.

With this background, let’s consider your scenario of paying 10 recipients. For the sake of simplicity, let’s say you have 1 UTXO that has enough value to pay all 10 people.

When you make 10 individual transactions, you are going to first make a transaction that spends your first UTXO, then creates an output for the recipient, and a change output back to yourself. In the next transaction, you spend your change output, make an output for the recipient, and another change output back to yourself. You do this until the 10 recipients are paid.

By making 10 individual transactions, you have created 10 transactions each spending one UTXO and creating one change output, for a total of 10 UTXOs, 10 change outputs, and 10 recipient outputs. You will have to pay transaction fees for all of these things.

Now consider the batched case. You spend one UTXO, and create 10 recipient outputs, and 1 change output. If you do it this way, you still have to pay the same fees for the 10 recipient outputs, but you only have to pay fees on the one UTXO and one change output. Because you are using less data to pay these 10 recipients, you pay less fees, and thus are able to save money.

Leave a Reply

Your email address will not be published. Required fields are marked *