How to use Nano Multisig

The multisig in action at Keytools

Multisig with Keytools — Create an account

One Nano multisig implementation can be found at Nano Keytools. To create a multisig account you can follow these steps (Or watch the Demo Video):

  1. Visit https://tools.nanos.cc/?tool=multisig
  2. If you already have a block hash and private keys for multi-sign, skip to “Multisig with Keytools — Signing Locally / Remotely”.
  3. To get a new multisig account, enter two or more Nano accounts. Doesn’t matter if they have been used or not but you will need one private key each for them. To create new key/account pairs you can use the Key Converter. Store the keys in a safe place. The multisig account can now be funded and tested.
Example of key / account pair
Example of a combined multisig account

Multisig with Keytools — Create a new block

1. To test the multisig account you can create a block yourself and publish it. One way is by using the Block Processor tool.

Example of creating an open block using the block processor tool

Multisig with Keytools — Signing Locally

If you own the private keys yourself and just want to use one computer.

  1. Open as many tabs as you have private keys for the multisig. Then check the “Multi-Tab Mode” box, enter number of participants (tabs including current tab), hash and private keys. The participant count, hash and tab-mode will sync automatically between the tabs. Press “Start Signing”.
Setting up automatic multi-tab signing
Automatic multi-tab signing — Result

Multisig with Keytools — Signing Remotely

If you are several participants using different computers.

Initiating the signing procedure
Participant 1: Copy output TO participant 2 -> Paste the input FROM participant 2
Participant 2: Copy output TO participant 1 -> Paste the input FROM participant 1
Double checking the multisig account
Final block signature

Multisig with Keytools — Publish a Block

  1. If you have a signature, go back to the block processor tab. If you didn’t save the tab, just redo the block creating step. The block hash will always be the same. Now paste the signature, create a proof of work with the “hammer button” and publish the block!
Final signature and PoW
Block processed
Published block — Confirmed

Multisig with Nault Wallet

Now available!
https://docs.nault.cc/2021/04/20/multisig.html

A concept for Automated Multisig

As you may have seen multisig is not super user-friendly because it involves a lot of data to be shared back and forth between the participants. One idea would be to use the Nano network to pass the data automatically.

  1. All participants enter the block hash they want to multi-sign and their private key. Also, the participating accounts because each sender must have the recipients available from the start. For simplicity, in this case, we use two participants. Only the initiating participant (1) will need to have funds in the account because it can fund the other ones if more than 2 participants in total.
  2. Participant 1 would start by sending a raw amount corresponding to a unique identifier that will only be valid for this particular session. The rep field is set to the block hash that we want to multi-sign.
  3. Participant 2 listens on its account and acknowledge back if the block hash matches with what’s set. Sending back the same raw amount (unique ID).
  4. Participant 1 read the acknowledgement and checks if the raw amount matches. That’s enough information to start the signing. Sending data 1 in the rep field and unique identifier to all participants. Each participant responds back.
  5. After all 3 steps, the signature can be produced!
  • Each participant must know the participating accounts. Not a big issue
  • The accounts must have funds in them to work. Can be solved by participant 1 share funds with the other.
  • A lot of transactions are needed for this process.
    2 participants: 8 tx
    3 participants: 20 tx
    4 participants: 38 tx

Donation

Found this helpful? Consider a small Nano donation or sponsor me on Github😉

nano_1gur37mt5cawjg5844bmpg8upo4hbgnbbuwcerdobqoeny4ewoqshowfakfo

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store