Up until now, developer's efforts to reduce bitcoin’s transaction fees have mostly focused on making its network less congested. An innovation in bitcoin’s coin selection algorithm may also help. (See also: Bitcoin's Lightning Network: Three Possible Problems).
In an interview with online publication Coindesk, developers from bitcoin’s core algorithm provided details on the “Branch and Bound” algorithm (or, BnB as it is popularly known) that is being used to streamline bitcoin’s coin selection for transaction.
Problems With Coin Selection
Bitcoin’s coin selection relates to the manner in which the cryptocurrency’s algorithm chooses coins from its unspent transaction output (UTXO) for future transactions. UTXO is the change left after a spending transaction. This change is typically stored in a user’s wallet and consists of multiple pieces of data, each with varying amounts of bitcoin. For example, a balance of 1 bitcoin in a wallet might consist of 0.3 bitcoin in one piece of data, 0.2 bitcoin in another etc. Together, these pieces of data make up the single bitcoin in a user’s wallet. (See also: Will Rising Transaction Fees Bring Down Bitcoin's Price?)
During a transaction to spend that single bitcoin, the algorithm chooses chunks of data and creates other UTXOs in the process. For example, it might choose to spend just 0.2 bitcoin from a piece of data that contains 0.3 bitcoin (and create an unspent transaction output of 0.1 bitcoin in the process) and add it to another 0.2 bitcoin from another piece of data etc. As can be imagined, the algorithm’s process is inefficient and time-consuming. Another important drawback of the process is that it creates “dust” or pieces of data whose value is smaller than transaction fees, making them essentially useless for transactions.
In a post on Medium last year, prominent bitcoin developer and entrepreneur Jimmy Song attempted to calculate the number of such coins. “If bitcoin UTXOs were like items in a vault, we would see about two-thirds of the vault filled with trinkets and the rest filled with much higher value items,” he wrote, adding that it was “economically irrational” to move those coins. “Continuing with the analogy, a transaction fee would be like the vault owner charging you to withdraw trinkets that belong to you.”
Changing Coin Selection Process
Developers of the BnB algorithm say that the new code attempts to find an exact match for the transaction amount instead of arbitrarily choosing amounts from each piece of data. “This helps shrink the UTXO set a little more,” said Andrew Chow, a bitcoin core developer. The algorithm also typically finds exact matches for smaller transactions. This practice helps reduce “dust” (or, worthless coins). It also reduces transaction fees for users and frees up additional space on the network by reducing the number of UTXOs on it. The Coindesk article states that BnB was able to reduce bitcoin change in approximately 40 percent of transactions that would otherwise have produced bigger numbers of UTXOs.
Investing in cryptocurrencies and other Initial Coin Offerings ("ICOs") is highly risky and speculative, and this article is not a recommendation by Investopedia or the writer to invest in cryptocurrencies or other ICOs. Since each individual's situation is unique, a qualified professional should always be consulted before making any financial decisions. Investopedia makes no representations or warranties as to the accuracy or timeliness of the information contained herein. As of the date this article was written, the author owns 0.01 bitcoin.