IntroductionThis is the second part of
my previous tutorial which was created for less experienced users to help them with the basic functions of Electrum software wallet. This time I would like to describe a few features which might cause some problems to people who haven’t been into Bitcoin for a long time.
Table of contents 1.
Creating a multi-signature wallet 2.
Sending a transaction from a multi-signature wallet 3.
RBF (replace-by-fee) 4.
Cold storage 5.
Coin control 6.
Using a hardware wallet 7.
Signing/Verifying a message 8.
Extra information1. Creating a multi-signature walletThis type of wallet requires multiple signatures to spend from it. You can select up to 15 cosigners and any number (<=15) of required signatures. This is a great solution for organisations which don’t want to give control of all of their money to a single person. Investors can use this type of wallet in case one of their private keys was exposed to a third party. Let’s get through the process of creating such wallet.
Keep in mind that the size of transactions sent from multi-signature wallets is bigger which means that they are more expensive!The first slider represents the number of people who will be able to sign a transaction. One person equals one signature. The second one is the number of signatures
needed to spend from the address. If you select 10 cosigners and 5 required signatures then only 5 people will have to sign a transaction in order to broadcast it to the network.
In this step, you will have to create a new seed or use your existing one. Make sure to backup it because you won’t be able to sign transactions if you lose your private key or seed. You can also use a hardware device and that’s what I have selected.
You should see your Master Public Key which you have to send to other co-owners of the wallet.
Now you have to enter Master Public Keys of other people. Using a seed is also possible, but it’s not recommended. Cosigning with a hardware device would require you to be physically next to the other person. Since I selected only 2 cosigners, I have to enter only one public key.
That’s all! You should now see your wallet. Make sure that your address in “Receive” tab starts with “3”
2. Sending a transaction from a multi-signature walletThis is actually pretty easy. Enter the address you want to send your bitcoins and the amount like you normally would. You should see the following window, click "Sign".
You can now export the transaction to a file (.txn) and send it to the other person.
To load the transaction you have to go to Options -> Load transaction -> From a file and select the file you exported earlier.
The only thing left is to sign a transaction once again and click “Broadcast”. If you have selected more required signatures then you have to export the transaction and send it to another person once again.
3. RBF (replace-by-fee)If you have the latest Electrum then you should have it enabled by default, but what exactly is it? RBF allows you to replace your
unconfirmed transaction with a new one that pays a higher transaction fee so it could be included in the block earlier. It’s really helpful if you accidentally sent a transaction with a small fee. If you want to learn more about RBF check out
this thread.
Click right mouse button on the transaction you want to be confirmed faster and click “Increase fee”.
4. Cold storageCold storage is a method of storing your bitcoins offline to minimalize the surface of potential attack. To use this method you will have to use two different computers. One which will be connected to the Internet and the second one which should be encrypted and not connected to anything.
Create a standard wallet on the computer which has no Internet access and go to Wallet -> Information
You should see your Master Public Key which will be needed for creating a watch-only wallet on the second computer. Copy and move it to the other computer.
Create a new standard wallet on the second computer, but instead of generating a new seed select “Use public or private keys” and paste the key you have copied.
Now you will be able to prepare transactions on your watch-only wallet. The process is similar to sending transactions from a multi-signature wallet which I described earlier. All you have to do is to export the transaction and load it on the offline computer. After signing it, you will have to load it on the online computer in order to broadcast it to the network.
5. Coin controlCoin control is one of the most important features which will help you to preserve your anonymity. When you send a transaction, your wallet combines all available inputs (coins) into one. This can be easily tracked using block explorers.
Go to “View -> Show Coins” in order to turn on this feature.
Even if the receiving address for the coins was the same, they will be listed separately. If you want to spend coins from a specific address then you can do it in “Addresses” tab which you have to enable in the “View”.
To send specific coins click right mouse button and select “Spend”. You should see another tab where you have to enter a Bitcoin address to which you want to send your bitcoins, transaction fee and the amount of BTC. The fee you will pay is taken from the coins you have selected.
6. Using a hardware walletWhile creating a new wallet select “Use a hardware device”. I have decided to use my old TREZOR One in the process since it doesn’t allow you to type in the PIN and the passphrase on its screen unlike Ledger Nano S and TREZOR T.
Connect your hardware wallet and you should be able to select it.
Enter your PIN and passphrase (in case you enabled this feature)
One of the biggest advantages is that Electrum supports native SegWit even with hardware wallets! If you want to generate a certain account which you have used in a native app of your wallet then all you have to do is selected whether it was legacy or segwit wallet and change the last digit. 0 will generate the first account, 1 the second and so on. Don’t forget about ‘ at the end.
Your private key is not leaked anywhere when you use your hardware wallet with Electrum. Transactions are signed on the device and they will have to be confirmed by you.
7. Signing/Verifying a messageBitcoin messages are useful because they can be used for proving the ownership of a certain address. There is no standard for signing messages for nested and native SegWit addresses. That is why it is recommended to use legacy type of addresses. To sign or verify a message go to "Tools -> Sign/verify message".
Type in the message you want to sign and the address that is associated with your private key. Otherwise, it won't work. Click "Sign".
You should always include a timestamp and the purpose of the message to avoid reusing it by a scammer.You should use the format below if you want to send the message you have just signed to someone else.
-----BEGIN BITCOIN SIGNED MESSAGE-----
-----BEGIN SIGNATURE-----
-----END BITCOIN SIGNED MESSAGE-----
To verify a message, paste all the required information and click "Verify".
If you want to learn more about Bitcoin messages then
this tutorial will give you plenty of information. You should consider staking your address
here if you are an active user on bitcointalk.
8. Extra informationElectrum is one of the most popular Bitcoin software wallets. It is constantly being updated so things described above can be a little bit different. At the time of writing this tutorial, the latest version is 3.1.3. I will do my best to keep this tutorial up-to-date and add more information in the future. I didn’t have enough free time to test two-factor authentication wallet so I will do it soon.
Electrum 3.1 finally brought us mempool based fee estimation. You can enable it in “Preferences” and use it instead of ETA which might be sometimes not accurate and cause inexperienced users to overpay for their transactions.