Bitcoin - Research (Jun 2022)

UTXO Transactions

Bitcoin uses UTXO transactions, which store the unspent input and output balances of a transaction. Unlike account transactions, it is difficult to keep track of the balance of an user's account with UTXO. UTXO is also less storage-efficient than account transactions. Like Ethereum smart contracts, Bitcoin can save space and fees using batch transactions, and it can do this natively using UTXO without needing smart contracts.

Transactions are submitted with a fee to the Bitcoin network. They sit in the mempool until a miner packages them into a block. The higher the fee, the quicker miners will pick up the transactions. Users can also use Replace By Fee and Child Pays For Parent to increase the transaction fee of previously-submitted transactions.

For basic transactions, Coinbase's analysis and Hasu's analysis show that the savings for batching Bitcoin output UTXOs is at maximum 75% for fees and 40% for storage (160 vbytes vs 258 vbytes for batching 2 basic transactions of 3 UTXOs each). When Coinbase started batching transactions in March 2020, the whole Bitcoin network's transaction count dropped 20%. There are limits to savings because input and output addresses take up the majority of space in transaction. Input addresses in particular take up twice as much space as output addresses, so batching inputs is not particularly useful.

Each 4M-weight block can hold roughly 1500-2000 transactions on average.

Lack of Efficiency

Slow throughput

Bitcoin is a 3 TPS blockchain with a 30-60 minute probabilistic finality. It used to have a maximum of 7 TPS, but that has fallen over the years after it switched from 1MB blocks to 4M-weight blocks (and also because many miners purposely skip low-fee transactions). It's much too slow to be used for point-of-sales merchant transactions. In comparison, both Avalanche's X-Chain (another UTXO network) and Algorand can reach 6000 TPS with under 5-sec deterministic finality.

Bitcoin is one of the least efficient cryptocurrencies. In 2021, each block cost roughly $150-300K in costs to mine, which is equivalent to $100-150 of fees per transaction. The amount of energy needed for a single Bitcoin transaction in Sept 2021, ~1800 kWh, is roughly the same as the amount of energy used by a typical US household over 62 days. The total Bitcoin network energy consumption was ~150-200 TWh / yr in 2021-2022. For comparison, the US has 92 Nuclear power plants that produced 778 TWh in 2021 source, so the Bitcoin network uses the equivalent power of 18-24 US nuclear power plants. Another way of looking at this is that Bitcoin consumes about as much energy as all datacenters globally [Source].

Because of the slow transaction speed of Bitcoin, there's often a traffic jam of transactions waiting to be picked for the next block. Transactions sent to the network via gossip protocol sit in the mempool, and there were several times where the backlog ended up being greater than 100k transactions (8 hours) in 2021 and 2022. Many transactions were untouched for days until they timed out. This happens multiple times every year.

/r/MPlankton Thread Parent