<blockquote>
<p>How does Bitcoin transaction batching work exactly?</p>
</blockquote>
<p>Instead of paying multiple people using a new transaction for each person, you make one transaction that pays those multiple people.</p>
<p>For example, suppose you need to pay 3 people. Instead of making 3 different transactions with one output each, you make one transaction with 3 outputs to the 3 people you are paying.</p>
<blockquote>
<p>How does this end up looking compared to a regular block of a bunch of transactions?</p>
</blockquote>
<p>It is cheaper partially because each transaction has a fixed amount of overhead. By batching transactions, you only have to pay for the overhead once, not multiple times. Furthermore, usually each transaction will have a change output, and many times that change output must be spent again in the next transaction. This means that if you are sending to 3 people, you are creating 3 change outputs, and 2 inputs that have to spend from a change output. By batching, you only need to make one change output and you don't need to have those 2 additional inputs that spend the change. Those effectively cancel out and are thus removed from the transaction.</p>
<p>In a normal case with paying 3 people:</p>
<pre><code>Input 1 -&gt; Person 1
        -&gt; Change 1 -&gt; Spend Change 1 -&gt; Person 2
                                      -&gt; Change 2 -&gt; Spend Change 2 -&gt; Person 3
                                                                    -&gt; Change 3
</code></pre>
<p>By batching:</p>
<pre><code>Input 1 -&gt; Person 1
        -&gt; Person 2
        -&gt; Person 3
        -&gt; Change 3
</code></pre>
<p>So you have cut out Change 1 and 2, and Spend Change 1 and 2 which means you are paying less transaction fees.</p>
<blockquote>
<p>Also, I have read people claim batching causes weaker privacy, how is this exactly?</p>
</blockquote>
<p>All of the people being paid in a batched transaction can see who else you are paying and how much. However it is hard for observers to also know the true identities of those people.</p>

CC BY-SA 4.0
2018-01-20T23:35:15.880Z
2021-02-09T02:50:55.043Z
2021-02-09T02:50:55.043Z
Ava Chow
<p>How does Bitcoin transaction batching work exactly?  How does this end up looking compared to a regular block of a bunch of transactions?  Also, I have read people claim batching causes weaker privacy, how is this exactly?</p>

<bitcoin-core><transactions><transaction-fees><payment-batching>
What is payment batching?
patrick
# What is payment batching?

(Asked by: username_0 on 2018-01-20)

How does Bitcoin transaction batching work exactly? How does this end up looking compared to a regular block of a bunch of transactions? Also, I have read people claim batching causes weaker privacy, how is this exactly?

**Tags:** bitcoin-core, transactions, transaction-fees, payment-batching


---

## 1 answers

### Answer by username_1 on 2018-01-20. Score: 7 | Accepted answer

> How does Bitcoin transaction batching work exactly?

Instead of paying multiple people using a new transaction for each person, you make one transaction that pays those multiple people.

For example, suppose you need to pay 3 people. Instead of making 3 different transactions with one output each, you make one transaction with 3 outputs to the 3 people you are paying.

> How does this end up looking compared to a regular block of a bunch of transactions?

It is cheaper partially because each transaction has a fixed amount of overhead. By batching transactions, you only have to pay for the overhead once, not multiple times. Furthermore, usually each transaction will have a change output, and many times that change output must be spent again in the next transaction. This means that if you are sending to 3 people, you are creating 3 change outputs, and 2 inputs that have to spend from a change output. By batching, you only need to make one change output and you don't need to have those 2 additional inputs that spend the change. Those effectively cancel out and are thus removed from the transaction.

In a normal case with paying 3 people:

```
Input 1 -> Person 1
        -> Change 1 -> Spend Change 1 -> Person 2
                                      -> Change 2 -> Spend Change 2 -> Person 3
                                                                    -> Change 3

```

By batching:

```
Input 1 -> Person 1
        -> Person 2
        -> Person 3
        -> Change 3

```

So you have cut out Change 1 and 2, and Spend Change 1 and 2 which means you are paying less transaction fees.

> Also, I have read people claim batching causes weaker privacy, how is this exactly?

All of the people being paid in a batched transaction can see who else you are paying and how much. However it is hard for observers to also know the true identities of those people.


---

