MPC vs AA: The Battle for Web3 UX Dominance

MPC vs AA: The Battle for Web3 UX Dominance

Web3 technology has been making strides in recent years, with the potential to revolutionize how we interact with the internet. One of the key areas of focus has been on improving user experience (UX) by overcoming some of the limitations of traditional web2 technology.

Among the various solutions that have been proposed to enhance web3 UX, two have gained significant attention: MPC and AA.

UNDERSTANDING AA & MPC

  • MPC (Multi-Party Computation):

    This is a cryptographic technique that enables multiple parties to jointly compute a function without revealing their private inputs. This makes it a powerful tool for secure and confidential data sharing, which is especially important in the context of decentralized applications.

  • AA (Account Abstraction):

    Account abstraction aims to allow Contract Accounts (CA) to create their own rules for verifying transactions, making it possible to offer gas sponsorships, automate transactions, and process transactions in batches.

    This makes it possible to use different account models, such as UTXO (Unspent Transaction Output) or account-based, in the identical blockchain. This, in turn, could lead to greater flexibility, interoperability, and scalability in decentralized systems

Both MPC and AA have their advantages and limitations, and their suitability for different use cases may vary. However, they have emerged as two of the most promising solutions for enhancing web3 UX. As a result, there have been countless discussions and arguments about which is better, with proponents on both sides advocating for their preferred solution.

WHY AA IS SYNERGETIC WITH MPC?

To fully grasp the synergy between MPC and AA, it's important to understand the lifecycle of a transaction. The process of a transaction begins off-chain, with a user initiating a transaction on their device or browser. This transaction is then sent to a node, which verifies the transaction and broadcasts it to the network. This is where the AA comes in, as it allows Contract Accounts to execute the transaction, applying their own rules for validating transactions.

Once the transaction has been broadcasted to the network, it is in a "mempool" where it awaits confirmation by a miner. During this period, MPC can play a significant role in ensuring the privacy and security of the transaction. For instance, MPC can be used to break up a private key into multiple parts, which are then distributed among multiple parties. This way, even if one of the parties is compromised, the entire key cannot be reconstructed, making the transaction more secure.

Once the transaction is confirmed by a miner, it is included in a block and added to the blockchain. This is where the AA again comes into play, as it allows Contract Accounts to interact with the blockchain more flexibly and efficiently. For example, AA enables the automation of transactions, allowing for faster and more efficient processing. It also allows for gas sponsorship, where a third party can pay for the transaction fees on behalf of the user, reducing the cost of using the blockchain.

By combining MPC and AA, we have a complete solution for web3 UX that covers both parts of the transaction process. MPC ensures the privacy and security of the transaction during the off-chain phase, while AA provides flexibility and efficiency during the on-chain phase. This powerful combination enables developers to create decentralized applications that are both secure and user-friendly.

MPC + AA, Frens with benefits

The Application of AA and MPC in Environments Beyond Ethereum

The way that AA functions are confined to the application layer of Ethereum, meaning it's inherently limited to the Ethereum blockchain and the EVM ecosystem. Consequently, AA cannot be applied to Bitcoin, which is the most prominent blockchain platform.

On the other hand, MPC is blockchain-agnostic, as it operates in the mathematical layer. This makes it possible to apply MPC to a variety of different blockchain networks, allowing it to serve as the foundational technology for a genuine multi-chain wallet solution.

The Application of AA and MPC in Environments Within Ethereum

In terms of theoretical perspective, the focus of AA is primarily on account management, whereas MPC is more concerned with key management. Although AA and MPC serve distinct functions, there is some overlap between the two technologies, which has led to the misconception that they are competing against each other.

AA and MPC are different tools used for different purposes, but because they share certain features, it has been suggested that one technology may be more effective than the other. However, it's important to recognize that these technologies are complementary and can be used together to enhance the security and functionality of blockchain applications.

Distinct Domains: Key Management and Transaction Fees

Even with the use of AA, key management remains a crucial concern. This is because users must sign userOperations with their private key, which needs to be adequately protected. While AA's smart contracts may provide some solutions to reduce the risk of key theft, it's still advisable to ensure that private keys are stored securely, such as through the use of a secure key management system like MPC, or a dedicated hardware system (although a single-factor hardware device still has the vulnerability of a single point of failure).

In contrast, ERC-4337 introduces a feature that allows other parties, known as Paymasters, to pay for the user's transaction fees. This particular mechanism is not directly available with MPC.

Common Ground: Overlapping Functions of AA and MPC

Advanced account management policies can be enforced either at the smart contract layer on-chain or through regular code within a non-user MPC entity (such as ZenGo's server). Some examples of these advanced features include vault accounts with daily limits set by the user or multi-user shared accounts.

The decision of whether to implement these policies using AA's smart contracts or with a trusted MPC entity is not a simple one, as each solution has its advantages and disadvantages.

Implementing policies at the smart-contract level is decentralized and public, which can be both beneficial and problematic. While smart contracts can provide a decentralized and publicly auditable solution, data sent to them is not private, and as the logic becomes more complex, it can stretch the capabilities of smart contracts and increase gas costs.

Enforcing policies with an MPC party, on the other hand, is private, and therefore the code is not publicly auditable. However, this approach preserves the user's information privacy and can accommodate more complex logic without impacting the cost.

Let's say we have a special kind of safe called a "vault" that only opens when you're in a certain place. For example, you want to allow yourself to spend $10,000 a day when you're in the United States, but only $1,000 a day when you're in any other country.

Now, we have two ways to make this work: we can use smart contracts or MPC. Smart contracts are like rules written in a computer language that runs on the blockchain, which is a big public database. We could use smart contracts to enforce the limits on the vault, but it would be difficult to make it work for different countries and leak information about your location.

On the other hand, we could use MPC to write regular code that runs on a private server. This would be easier to implement and keep your information private, but it would require trusting the MPC provider. Additionally, if you want these limits to apply to other cryptocurrencies like Bitcoin, you'll need to use MPC.

CONCLUSION

As shown in the process above, using MPC ensures that key management is both simple and secure. However, it does not fundamentally change how transactions are validated. This means that we cannot leverage programmable transaction rules, such as having someone else pay the gas fees.

On the other hand, AA provides a highly flexible system for validating transactions, allowing for a variety of custom rules. However, it does not address the issue of key management, leaving the user responsible for securely storing and backing up their keys.

By combining MPC and AA, you can achieve both easy and secure off-chain key management and flexible on-chain transaction validation. A detailed breakdown of the benefits of combining these technologies can be found in the following table:

MPCAAMPC + AA
Superior chain agnostic key protectionTrueFalseTrue
ETH account can replace the private keyFalseTrueTrue
Chain Agnostic Private spending policiesTrueFalseTrue
Ethereum on-chain public spending policiesFalseTrueTrue
Chain Agnostic SupportTrueFalseTrue
Third-party fees on EthereumFalseTrueTrue

Ready to take the next step towards securing your crypto assets? Discover how you can benefit from the combination of MPC and AA technologies by getting started here.