Account Abstraction (AA) and Multi-Party Computation (MPC) have emerged as two key concepts that are revolutionizing the way developers approach blockchain-based game development. This article will explore these concepts, their benefits, and the potential challenges they present.
What is Account Abstraction (AA)?
Account Abstraction is a concept that aims to enhance the flexibility and usability of blockchain transactions. In traditional blockchain systems, transactions must be initiated by an Externally Owned Account (EOA), with the rules for validating these transactions hardcoded into the protocol. AA aims to change this by enabling transactions to be sent from Smart Accounts, which can program their own rules for validating transactions.
This opens up possibilities for features like gas sponsorship, transaction batching, and automated transactions.
- AA uses smart contract and follow some standard like the ERC-4337.
- AA is mostly concerned with onchain signature management.
- AA enables programmable authorization logic and allows someone else to pay gas fees.
- AA is a new way of thinking about the interfaces between accounts, smart contracts, and transaction execution.
What is Multi-Party Computation (MPC)?
Multi-Party Computation (MPC) is a cryptographic protocol that enables multiple parties to jointly compute a function over their inputs while keeping those inputs private. In the context of blockchain, MPC allows for the distribution of a private key across multiple devices, eliminating the single point of failure created by having one key on one device.
This enhances security by protecting users from phishing attacks and the risk of losing a seed phrase.
- MPC is blockchain-agnostic and non-upgradable.
- MPC is mostly concerned with offchain key management.
- MPC empowers developers with advanced key management mechanisms to manage keys by facilitating the division of keys into multiple shares, supporting distributed key generation, and enabling threshold signatures.
- MPC is a cryptographic technique that enables multiple parties to jointly compute a function without revealing their inputs to each other.
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.
Combining AA + MPC
While AA and MPC each have their unique strengths, combining them can unlock a level of user experience that's impossible to achieve with each technology alone. By integrating MPC and AA, developers can leverage the benefits of secure off-chain key management (MPC) and flexible on-chain transaction validation (AA).
If you have more questions/ideas/queries, join our Developer Discord and let us know there. Furthermore, you can follow us on Twitter for our updates as we keep shipping.