Computation (MPC) is expected to create an economic value of nearly one trillion US Dollars. It will happen because MPC acquires more and more trust in the market of data privacy and security. For example, with MPC, a bank determines joint account totals without revealing individual balances, digital crypto wallet boosts security by spreading private keys, etc.
Stick around this blog post and find out, when a multi-party computation was born, how it works for the crypto wallets now, and why it’s important for the dev businesses.
What’s the MPC meaning?Â
The first MPC concept was introduced by Andrew Yao in 1982. He published a document “Protocols for Secure Computations.” There, he has mentioned the two-party computation, providing security only against passive adversaries.Â
In the middle of 80s, MPC was just a theoretical concept, with limited practical applications. However, as the field progressed, researchers started exploring the potential applications of MPC in finance, healthcare, and data privacy.
The multi-party format first appeared in 1987 when Oded Goldreich, Silvio Micali, and Avi Wigderson released the Goldreich-Micali-Wigderson protocol. It provides a boolean-circuit representation for the function being computed and is designed to be secure against a semi-honest adversary controlling any number of corrupted parties.
One of the significant milestones in the history of MPC was the release of the Yao’s Garbled Circuits protocol in 1990. It allowed two parties to securely check a function without revealing their inputs to each other.Â
A key point in the transition of MPC from theory to practice is the 2004 Fairplay paper. This was the first full-fledged system that implemented generic secure function evaluation.
The long-awaited first practical application of MPC occurred in 2008 at scale in Denmark.
During the 2010s, MPC found a natural fit in blockchain wallet security. By distributing key shares among multiple parties, they provided enhanced protection against attacks.
What is the difference between MPC wallets and MultiSig wallets?
At first glance, they may appear similar to each other. They are both cryptographic solutions designed to secure cryptocurrency and other digital assets as well.
A MultiSig uses M-of-N keys per wallet, and MPC uses M-of-N parts of a key for a single signature wallet. However, the key distinction lies in their methodologies for managing cryptographic keys.
On the one hand, MPC wallets divide a private key into multiple shares, distributing them among different parties or devices. This ensures that no single entity possesses complete control over the security key.Â
On the other hand, MultiSig wallets require multiple private keys to authorize transactions. This is achieved by specifying a predetermined number of signatures needed for a transaction to be executed.Â
While both methods provide enhanced security, MPC’s unique approach offers additional layers of protection. It simply eliminates the need for a single party to hold the complete key. This difference underlines the advantage of a multi-party computation technology in the way on how to protect cryptocurrency in the wallet.Â
How does MPC work for crypto wallets?Â
The MPC’s secure way to store crypto consists of several steps.Â
First of all, MPC divides the private key into several parts, with each part being kept by different participants or devices.
Then, MPC wallets use a threshold signature scheme in which the KeyGen and Sign algorithms are distributed across multiple parties to create shares of the private key. A threshold must be met before a transaction can be authorized. The scheme refers to the number of key-shareholders who can sign on behalf of the entire group.Â
Following, when a user wants to perform a transaction, the parties holding the key shares must work together to create a public key and sign the transaction. Here, MPC ensures that no single party can access the user’s complete private key, providing increased security against attacks.
After that, the technology creates a security structure that is resilient against single points of failure and threats. Attackers would need to compromise multiple parties simultaneously to gain access to the wallet, minimizing the chances of a complete breach.
Finally, the result serves as the signature of the transaction.
It might appear that the MPC wallet structure is complicated and may present several issues for users in terms of UI experience. However, this is a misconception. Interacting with an MPC-based wallet is often quite similar to using a traditional wallet. The additional security measures are typically seamless and transparent.
How MPC secures assets in crypto wallet app?
There are three ways MPC provides the protection of the assets in the wallets.
- MPC wallets store keys in a distributed way. They spread the private key acrossÂ
servers providing the best way to secure your crypto. Even if there’ll be an unauthorized authentication attempt, the attacker would not have enough information to access the funds.
- They control the authorization process. Wallets can be configured to require severalÂ
signatures for transactions, which means that no single individual can authorize a transaction on their own.
- They are auditable. Wallets can be configured to generate audit trails of allÂ
transactions, which can be used to detect wallet hacks and investigate any suspicious activity. This can help to deter fraud and theft, and also to comply with regulatory requirements.
In general words, MPC assures crypto wallet security by distributing control and requiring collaboration for access.Â
Advantages of MPC in crypto wallets for business
MPC wallet offers a range of valuable features that overcome smart contract based, web, mobile and other wallet types.Â
- They can effortlessly scale, accommodating a high volume of users and transactions. It renders them particularly well-suited for businesses tasked with managing a substantial influx of cryptocurrency transactions.
2. Also, MPC wallet configurations are highly adaptable. This encompasses the freedom to determine the number of servers utilized, specify the requisite number of signatures for transactions, and select the type of audit trails generated. - Take into account that MPC wallets facilitate compliance with Know Your Customer, Anti-Money Laundering, the General Data Protection Regulation standard. By integrating MPC technology, businesses can navigate the regulatory landscape with greater confidence and efficiency.
- Additionally, they can sustain various blockchain protocols and support new crypto assets and chains. This flexibility allows users to access a wide range of digital assets while maintaining the security and privacy features.
With those features, MPC-based solutions are convenient for businesses seeking to optimize their cryptocurrency management practices.
Challenges of MPC for crypto wallets
Despite the crypto wallet security best practices, MPC solutions still represent some challenges that need to be addressed before they can be widely adopted.
One of them is complexity. The solution requires more computational resources than traditional wallets, and the management of key shares can be complex, requiring organizational policies and procedures.Â
The performance issues. MPC involves extensive communication among the parties participating in the protocol, which can lead to increased communication costs, to slower transaction times and higher transaction fees.
Cost of the production. It can be more expensive to implement and maintain than traditional hot wallet, as MPC requires additional infrastructure and resources to manage the distributed key generation and threshold signature scheme
A growing user adoption. This is still a new technology, and not so many users may be familiar with the concept of distributed key generation and threshold signatures. This lack of familiarity can make it challenging to convince users to trust them with their crypto coins.
But, as the technology continues to evolve and improve, MPC wallets are likely to become the most secure crypto wallets and more user-friendly than other hot and cold wallets.
What are the benefits of using Spatium MPC Protocol?
The Spatium MPC Protocol offers a range of benefits for businesses. To ensure security, it includes ECDH algorithm, homomorphic encryption scheme, EDDSA, and ECDSA extension.
With the MPC Protocol, a user’s wallet can be stored across multiple physical devices and servers, each containing independently generated shards. These shards replace the traditional Private Key used for transaction signing. The current model includes two main shards and guarantors as backups that protect digital assets against wallet hacks.
The first shard, End-users shard 1, is generated autonomously on the user’s mobile device during registration. The second shard, Business (Service) shard 2, is generated autonomously on the server either in the Spatium cloud or on-premise on the business infrastructure. These two shards are used to generate a single public key and are utilized during the MPC signature procedure.
The backup shards are held by guarantors, who receive shard 1 from the end-user and shard 2 from the business. These shards are securely encrypted. Guarantors cannot use the encrypted shards for any operations but are responsible for their integrity. They define and perform procedures where one encrypted shard may be passed to the opposite side. Guarantors can be legal parties or organizations that ensure the security of received information and establish rules for accessing it.
The presence of guarantors is crucial for businesses to provide maximum crypto wallet security to their customers. In the event of a business or user ceasing to exist, the assets on the blockchain can still be accessed. Spatium employs a multi-signature system based on cryptography. Technically, it requires 2 out of 2 parties, but actually, it requires 2 out of 3 parties. This ensures that even if one party becomes unavailable, access to funds can be restored. In the future, we plan to introduce more complex cryptography, allowing users to define their own threshold.
This joint control over the wallet and the ability to moderate user transactions also provides numerous benefits. Businesses can implement scoring, AML/KYC/KYB checks, and anti-fraud mechanisms to enhance security without directly storing assets. Users, on the other hand, have a non-custodial wallet with access to additional functionality typically found in centralized solutions. They can also restore full access to their crypto assets if the business becomes unavailable.
Overall, the Spatium MPC Protocol offers enhanced secure crypto wallet, flexibility, and control for both businesses and end-users, ensuring the safe storage and management of crypto assets.
How to create a safe crypto wallet?
In simpler terms, just use the Spatium Wallet SDK solution. This is an effortless process providing a non-custodial MPC crypto wallet creation. There’s no more need for excessive coding, testing, and implementation. businesses might focus directly on achieving their goals. Here is a breakdown of how it might look.
- Go to the @spatium/sdk and install it. This is the main package for Spatium SDK. It includes the protocol logic and essential cryptography.
- Download an auxiliary package from @spatium/signer-client. It consists of the specific components for working with the SDK and Spatium Signer Service.
- After that, find both packages in the private NPM registry of Spatium. To get access, request it directly from the Spatium team:
npm login --scope=@spatium --registry=https://files.spatium.net/repository/npm-public-sdk
npm notice Log in on https://files.spatium.net/repository/npm-public-sdk
Username: sdk-distribution-user
Password:Â
Email: (this IS public)Â
Logged in as sdk-distribution-user on https://files.spatium.net/repository/npm-public-sdk.
4. Now, you can proceed with the installation. Make sure that yarn is set up correctly by adding to .yarnrc “”@spatium:registry” , “https://files.spatium.net/repository/npm-public-sdk/””. Then run “yarn add @spatium/sdk @spatium/signer-client”.
5. The same procedure needs to be done with NPM. Firstly, add to .npmrc “”@spatium:registry” “https://files.spatium.net/repository/npm-public-sdk/””. Then run npm by “install @spatium/sdk @spatium/signer-client”.
6. As a result, a snippet appears. It verifies a connection by registering a new secret pair and synchronizing the public key.
import {
 uuid,
  randomBytes,
  generateDistributedSecret,
  syncDistributedEcdsaKey,
} from '@spatium/sdk';
import { SignerClient, ServiceStorage } from '@spatium/signer-client';
const test = async () => {
 const client = '783c8beb-5820-40a7-84f8-776acb67407c';
 const secretId = '205ad897-1def-47d3-8b4e-24a49f7deb3e';
 const token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwZXJtaXNzaW9ucyI6WyJyZWFkIiwid3JpdGUiXSwiaWF0IjoxNjgzOTY1NDI4fQ.-O3z_QIDTnbj2MhcDEcN9JN6et6YDIE-b3kh3fhMYrg';
 const storage = new ServiceStorage('https://cloud.spatium.net/storage/v1', token, client);
 const signer = new SignerClient('https://cloud.spatium.net/signer/v1', token, client, storage, 10 * 1000);
 try {
  await signer.connect(10 * 1000);
  await generateDistributedSecret(signer, secretId);
  const publicKey = await syncDistributedEcdsaKey(signer, secretId, uuid(randomBytes), 'secp256k1', 0, 0);
  console.log('Your public key is', publicKey);
 } finally {
  await signer.disconnect();
 }
};
Â
To achieve a scalable cloud web3 wallet, it is essential to align the Wallet SDK with the Wallet Cloud API. This integration allows the crypto wallet infrastructure to efficiently manage over 500 types of coins, NFTs, and tokens. Additionally, to create a user-friendly and visually appealing wallet interface, utilize the UI Kit. It’s compatible with Swift, Kotlin, and Typescript, and offers modular and reusable components. By implementing these solutions, you can ensure a seamless and comprehensive wallet experience.
Conclusion
In today’s world, where cryptocurrencies are becoming increasingly popular, it is essential to take steps to protect your crypto wallet. MPC wallets offer numerous advantages over traditional crypto wallets, such as increased security, reduced potential risk of loss, and ease of use. For developers and companies, MPC wallet’s the best secure crypto wallet and ideal solution for storing and managing digital assets.
If you are serious about protecting your business's digital assets, then an MPC wallet is the right solution for you.
F.A.Q.
Are there any technical limits on the types of computations that can be completed with secure MPC?
In principle, any computation is possible to perform under MPC. However, the computation’s cost may grow as the complexity of the computation and the amount of input data grow.
What is the difference between smart contract and MPC?
With smart contracts, parties all know all the input values, whereas in MPC parties only know their own input values. Because of this difference, MPC parties must execute a protocol, whereas with smart contracts parties can directly compute the program independently from the other parties.
How do secure MPC and Differential Privacy technologies compare to de-indentification/anonymization practices?
Unlike de-identification and anonymization protocols, MPC and DP technologies do not rely on hiding or suppressing sensitive information at the record level, while releasing other information. MPC and DP protect the entirety of the records and provide mathematical guarantees about what information can be gleaned. In general MPC ensures that no information is “leaked” about the individual records or data sets other than what was intended and pre-approved, whereas DP ensures that the information leaked cannot be used to ascertain whether an individual record was present or not in the data set.
How do I recover my MPC wallet?
Recovering a user’s MPC share is done by retrieving the encryption key from the user’s cloud storage provider. Then you’ll encrypt bitcoin wallet shares within your infrastructure.
‍