Ever since Bitcoin was unveiled in 2008, it has been fraught with fierce and never-ending debate over its future scalability. Whereas the 1MB block size limit placed on the cryptocurrency has preserved the currency’s core philosophy of decentralisation as defined by Satoshi Nakamoto in his whitepaper, it created an ecosystem that is unattractive to new users because of high transaction fees.

In November 2017, the volume of transactions increased five-fold on the network, resulting in nearly $700 million being stuck in unconfirmed transactions. At the time, the 1MB limit limited the currency’s throughput to around 7 transactions per second—meaning some transactions had to wait for an arbitrary longer times before being processed.

However, over the past few months, Bitcoin fees and transaction times have dropped significantly. One method that is being used to lower transaction fees and times is Batching. In this article, we delve more in-depth to provide you with a big picture view of how batching transactions in a Bitcoin wallet can achieve lower transaction fees and times.

What is Batching?

Batching simply means placing as many transactions as possible into a fixed-size block on the Blockchain. To understand how Batching works in Bitcoin, it is essential to master how transactions are recorded in the network. Bitcoin uses a model known as UTXO (Unspent Transaction Output).

What this means is that as a user, you do not have any account balances. You will only control the UTXOs. Now suppose you want to transfer 2.5 BTC to Alice. Your wallet will select one or more UTXOs as inputs which in sum should be added to 2.5 BTC you are transferring to Alice.

Here, the desired bitcoins (called the output) then goes to Alice while the difference (called change output) is sent back to you. Each output in the transaction can carry an unlimited value of Bitcoins in the form of Satoshi. A satoshi is currently the lowest denominational unit of a Bitcoin where 1 satoshi is equivalent to 0.00000001 Bitcoin.

This process is akin to a physical wallet that has different denominations of bills. If you were paying $2.8 for coffee and you have a $10, then you will not hand the cashier half of your $10 bill—you give the cashier $10 and receive $7.2 as change.

The primary function of UTXO is to serve as a global database that displays all the spendable outputs which are available and can be used in the in the creation of new Bitcoin transactions. When a new transaction is created, it uses the unspent output from UTXO, which shrinks its entire set. Conversely, when new unspent output is generated, the UTXO set grows. This way, the Bitcoin network allows each transaction to have as many input or outputs as possible.

Benefits of Bitcoin Batching

Here are some of the benefits of batching:

It is an excellent way to aggregate thousands of transfers: If you are thinking of reducing the number of transactions, Batching is a great way because the network can aggregate thousands of single transfers. Previously, individuals and businesses would send each transaction using its own unique transaction ID (TXID) and pay fees for each one of them. This process was sluggish and costly for individuals that had frequent transfers.

It helps you minimise the maximum number of unspent in your wallet save future fees: When batch your transactions, you create a single change output for all of the payments in the transaction. This will lead to fewer unspent in the inputs.

It minimises space used in the processed blocks: Alleviating more space in the processed blocks using UTXO model has allowed many companies, wallet providers, and exchanges have started to bundle multiple transactions and trade faster and efficiently.

How to benefit from Batching

The first step towards benefiting from significantly lower transaction fees has a wallet system that supports batching. One such wallet provider that you can consider is COINiD.

Setting up COINiD is straightforward—simply download the COINiD Vault on a mobile device and start to use it for secure storage and efficient handling of transactions.