Litepaper
Overview of MPC SDK
The MPC SDK provides tools for managing cryptographic keys securely using distributed key-sharing techniques. This ensures that no single device or entity holds the full key, enhancing security and eliminating single points of failure.
Key operations include Key Generation, Signing, Key Rotation, and Backup/Recovery, designed to support secure Blockchain interactions across various environments.
Core Concepts
Secret Key
Definition: The foundational key for Blockchain transactions, used for signing and verification.
Supported Types: ECDSA and EdDSA, widely used in Bitcoin, Ethereum, and other Blockchains.
Key Shards
Each secret key is divided into shards stored across multiple devices.
Purpose: Enhance security by ensuring no single device holds the complete key.
Shards include the public key and must be stored securely.
MPC Parties
Devices or nodes that participate in managing shards.
Examples: Mobile devices, cloud servers, hardware wallets.
Threshold Configuration
Defines the number of shards required for operations.
Example: A 3-4 threshold allows any 3 out of 4 shards to perform signing.
MPC SDK Functionalities
Organizes keys and shards for efficient management.
Features:
Supports multiple keys per group.
Flexible configurations for different applications (e.g., ECDSA vs. EdDSA keys).
Key Operations
Key Generation
The MPC SDK provides two flexible modes for generating cryptographic keys: Key Generation with Mnemonic and Key Generation without Mnemonic. Both modes leverage the distributed nature of MPC to ensure maximum security while supporting diverse user needs.
① Key Generation with Mnemonic
This mode integrates with mnemonic phrases, widely used in Blockchain ecosystems, to ensure compatibility with existing wallet recovery standards.
Mnemonic Creation:
A mnemonic phrase is generated by a trusted dealer (typically the user’s mobile device).
This phrase serves as the seed for deriving secret keys for various Blockchains (e.g., Bitcoin, Ethereum).
Key Derivation:
The secret keys are derived from the mnemonic.
The trusted dealer generates MPC key shards for each secret key.
Shard Distribution:
The key shards are securely distributed to all MPC parties (e.g., mobile, cloud, hardware wallet).
The mnemonic is also distributed to these parties.
Mnemonic Deletion:
After shard distribution, the trusted dealer deletes the mnemonic and the original secret keys for security.
Adding New Wallets:
If new wallets are needed in the future:
Reconstruct the mnemonic from the shards.
Derive a new secret key from the mnemonic.
Distribute the new key’s shards to MPC parties.
Delete the mnemonic and new secret key after distribution.
Ideal for users who prioritize compatibility with existing wallet systems and require secure recovery options.
② Key Generation without Mnemonic
This mode eliminates the need for mnemonic phrases, focusing on direct and highly secure key generation within the MPC system.
MPC Key Generation:
The user triggers the generation process (usually from their mobile).
All MPC parties collaboratively generate a new secret key.
The secret key is never revealed during this process; each party only holds a shard.
Shard Storage:
Each MPC party securely stores its shard of the secret key.
Master Key and Child Keys:
The generated secret key serves as a Master Key.
Child keys for different Blockchains are derived from this Master Key using a derivation path.
Only the child key’s public key is retained for wallet address generation; child key shards are not stored.
Ideal for users prioritizing maximum security and who do not require mnemonic-based recovery options.
Signing
Secure signing without revealing the secret key.
Threshold parties collaborate to sign transactions (e.g., Blockchain transfers).
Key Rotation
Periodically refreshes shards to enhance security.
Mitigates risks if a shard is compromised.
Key Resharing
Adjusts the number of parties or the threshold configuration.
Adds or removes devices from the MPC system as needed.
Backup and Recovery
Shards can be securely backed up on the cloud.
Allows restoration if a device is lost or compromised.
Key Import & Export
Import: Supports integration with external wallets using mnemonic phrases.
Export: Enables secure sharing of keys or mnemonic data when required
MPC SDK Advantages
Enhanced Security: Distributed shard storage ensures no single point of failure.
Flexibility: Compatible with various Blockchain ecosystems and use cases.
Reliability: Backup and recovery options protect against device loss or failure.
Scalability: Designed to manage multiple keys and configurations efficiently.
MPC SDK is a cutting-edge solution for secure cryptographic key management. Its unique shard-based architecture provides unparalleled protection for Blockchain assets while maintaining usability and flexibility.