mSIGNA™ is a Bitcoin wallet. It is hailed as the next generation multisignature Bitcoin wallet that can be found at its official website https://ciphrex.com/
The mSIGNA™ Bitcoin wallet claims to be the most powerful secure cryptocoin storage solution available.
mSIGNA™ is considered as a powerful account management and secure storage tool for cryptocurrencies that are based on the Blockchain such as the Bitcoin and Litecoin.
Its main features are
- Decentralized offline key generation
- Offline signing
- Watch only shared wallets
- Fast multidevice synchronization
- Full support for BIP32 (hierarchical deterministic wallets)
- General m-of-n multisignature transactions
One of the first things that a mSIGNA™ Bitcoin wallet user notices is the speed of the wallet.
The mSIGNA™ Bitcoin wallet supports the best security practices in the Bitcoin world and it has the reputation of being one of the most secure wallets as rated by bitcoin.org.
mSIGNA™ Bitcoin wallet is not just an advanced tool but also easy to use with a simple and user friendly interface.
It is not only very fast but it it has an inherent scalability which makes it the solution of choice as an enterprise level solutions implementation.
The mSigna wallet is designed to be free and open source.
mSIGNA™ Bitcoin wallet not only gives the user full control over his own Bitcoins but it also enables easy synchronization of accounts across many different devices. It enables the user to set up joint accounts with other users across the organization.
It facilitates doing escrow and also enables the user multifactor authentication. The mSIGNA™ Bitcoin wallet is supported and available for a number of operating systems ranging from
- The Microsoft Windows operating system
- mSIGNA™ Bitcoin wallet that can run on a Mac
- mSIGNA™ Bitcoin wallet that can run on Linux machines.
mSIGNA™ is based on the concept of Vaults, Keychains and Accounts. To use and understand mSIGNA™ one must understand what these terms mean to a user of mSIGNA™
- These are files with extension .vault
- A vault contains accounts, keychains and transactions history.
- A vault can be opened directly in mSIGNA™ and it constitutes the basic document type that mSIGNA™ can create and edit.
A keychain is typically a collection of private and / or public keys generated deterministically from a master seed using BIP32. These are identified as files with extensions .priv and .pub. Every keychain can be given an arbitrary name and has a hash that is uniquely determined by the master seed and it remains fixed.
Keychains can be imported to and exported from mSIGNA™.
Accounts are logically group collections of deposit addresses generated deterministically from a set of keychains and an m-of-n policy.
The Account balance.
The Account balance consists of all the transaction outputs spendable using the keychains. The spends must be in accordance to the m-of-n policy. Each distinct account would contain a separate set of addresses that are part of that account.
The process of Address generation is performed using the keychain sequences/ trees in parallel. The Public keys are sorted lexicographically in the redeemscript. Accounts also have a starting timestamp this indicates how far back in the Blockchain one should look while looking up and scanning for transactions. It also supports shared or watch only accounts. These accounts do not have Private keys thus they can only be used to monitor transactions and not to spend.
Always make backup of keys and accounts. If a user loses his keys then the Bitcoins cannot be recovered.
Another useful tip is to make only small test deposit to your address. This way the deposit address can be tested.
A step by step guide for installing and running the mSIGNA™ Bitcoin wallet
Visit the official website of the mSIGNA™ Bitcoin wallet https://ciphrex.com/
Make sure that the connection established by your browser is a secure connection using https in your web address field of your browser and not a non secure http connection. Locate the download link of the mSIGNA™ Bitcoin wallet software that is compatible with the operating system running on your machine.
If you are going to install the mSIGNA™ Bitcoin wallet on a machine running Microsoft Windows then download the windows version of the wallet software
The mSIGNA™ Bitcoin wallet requires a 64 bit version of Microsoft windows running on your machine. Clicking the Windows 64- bit would bring up the download menu.
Click the “Save File” button and save the file at a suitable location. Run this setup file and it brings up the Open File Security Warning
Click the Run button.
The next window is the User Access Control Window click the Yes button on this window.
This brings up the mSigna setup Wizard window which looks as follows
Click the “Next” button
This brings up the License Agreement screen
Click the “I accept the agreement” radio button. Then click the “Next” button. Then the “Select Destination folder window” comes up Accept the default folder location and click the “next” button
The next screen that comes up is the “Select Start Menu Folder” mSIGNA window.
Accept the default entry and click the “Next” button. The next screen that comes up is the Select additional tasks window You have the option to apply the check mark in the box next to the text “Create a desktop icon”
Apply the check mark so that you can access the wallet interface from your desktop using a shortcut.
Click the “Next” button. The next mSIGNA screen that comes up is the Ready to Install window
Click the “Install” button. Once the installation is complete the following screen comes up
Click the “Finish” button.
This brings up the EULA or the end user mSIGNA license window which looks as follows
Accept the EULA or the end user license by clicking on the Yes button. This loads the following mSIGNA™ Bitcoin wallet interface.
Creating a “New Vault” Click on the New Vault button. A new vault window pops up and prompts for a vault name. Give a name to the vault and click save button You can also create a new vault from the File>New Vault
For this guide the new vault has been named as abc1. Make sure to use the file extension “.vault” while saving the vault file.
Next create an account. There are two ways to create an account one is manually and the other is using the “Account Wizard”. We would be creating a new account using the “Account Wizard”. Click the “Account Wizard” button as shown in the image below.
The next screen looks as follows
Enter a name next to the “Account Name” field.
To keep it simple we can keep the policy as 1 of 1. Then click the “OK” button. If you want to create a multisignature account then create a policy by selecting a number from the drop down menu. This number is the minimum number of signatures required to sign transactions from the account. On the right select the total number of keychains to use for the account. An account will
automatically be created for you along with a new set of keychains.
If you want to manually create an account then from the Keychains menu > select “New Keychain” or alternately, click on the toolbar button.
You will be prompted to name the keychain. Pick whatever name you want. Repeat step 2 to create multiple keychains if desired. Right click> on any keychain in the Keychains tab and> select
“Export Private Keychain…” to make backups of the keychain. Select “Export Public Keychain…” to export a file you can share with other people or devices that you wish to make part of the account. Using the same menu, select “Import keychain…” to import public or private keychains from file.
When you click OK button on the above shown screen then you would get the following screen.
You must note down the phrase and keep it securely. Then click the “Next” button.
The next screen prompts you to enter the phrase that you have noted down and kept securely.
After entering the words in the correct order click the “Next” button.
The next screen offers an important piece of advice.
That is to keep these words in a safe place. Click the “Finish” button. This takes you back to the wallet interface.
Now the send and receive buttons become active.
Connecting to a network
The default setting for mSIGNA™ is that it would attempt to connect to a Bitcoin node running on localhost (i.e. a local running instance of Bitcoin‐Qt). If you have Bitcoin‐Qt running on your computer, leave this setting alone. If you would prefer to connect to a remote Bitcoin node, you can change the IP address and port under Network‐>Settings…(File‐>Preferences … on Mac).
mSIGNA™ only connects via the peer‐to‐peer protocol and does not require any special RPC access to other nodes.
Blockchain synchronization information. Looking at the wallet interface as shown below
You would find that there are two numbers followed by an icon at the bottom right of the main window. The two numbers tell you the synchronization state of the Blockchain. The top numbers are how many blocks are stored in your vault file, the bottom number is how many blocks were in the Blockchain the last time you synchronized. If you have not connected to the network before, it should read 0/0 and the icon should display
Ensure that the Bitcoin node to which you are connecting that is Bitcoin‐ Qt is synchronized. Once it is in sync then select “Connect to <host>” from the Network menu or click the “Connect” button from the toolbar. If the connection is successful, you should see the bottom number rise, then you should see the top number rise until they are the same. While this happens, the icon will contain a rotating arrow in an orange circle. Once the vault is synched, the icon will turn green.
Funding your accounts
Select the Accounts tab. In it you should see the account you just created. Make sure the account is selected.
Click on the “Receive” toolbar button.
You will be asked to give the payment a label and specify an amount: these are optional fields.
Click the “New Invoice” button.
At the bottom of the dialog you will see Script Details. On the right you’ll get a QR code. Copy the “Address” from there and send a payment to it from another wallet. If successful , you would see the account balance credited the deposited amount.
View your transactions
Make sure the account is selected in the Accounts tab.
Then select the Transactions tab.
Under this tab you should see the deposit you have made.
Right‐click on the transaction and select “View at blockchain.info” to open up a browser and view the transaction details.
How you unlock your Keychains depends upon the version of your mSIGNA™ software For (versions 0.1.1 and up)
In the Keychains tab, you must right‐click the keychains you want to use to sign transactions and click “Unlock keychain…” from pop‐up menu. Once unlocked, the keychains can be used to sign repeatedly within a session. When the program is closed and reopened, the keychains will again need to be unlocked. This is a security feature
For Versions 0.7.0 and above
You will have the option to set a keychain passphrase. This will encrypt the keychain – the decrypted keychain will only be kept in memory while the keychain is unlocked. When exporting the keychain or account to file, only the encrypted keychain will be saved.
Select the Accounts tab. Make sure the account from which you want to send is selected.
Click the “Send” toolbar button. You will be asked to specify a fee, an address, an amount, and a label.
The fee is required by the Bitcoin network for transactions involving outputs smaller than 0.01 BTC, so if you’re sending very small amounts it is recommended to use a fee of at least 0.0005 BTC. A higher fee tends to result in faster confirmation times, but exact confirmation time cannot be predicted.
After entering the transaction details, click the “Save Unsigned” button.
The unsigned transaction will appear at the top of the Transactions tab. Right‐click it and select “Signatures” to open the signature dialog. At the top you’ll see the unsigned transaction hash as well as the number of signatures that are still required. Right‐click a keychain and select “Add signature” to sign for that keychain.
NOTE: You can only sign for keychains for which you have the private master key.
From the same pop up menu, you can select “Export Transaction To File” and “Import Transaction From File”. Use these commands to share unsigned or partially signed transactions as files with other people or other devices. Any added signatures get merged into the transaction when you import it.
Once the minimum signatures required by your m-of-n policy have been added you’ll have the option to send the transaction to the network by right clicking it and selecting the “Send Transaction” option.