Crypto Academy | Season 3 | Week 5 :- Homework Post for @sapwood

in hive-108451 •  4 years ago 

Hello steemians, I'm here to submit my season 3 homework task 5. That carried by @sapwood.

20210731_232750_0000.png

Q. 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 multi signature wallet which is precisely known as multi sign wallet is a type of Wallet which requires more than two person to sign the transaction(by entering key) and then to broadcast it.

We can compare multi sign wallet with a bank locker which requires not only one but two keys to open that locker. One key is given to you and one is held by bank authority. One key without the other one can't open the locker.

But unlike the bank locker where only two keys are required, there are many possibile combination of cosigner and sign required to perform a transaction in multi sign wallet. This combination can be 2 of 3, 3 of 3, 3 of 5 and many more.

Here for example, 3 of 5 indicates that there are total 5 cosigner and sign of atleast 3 is required to make any transaction through that wallet.

Difference between multi sign and single key wallet:-

  1. In single key wallet, there is only one owner of the Wallet and only one sign/key is required to make any transaction and then to broadcast it to the network.
    But in multi sign wallet, there are multiple owner or single owner of a wallet and more than one sign is required to perform any transaction and to broadcast.

  2. In this there is only one key that is required to make transaction, and if that is compromised, one may lose its asset
    On the other hand, in multi sign wallet, even if one key or more keys(less than keys required to sign) is compromised, your funds remains safe.

  3. It is suitable for an individual only buy when it comes to use it for a organization where there are multiple owner, it isn't much suitable because in that case, person holding the key is the real owner.
    On the other hand, multi sign wallet is suitable for an individual as well as for an organisation.

  4. Single key wallet is less time consuming because here only one key is required to make transaction.
    On the other hand, as multiple signs are required, multi sign wallet is time consuming.

Now as I mentioned that in multi sign wallet, there may be only one owner of a multi sign wallet and more than one keys will be there and more than one are required to perform transaction. But why will a person do this.

As we know, in centralised exchange wallet, there are many options available such as OTP, 2 factor authentication to add up another level of security in case you key is compromised.

In decentralised exchange wallet, multi sign wallet also adds up a level of security just like these. If any of your key is compromised, still other key will also be required to perform transaction. In this way it acts as 2 factor authentication in decentralised system.

Uses of multi sign wallet:-
Multi sign wallet can be used by an individual as well as by any organisation.

As we have discussed that:- By using this any individual can ass up a level of security and can secure its funds in a better way.

It can also be used by any organisation where there are more one owner. And every owner is in horizontal hierarchy this means no one is above the other.
In that case, to bring transparency, this wallet can be used.

For example, there are 3 owner of a organization. And every owner wants equal power, in that case, everyone wants that the power to spend money shouldn't be in the hand of a single owner..

Then, a multi sign wallet can be used. If they want that money should only be spent only if majority wants it to be spent that 2 of 3 multi sign wallet can be used

And if they want that money should be spent only when there is unanimity then a 3 of 3 multi sign wallet can be used where sign of all three owner will be required to make any transaction.

Q. Download, install & set up a 2-of-3 BTC Multisig wallet (Electrum).


Steps to Download, install & set up a 2-of-3 BTC Multisig wallet (Electrum) -

  • To download the electrum wallet, go to https://www.electrum.org/

  • After this, as I have windows laptop, I selected windows installation option or you can select based on your OS.

  • And then just click on next and then install it on your computer.

IMG-20210731-WA0001__01.jpg

IMG-20210731-WA0000__01.jpg

  • After opening the electrum, go to file option
  • Now click on New/Restore
  • Now on the screen, enter the name of the Wallet as per your convenience.
  • After clicking on next option, select the wallet type on the next screen that is multi sign wallet.
  • Then, just click on next

IMG-20210731-WA0002__01.jpg

IMG-20210731-WA0003__01.jpg

IMG-20210731-WA0004__01.jpg

IMG-20210731-WA0005__01.jpg

Now, here we will set up number of signature required and number of co-signer. For this task we will set up a 2 of 3 wallet that is 2 signature required and total 3 co-signer

  • Enter the number of co-signer and signature that is 3 and 2 respectively by scrolling the bar
  • Now, it will ask you to create a new wallet or restore your wallet by entering seed phrases that are generated while creating a new wallet.
  • Now click on create a new seed and click on next
  • Now a seed phrases consisting 12 random words are shown. Copy these and paste anywhere with safety and also note these offline too as these are required while restoring wallet.
  • After clicking on next, type the 12 words in order to confirm the seed phrases.
  • Now a master public key that is MPK is also shows,
    It always starts with Z letter.
    Copy this and share this with your co-signers.

IMG-20210731-WA0006__01.jpg

IMG-20210731-WA0007__01.jpg

IMG-20210731-WA0061.jpg

IMG-20210731-WA0060.jpg

IMG-20210731-WA0010__01.jpg

Now in this section, as I have generated the MPK. Now In this section, cosigner will use this to create wallet.

  • Now on the next page, you will have to add co-signer by entering MPK. Click on add co-signer
  • Now enter the MPK of second co-signer and click on next button.
  • Now again it will ask you to enter the MPK of the third co-signer. Enter that and click on next.

IMG-20210731-WA0011__01.jpg

IMG-20210731-WA0012__01.jpg

IMG-20210731-WA0013__01.jpg

IMG-20210731-WA0014__01.jpg

Now after setting up wallet and adding cosigner, in this section, we will encrypt our wallet using password

So enter a strong password and enter again to confirm it and hit enter.

IMG-20210731-WA0015__01.jpg

IMG-20210731-WA0016__01.jpg

Now after creating a wallet, as we have created this for a organization, then we have to confirm that receiving address is same for every wallet.

This has to be verified by every co-signer. Follow the following steps to verify.

  • Go to receive tab
  • Now set the expiry date to never
  • Click on new address
  • On the next page, you can see receiving address on the right side.

Now this process should be followed by every co-signer and all receiving address should be same. If it is now same then it means that you have made any mistake while creating this. To wallet is no more multi sign wallet.

You can see that all receiving address are same for my wallet.

IMG-20210731-WA0017__01.jpg

IMG-20210731-WA0018__01.jpg

IMG-20210731-WA0018__02__01.jpg


Q. How many different "m of n combinations" Multisig wallets you can construct in Electrum? How do you Export your Seed & Private Key(Electrum) in a Multi-sig wallet?


After selecting the wallet type, when we visit the next page, it asks you to select the "m of n combinations." As I have created a Multisig wallet of 2 of 3 combination for this task. But apart from this, I can create wallets of many different m of n combinations.

In Electrum, the value of m (Signatures) ranges from 1 to 15 while that of n (Co-signers) ranges from 2 to 15. So in Electrum, we can construct 15 of 15 different combinations to complete the transaction.

IMG-20210731-WA0027__01.jpg

IMG-20210731-WA0028__01.jpg

But if we look at these combinations deeply, then in Electrum we can construct a total of 119 different combinations to Sign the transaction.


Steps to export Seed in Multisig wallet-

  • Select Wallet on the homepage of Co-signer_1 (Electrum) & Click on Seed to export the Seed Key.
  • Now enter the wallet Password.
  • Now in the new interface, it will reveal & display the Seed Key. Write this seed key on any page or diary and do not disclose it in front of anyone. The Seed key should always be kept safe.

IMG-20210731-WA0019__01__01.jpg

IMG-20210731-WA0022__01.jpg

IMG-20210731-WA0062.jpg

Steps to export Private Keys in Multisig wallet-

  • Select Wallet on the homepage of Co-signer_1 (Electrum) & Go to Private Keys and select Export to export the Private Keys.
  • Now enter the wallet Password.
  • Now a pop up appears as a warning stating that Multisig wallet cannot be backed up with these private key. Then click on OK.
  • In the next interface, It will reveal and display the Private Keys.
  • Export these keys in the designated format types. I have selected JSON.
  • Click on Export.

IMG-20210731-WA0021__01.jpg

IMG-20210731-WA0022__01.jpg

IMG-20210731-WA0024__01.jpg

IMG-20210731-WA0025__01.jpg

IMG-20210731-WA0026__01.jpg


Q. Perform a real transaction(Send BTC) to another Address using a 2 of 3 Multisig wallet?


In this section I will make a real transaction if BTC to my multi sign wallet. But as ChangeNow doesn't support transaction to multi sign wallet. So I have already created a standard wallet. I initially will send BTC to standard walle and then I will send it to multi sign wallet.

This can be simply done by going on send button and entering the main wallet receiving address & amount and password and then. By clicking on send easily.

See the screenshot below.

IMG-20210731-WA0029__01.jpg

IMG-20210731-WA0030__01.jpg

IMG-20210731-WA0031__01.jpg


But apart from this, I will show you a real time transaction. See the steps below

  • First of all click on electrum wallet, go to file and click on open.
  • Now select your main Wallet that is co-signer_1 in my case. I clicked on that
  • Now enter the Wallet password and click on next.
  • Now go to send tab
  • And here enter the recipient address, amount and description if there any
  • Now click on pay
  • Now enter the password and click on next

IMG-20210731-WA0032__01.jpg

IMG_20210731_223307.jpg

IMG-20210731-WA0034__01.jpg

IMG-20210731-WA0035__01.jpg

IMG-20210731-WA0036__01.jpg

Now on the next screen you can see transaction details. But here you can see 2 output but here I have entered only one. Then what is second output.

The second is change address. This means that my remaining balance was transferred to my account via change address. Change address is highlighted by yellow colour.

IMG-20210731-WA0037__01.jpg

As I have sent a total mBTC of 0.21 mBTC out of my 0.25386 mBTC. And I received my remaining 0.04 mBTC via change address after deducting transaction fees.

Now it's time for one more cosigner to sign the transaction. As it is now showing partially signed as one more sign is required as only one sign is there and another one is waited.

Now just go to export and save the file to your computer.

IMG-20210731-WA0038__01.jpg

And then to sign one more time, go to open option and then open another Wallet (co-signer 2) by entering the password.

IMG-20210731-WA0040__01.jpg

IMG_20210731_232534.jpg

After entering the password and opening the electrum wallet for second co-signer,.

Go to tools then click on load transaction and then chose by file and open the file.

IMG-20210731-WA0043__01.jpg

IMG-20210731-WA0044__01.jpg

Now, transaction will be be loaded and now you have to sign this transaction.

To sign the transaction, just click on sign and enter your password and you can see now the transaction is signed.

IMG-20210731-WA0045__01.jpg

IMG-20210731-WA0046__01.jpg

And finally click on broadcast to complete the transaction nd after clicking this your transaction will be completed.

See the screenshots below.

IMG-20210731-WA0047__01.jpg

IMG-20210731-WA0048__01.jpg

Now you can also see that transaction has been completed and you can check it through block explorer . Simply you can visit Block Explorer and check the transaction details.

So I am visiting https://www.blockchain.com/explorer for transaction details. You can do the same. Later, enter the transaction I'd and check the details.

IMG_20210731_231600.jpg

Now you can see the Recieving address & the change address in the above screenshot. The transaction has completed correctly.


Q.What is the difference between Receiving Address & Change Address? Demonstrate your experience with a Change Address?


Receiving address- As its name suggests, this address is specially made for receiving funds from others. Simply if you or any receiver wishes to receive the funds, you or they will share the receiving address not the Change Address.

Change Address- This is an address that serves to send unspent UTXOs back to the wallet. The change address is generated automatically by the wallet, and has nothing to do with the receiving address.

When you visit addresses then it shows you the two types of address in two different colors. So the address which is marked with green color is the receiving address and the one which is marked with yellow color is the change address.

IMG-20210731-WA0055.jpg

Now you can see the Recieving address & the change address in the above screenshot. I transferred a partial amount of 0.21 mBTC to an address out of the total balance of 0.25386 mBTC. But as UTXO has to be fully spent. So the Remaining Balance or Unspent Balance, 0.04 mBTC is sent back to the Wallet through the Change address.

Thanks for Reading......

Cc: @sapwood

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  
Loading...

You have been upvoted by @sapwood, a Country Representative from INDIA. We are voting with the Steemit Community Curator @steemcurator07 account to support the newcomers coming into Steemit.

Engagement is essential to foster a sense of community. Therefore we would request our members to visit each other's post and make insightful comments.

Thank you