Account Abstraction (AA) and Multi-Party Computation (MPC) are two technologies fundamentally changing how developers build digital wallets. This article explains how they work together to provide a more secure and user-friendly experience.
What is Account Abstraction (AA)?
Account Abstraction is a way to make digital wallets programmable. In traditional systems, wallets are simple "containers" for keys (EOAs). AA turns wallets into "Smart Accounts" that can follow custom rules for security and usability.
- Onchain management: AA handles permissions directly on the blockchain using smart contracts (like ERC-4337).
- Programmable logic: It enables features like gas sponsorship, where a third party pays the transaction fee, and transaction batching.
- Improved UX: Users no longer need to manage complex signing processes for every single action.
What is Multi-Party Computation (MPC)?
Multi-Party Computation (MPC) is a security technology that splits a private key into multiple "shares" distributed across different devices. This ensures that no single device ever holds the full key, removing the risk of a single point of failure.
- Traditional security: MPC handles the key management before a transaction ever hits the blockchain.
- No seed phrases: It allows users to recover accounts through social or cloud-based methods without needing a 12-word seed phrase.
- Blockchain agnostic: Because the keys are managed offchain, MPC works across any blockchain network.
| MPC | AA | AA + MPC | |
|---|---|---|---|
| Pros | (1) Off-chain cryptography. (2) No cost to end users because MPC is off-chain. (3) Neutral to every chain. | (1) On-chain (2) Ability to do atomic transactions (combine multiple actions into one transaction). (3) Ability to do gasless transactions via pre-funding. | (1) Combines the benefits of off-chain cryptography and on-chain transactions. (2) Enables atomic transactions and gasless transactions- Neutral to every chain and cost-effective for end users |
| Cons | (1) Harder to do atomic building of transactions. (2) Harder to pre-fund transactions programmatically on-chain, but you can always do this via meta transactions. | (1) On-chain costs can get expensive because of cost to deploy and to upgrade across every user & chain. (2) AA implementations are different on a per chain per VM basis. This will hopefully change as things are standardized. (3) Logic upgrade process with AA becomes a smart contract upgrade process. | (1) Requires careful implementation to balance the complexities of both MPC and AA. |
That being said, there are different type of solution in the market today:
- Threshold Secret Sharing (TSS):
This is a cryptographic method where a secret (like a private key) is divided into multiple shares. A predefined number of these shares, called the threshold, is needed to reconstruct the original secret. With fewer shares than the threshold, the secret remains hidden.
TSS enhances security because even if some of the shares are compromised, the secret remains safe unless the threshold number of shares is attained.
- Shamir's Secret Sharing (SSS):
Proposed by Adi Shamir, SSS is a specific type of TSS where a polynomial function is used to divide a secret into multiple shares.
The secret itself is the constant term of the polynomial, and the other coefficients are chosen randomly. Points on the polynomial serve as shares, and the secret can be reconstructed using a minimum number of these points (equal to the polynomial degree plus one).
- Distributed Key Generation (DKG):
DKG is a protocol where multiple participants collaboratively generate a public-private key pair without any single participant knowing the private key.
It is a way to ensure that a private key is never seen in its entirety by any party. Instead, each participant only has a share of the private key, and joint operations (like signing) can be performed without reconstructing the entire private key.
Why Combine AA and MPC?
While each technology is powerful on its own, combining them creates the ultimate user experience. MPC handles the "who" (securely identifying the user), while AA handles the "how" (executing the transaction with custom rules like gasless play). Together, they make onchain feel as seamless as traditional apps.
