# Crosspoly Assets Mapping

\
1\. Multi-signature
-------------------

The multi-signature wallet address is initialized and generated by numerous private keys, allowing the use of different private keys to jointly generate a valid signature to unlock the wallet's assets.(k≤n, n is the number of all the private keys, k is the number of the use of different private keys ) .

### Advantages

a. Overcome the single point of failure and risk of a single private key. Loss or theft of the private key will cause irreparable asset loss.

b. Improve the wallet management function. Common 2-3 multi-signatures are used by asset management companies and customers to coordinate wallet management (the customer has 2 of the 3 private keys, and one of them is used as an offline private key for backup; the asset management company needs to be authorized by the customer, that is, use the customer's private key to jointly sign in order to access the wallet assets).

### Disadvantages

a. Once the multi-signature is initialized, the legal private key and corresponding public key of the multi-signature are determined. The account structure cannot be adjusted. When a participant withdraws or a new participant joins, the account structure needs to be adjusted.

b. Each signature of the multi-signature is performed on the chain, so the time and the fee consumed are the corresponding multiples of the single signature.



## 2. Key Sharing

Divide the complete key into some shares and hold them by corresponding participants. When signing, gather key fragments according to the threshold strategy, and use key fragments to restore the original key. Then use the restored key to sign.

### Disadvantages

Key sharing requires the use of key fragments to recover the main key when signing, which will bring security risks.

## 3. Secure multi-party computing

Interpretation: A secure calculation completed by multiple participants. In this secure calculation process, all participants can provide their own private input and obtain the calculation result from the calculation, but cannot obtain any information privately entered by other participants.



## 4. Threshold Signature

Interpretation: The private key holders independently generate signature fragments of their respective shares. As long as the signature fragments not less than the threshold are aggregated, a valid signature can be generated.

### Advantages

a. Existing private key sequence can be expanded to support the distribution of private keys to new participants. This expansion operation will not expose existing and newly generated private keys, nor will it change public keys and account addresses.

b. There is a certain algebraic structure between the sub-signatures, and finally a main signature can be synthesized, and the main signature can be verified on the chain. Each sub-signature is completed under the chain. Therefore, there is no difference between the signature information generated by the threshold signature and a single signature, with no additional fee.

c. There is no need to generate new smart contracts on the chain to provide additional signature algorithm support.

### &#xD;Threshold Signature Process

1. Initialization: First, generate a copy of RSA public and private key, k participants agree on the threshold t. Using this RSA private key, k participants generate their own private key x.
2. Generate signature fragments: Participants use their private keys x to generate signature fragments sig\_x for data m
3. Aggregation to generate signature: more than or equal to t signature fragments sig\_x and aggregate to generate a valid signature sig
4. Verify the signature: use the public key PK to verify the signature sig of the data m



## 5. Asset Mapping

#### Users lock BTC to Crosspoly, and Crosspoly maps their assets:

1\. Send a BTC chain lock request to the system.

2\. The system triggers the smart contract, generates private keys in a distributed manner across multiple nodes, and generates the corresponding BTC wallet address.

3\. The user transfers BTC to the BTC address and informs the system.

4\. The system queries whether the transaction is successful or not, once successful, the system updates the user's account in the system.

#### &#xD;The user withdraws BTC, and Crosspoly deletes the corresponding asset mapping process:

1\. Send a BTC chain unlock request to the system.

2\. The system triggers to unlock the smart contract: check the user's account in the system and lock the mapped asset.

3\. The system uses the threshold signature to initiate a transfer, and the destination address is the user's withdrawal address.

4\. The nodes in the system collect signatures which are larger than the threshold, and the transaction will be submitted to the BTC network.

5\. The system smart contract updates the user account and releases the assets mapped in the system.
