NULS Multi-Signature DApp Guide

What is multi-signature?

Multi-signature, also known as multisigi, which is a digital signature that allows multiple users to sign one transaction. To address in a simpler way, an account that is owned, managed, signed by more than one party.

In most cases, there is only one private key that manages a single account, which we call it 1/1. Multisig is different,it goes m/n, “n” refers to the amount of private keys that are authorized to sign for the account, transactions only take effect when the number of signatures reaches to “m”. In this case, “m” must be less than or equal to “n”.

How is multisig applied in cases

Multi-signature has many use cases in account authority management.For example:

  • Assets management

Multi-sigi greatly enhances security level by allowing multiple people managing one account using different private keys, which lowers the risks of assets being attacked.

  • Redundancy

By managing one account with multi-signatures, even if one of the signatories lost the private key, the rest of them can still get access to the account that is being protected by multi-sig.

  • Department Authorization

A matter that must be approved and signed by multiple departments before it takes effects. Every signature can be traced and it is transparent to all parties.

Assets that supported by NULS Multi-signature

Our multi-sig comes as a DApp, which is compatible to NULS and NerveNetwork blockchain The Multisig DApp can be used to manage NULS and Nerve mainnet asset , also including assets bridged from Ethereum/Polygon/Arbitrum/BSC/Heco/OEC/Cronos and other blockchains to NULS through NerveNridge(currently not supports NRC20 assets )

A quick starter on Multisig DApp

How to use Multi-sig DApp in NULS network

After successfully connecting to the wallet, click【Generate multi-chain address】to sign up, this will automatically generate a NULS address and a Nerve address and directly lead you to the operation page.

NULS Multi-sig DApp is empowered with the following functions

  • Create Multisig account address
  • Create Multi-sig transactions
  • Signning

1. Create Multi-sig account address

To start to use Multi-signature function, you need to create a Multi-sig account address first. The creator can be a third party other than one of the account owners.

  • Input public keys in the first box and separate them with dots, the system will automatically identify every public key.
  • Input private key one by one, click “+” to add more.

After submitting public keys, you will also need to choose a number of the minimal signatures. Minimal signatures set a minimal number of accounts used to confirm a multisig transaction. For example, if a multisig account is managed by 3 people, the minimal signatures number is 2, which is to say, confirmations from at least 2 people are required to enable a transaction. Otherwise the transation would fail.

After submitting information, click “Generate address” to create a multisig account address

2. Create Multisig Transactions

To create a multisig transaction, you need to choose a multisig address that starts the transactions. Click " Add a multi-signature address" if you don’t have one. The one who starts a multi-signature transaction can be a third party other than the account owners.

Select assets that you want to transfer - select amount of transfer and receiving address - create transaction.

After creating the transaction, a multisig HEX will be generated. Copy the HEX and send it to the other signers to sign.

3. Sign

This part allows users to sign over the HEX sent by the transaction starter.

After receiving the HEX, copy HEX in the box, multisig DApp will parse the transaction.

In the transaction details, you will be able to check the status of transaction based on the information of “signed quality” and “signature still required”.

If the current signer is the last signer that is authorized to sign the transaction (For example, if a transaction that requires two signers has already been signed once and it is being signed now, this makes the current signer the second/last signer). After all signatures are completed, the transaction will be broadcasted in the blockchain and will be confirmed in few minutes).