With Bitcoin’s backlog of transactions, scalability has been a hot topic. Some argue that SegWit and bigger blocks are not the solution, being that more users will still cause both to continue growing. But what’s come to light recently is that there are an overwhelming number of transactions on the blockchain that could easily be condensed, saving space and lowering fees for everyone. This is through a processed called “batching” transactions.
A Quick Look at Transaction Sizes
When dealing with Bitcoin, it doesn’t matter how many BTC are being sent. Instead, what matters is how many inputs and outputs it has (and to a smaller degree, how much other data there is, such as memos). For a general transaction, we assume that it will have one input and two outputs (the second of which is to the user’s change address, catching the parts that were left over). This comes in at a size of approximately 226 bytes. If we were to double the number of inputs and outputs, it would not double the size – it would be slightly less, at around 442 bytes (or a decrease of 2.2%). But what if we were to do a lot of outputs at once, with a smaller number of inputs? Let’s say we were able to condense 80 outputs and just a single input, through a smart routing system. Now, we’re at around 2,878 bytes (instead of 18,080), or about 16% of the normal size. But imagine doing this on a much larger scale. Not only does it reduce the sender’s costs on that transaction, but it lowers the entire network’s costs, therefore trickling back to the sender again on future transactions. And if that weren’t enough, it also means transactions are much faster for everyone!
Are Wallets Like Coinbase an Issue?
While Coinbase has complained many times about Bitcoin’s growing fees, they have been one of the businesses that make the problem worse. With tons of transactions being sent back and forth via their wallet system on the blockchain, each one is taking up more and more data. They do appear to be aware of the issue at this point and have stated that they are working on implementing a batch sending system and SegWit as they’re able to, which is great news, but it needs to happen sooner, rather than later.
Many services were already aware of this problem. If you have used a “faucet” system for free coins, you’ve likely already seen payouts with dozens of outputs – this is because the cost savings is monumental, and it just makes sense. In cases where people do not need the funds instantly, it truly is an amazing solution.
This does beg the question of whether or not it would be a nuisance for Coinbase to go down this path, and the fact is that they already often have delays on transfers for one reason or another. Some services need payments within a specific period (like 15 minutes), and the batch sends could either happen faster than this (once every 5-10 minutes would even be a great move, as anything is better than nothing) or there could be another option that costs to send instantly. Luckily, getting them on board has appeared to spark others to join the same movement, which will compound the benefits.
Adding in Lightning Network and SegWit
While this solution would help out immensely on its own, SegWit and LN would also add further benefits. SegWit further reduces the amount of data being pushed to blocks (letting more transactions in) and the LN reduces the number of on-chain transactions. While LN is still in testing and being analyzed, it’s safe to say that as of this moment, batch transactions are the least compromising option that would bring about significant advantages. For a site like Coinbase to take part, as they plan to do, will be a huge step towards reducing the backlog, making transactions faster and cheaper again.