top of page

How the MACS algorithm enhances UTxO-based blockchain coin selection

How continued research can help refine blockchain mechanisms like unspent transaction outputs (UTxOs) by innovating coin selections algorithms such has the multi-asset coin selection (MACS).

The Cardano Foundation prioritizes continuous innovation and exploration to unlock the full potential of blockchain technology. This includes actively supporting and contributing to leading research efforts in the field.

Managing your crypto spending can be a challenge. This is because of coin selection, a process where your wallet chooses which unspent transaction outputs (UTxOs) to use for a transaction. Every blockchain user keeps its tokens in the form of UTXOs inside the blocks of a blockchain. A wallet software manages the user’s UTXO pool that keeps track of the UTXOs on the blockchain. Different wallets have different coin selection algorithms, which can affect the speed, privacy, and fees associated with your transaction.

How continued research can help refine blockchain mechanisms like unspent transaction outputs (UTxOs) by innovating coin selections algorithms such has the multi-asset coin selection (MACS).

This problem is an example of how continuous research and innovation can help refine blockchain mechanisms in order to make them more efficient and useful for users. Continually optimizing the algorithms used in this process guarantees the long-lasting viability and effectiveness of the technology. Better coin selection algorithms are required to refine the way blockchain functions, especially in terms of user experience.

In November of 2023, research scientists Gholamreza Ramezan, Manvir Schneider, and Mel McCann presented a publication focusing on the benefits and enhanced capabilities of using the multi-asset coin selection (MACS) algorithm at the 2023 IEEE International Conference on Blockchain. This MACS research paper constitutes an advancement of blockchain technology.

Two Ways to Keep Track of Things on a Blockchain: UTxO vs. account-based blockchains 

Understanding ledgers is key to grasping the MACS algorithm's impact. Blockchains use two main types of ledgers. The first type are UTXO-based ledgers, like Bitcoin. In this system, the blockchain’s state is stored within these UTxOs. Blockchain transactions in this type of ledger involve consuming specific UTxOs and creating new ones. To calculate the user’s total tokens, the wallet software must calculate the balance by summing up all UTxOs linked to that user.

The second type are account-based ledgers, such as Ethereum. By using this type of ledger, each user has an account with a balance. In this system, transactions essentially increase or decrease the balance in a user’s account by transferring tokens to other users. Your wallet software simply shows your account balance, without the need for calculations.

While account-based ledgers seem easier, UTXO-based systems have some benefits. UTXO calculations are more predictable and allow for faster processing of multiple transactions at once.

In their paper, researchers provided a list of desired objectives for coin selection algorithms, such as minimizing transaction fees and transaction size, improving privacy, minimizing pool size, and reducing confirmation time. While only tested in simulations so far, the MACS algorithm has shown encouraging behavior. This paves the way for further research and potentially represents a significant step forward in developing improved coin selection algorithms.

The next crucial step is testing MACS with real-world data. This will allow researchers to fully optimize the algorithm and unlock its true potential. If successful, MACS could be integrated into various wallet implementations, streamlining the coin selection process for users.  Further testing and research will be essential to determine the full range of capabilities that MACS can offer to the world of blockchain transactions.

To read the full research paper for free, click below to download:

18 views0 comments


bottom of page