Hello friends and colleagues, trust you are thriving in your learning, me too. Though this very task seems so daunting, I am beating my chest that I'll surely scale through. So with this mindset I am presenting my entry to you this day, dear Prof @sapwood.
(1) What is a Multi-sig wallet? How is it different from a Single key wallet? What are the different uses of a Multisig wallet?
A signature is usually required to authenticate and complete a transaction in the case of a singular wallet. But in the case of a joint account with more than one wallet, then the use of multiple signatories comes into play requiring at least a-two-person signatures or private keys to completely execute a transaction.
This is different from a Single key wallet where only one person is in charge of his wallet, he alone initiates and broadcast a transaction. The responsibility of wallet security lies in one hand and there's complete loss of wallet if a particular seed is lost and it is easy to get the wallet compromised.
The above is absent in the case of Multi-signature wallet because there is a division of labour in commencing and completing a transfer of fund for spending meaning that, there must be a consensus among the persons involved. If one seed is lost, it doesn't necessarily affect the use of the wallet.
Another notable difference is that while a Single Key Wallet is easy to be hacked, Multi-sig Wallet is very difficult to be hacked because the hacker must break through all the private keys in the hands of the different people or machines hosting those keys in order to succeed in the fraud. So Multi-sig Wallet have higher security form than Single Key Wallet. That is why it favours companies or family members to use this as a joint account.
Further difference is that Multi-Sig Wallet provides for backing up the many keys by storing them somewhere so that even if one key is lost, the owners can recover it using the other available keys.
The few among the different use cases of Multi-Sig wallet are
- A married couple can install a 2-of-2 Multi-sig wallet so that funds saved there can only be spent at an agreed time.
- It can serve as an Escrow between a seller and a buyer whereby a seller offers to sell and a buyer agreed to buy. The seller sends the asset to the Escrow which is now the third wallet, then upon confirmation of their terms, the Escrow - the third wallet releases the fund. If a disagreement arise, then the buyer or seller spends the money with the arbitar which is the third wallet.
- A company's board of directors can install a Multi-Sig wallet whereby funds can only be withdrawn with at the endorsement of two signatories in the case of 2-of-3 wallet account but it can be more than 4 or 5 signatures if it is a larger sum in the case of more multiple signature wallets.
- It can be used as 2-factor authenticator using one primary device and the secondary device for confirmation of a transaction. This helps to protect a wallet from fraudulent attacks.
(2) Download, install & set up a 2-of-3 BTC Multisig wallet(Electrum)? What is the difference between Seed key and MPK? Would you share the seed key or MPK with your co-signer and Why? (Screenshots Needed)
To download an Electrum BTC Multisig wallet, I took the following steps using my phone:
1st Step: Go to Google Play Store and search for 'Electrum BTC Multi-sig wallet and click on it.
2nd Step: Once the app showed up, I click on download after which I installed the app on my phone.
3rd Step: Upon opening the Electrum app the first page tells me to press Next to create.
4th Step: The next page displayed some four options for me to choose, so I tapped on the third option - Multi-signature wallet.
5th Step: Clicking the next button takes me to the page requesting me to choose the number of signatures to unlock my fund, so I choose 3 of 2 signatures and tap the 'next' button.
6th Step: On the next phase, I perform an action by creating a new seed
7th Step: The new seed of 12 random words was generated and I wrote them down and click next
8th Step: I move on to the next page where I entered the 12 seed words then next it
9th Step: The Master Public Key (MPK) was then generated, I copied and share it with my other cosigners.
At this point I closed the app and reopen it to perform the above processes for the 2nd and 3rd cosigners, then using the first primary wallet keys, I move to the next page where I started entering the 2nd and 3rd MPKs
10th Step: I added the 2nd cosigner key
11th Step: I also added the 3rd cosigner key and next the page
12th Step: On the next page, I entered my new password
13th Step: I confirmed the password on this page
14th Step: Wao my wallet is ready. Every other setups were done from here.
The differences between Seed Key and MPK
Seed Key
These are random words used to generate a private key. Once you open the electrum app to create a wallet, it will first demand whether you already have a seed or to generate a new one. They are usually 12 words or more displayed for you to write down and secure them preferably offline. The seed key would be required to recover a lost wallet without the private key. So in essence they are used to generate a private key for the wallet.
MKP
With the MPK (Master Public Key), the Bitcoin wallet addresses are generated in absent of the seed key. With MPK, all contents and transactions performed in the wallet can be viewed but the wallet contents cannot be spent with the MPK.
Sharing of the Seed Key and the MPK
These two keys are the heart of the Electrum wallet and so should be guarded jealously because losing both of them spells danger to the contents of the wallet. On no occasion should a person share his/her Seed Key.
The only ones responsible for safe keeping of the master key are the co-signers, the first signer can share it with the other co-signers especially at the onset of the wallet creation because to add other co-signer(s), his MPK is shared with the first co-signer in order to complete the setting up of the wallet. See the image below where an MKP is requested to be copied and share.
(3) How many different "m of n combinations" Multisig wallet you can construct in Electrum? How do you Export your Seed & Private Key(Electrum) in a Multi-sig wallet? (Screenshots needed)
The word multiple in reality is an indefinite term, so in Electrum since it is designed to create a multiple signature wallet, therefore there should be no limit to the number of combinations of "m of n. It all depends on the use case functionality of the people involved. But it can be
- 2 of 2 for a husband and wife where they agreed to spend their money with the consent of each other.
- 2 of 3 for the couple and their child in the case of savings for the child's welfare, it requires 2 signatories before spending any fund.
- 3 of 5 or 5 of 9; it can also be 20 signatories for a complex wallet.
From my phone, I can only see up to a combination of 5 as the image below shows.
Steps to Export my private keys in Multi-sig wallet
First: Open the Electrum app and enter your password, then click on 'Next'.
Second: Tap on the wallet name on top of the page (meymey1).
Third: The next page displays the three Master Public Keys of the wallet but the seed key is hidden. Tap on the Seed key to show the seed phrases. It'll request for confirmation, click OK to display the seed phrases.
Then click on Export.
(4) Perform a real transaction(Send BTC) to another Address using a 2 of 3 Multisig wallet? (You can perform a micro-transaction for this Task, also send a partial amount to demonstrate your experience with Change Address, screenshots needed).
Moving over to Binance, I exchanged 100 Steem to BTC so as to have enough fund to pay for the transfer fees.
Then in my Multi-sig wallet I commenced the transaction with the following steps:
Step 1
- First checked that the addresses of the three cosigners are the same and that the amount to spend as well as the change amount are all seen on the three wallets.
- The wallet balance is 0.60382 mBTC
- I clicked on the "Send" button
- Enter the recipient's address in the pay to bar
- The description given is Testing
- The amount to send is 0.58 mBTC
- Then click on "Pay" button
On the next page check for the following items
- The wallet balance
- The amount to spend and
- The change is 0.021 mBTC
- Then click on 'Finalize' icon
- Look up to see the status is still unsigned
The next page is to export the actions so far
- Click on "Export" and the Export File option
- Then save the file to the desktop.
Step 2
At this juncture the Cosigner 2 (meymey wallet 2) comes into play.
- On the Tools bar, click on Load Transaction
- Click on "From File"
- Allow to File to Load and then tap on Open
Click on "Sign button and input the Cosigner 2 password (Of course I used same password for simplicity)
Click 'OK" and check on the next page, the status changed to "Signed"
Finally click the "Broadcast button and then on 'OK'.
The transaction is done completely.
To showcase the Change Address content
- I clicked on the Addresses bar on the menu bar
- The Change Address automatically generated painted itself with yellow color under the green color Receiving addresses.
- At far right side is indicated with the balance of 0.021 mBTC
To confirm the success of the transaction, I copied the transaction ID, go to blockchain.com and paste it on the search bar. The transaction was confirmed to have been executed as the image below shows.
(5) What is the difference between Receiving Address & Change Address? Demonstrate your experience with a Change Address?
The Receiving Address is the one I generate for sharing with people to send BTC for me. As the name is, it is used for receiving funds to my wallet. But as for the Change address, it is the wallet that automatically generate the address for the owner. It is not to be shared to people for any transaction.
How it works is that, if I am to send 0.58 mBTC to someone whereas in my wallet I have some amount sent to me amounting to 0.6038 mBTC. The thing is once I hit the send button and complete the whole procedure involving the cosigners, the system spends the whole amount but automatically generates a new address named Change address with which to return the balance of 0.021mBTC back to my wallet waiting to be consumed in my next transaction. The following real transactions performs the experience:
Conclusion
Multi-sig Wallet is an experience but it is a simple way to spend fund of a joint account and it is good for big business enterprises with large account balance. It is also safe and secure though it is complex especially when they are too many cosigners.
Thank you Prof @sapwood for this lecture and task, I have indeed learnt more gems from this.
I remain yours student,
@meymeyshops.
Hi @meymeyshops,
You have demonstrated how to set up a Multisig wallet with an Android version.
But you have performed your transaction with the desktop client.
Any specific reason??
Further, the setup in Desktop & Android is different or the same??
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Good day @sapwood, at first my laptop couldn't download the Electrum app due to incompatibility of 32bites and 64bites. So after several days of trial and error, I then used my phone to set up the wallet. But to perform the transaction there was so difficult that I nearly gave up. I went borrowing someone else's laptop and start all over again. So I performed the transaction using the desktop only then did I succeed after several days.
Since I have shown how to setup a multi-sig wallet already with the phone, I performed the transaction using desktop.
Thanks for your understanding, Sir.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Thank you.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Prof @sapwood, it seems you didn't see the Blockchain explorer image indicating the summary of transaction performed.
This is so discouraging, having put in so much to perform this task. Please kindly see that the I indicated the transaction in blockchain explorer.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
You have indicated the entire transaction containing two outputs in a box, did u specify which one is a change address(out of the two outputs as shown) in that Block Explorer??
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit