SteemCryptoAcademy Season 3 Week 5 - Homework Post for Professor @sapwood | Multisig Wallet(Electrum) - "m of n" Combinations

in hive-108451 •  3 years ago  (edited)

image.png

Hello crypto students, welcome once again to my homework post. In regards to the lecture of prof @sapwood who took us on a dip view of 'Multisig Wallets - m of n combinations' I will be writing in the given tasks in detail. I want to also thank the prof for such a wonderful topic, it was really interesting learning about a multi-signature wallet. Let's proceed below.

Preamble

image.png
Multi sigs wallets are really growing in the crypto industries, and of course, they tend to reduce the risk of relying on a particular source of saving funds i.e they offer a built-in way of managing funds without a particular individual as most financial bodies tend to rely on one individual to succeed.

Let's take, for instance, a company that has funds in a single key wallet and that is been managed by one individual, if peradventure, the person in charge of the single key wallet happens to disappear with the wallet keys maybe by death, it can cause a lot of discomforts, and can even lead to loss of funds.

That is where a multi-sig wallet comes to play a vital role, but then, the question is what is a multi-sig wallet? That's a very nice question which is what gave birth to this very article. So let's start our inquiry below.

What is a Multi-sig wallet?

image.png
In the crypto industry, it is obvious that many transactions are carried from different wallets, both single key and multi-sig wallets. Multi-sig wallets which can also be called multi-signature wallets are types of wallets that allow multiple individuals per wallet which are sometimes called co-signers or co-owners

Whenever a crypto user transfers funds to his or her wallet, there is always a transaction that will be initiated in the cryptocurrency blockchain. In other to finalize the transaction, there must be an agreement between the intending network of transfer, this agreement is seen as a signature authorization, and some wallets today use only one signature while there are also wallets that make use of multiple signatures.

It is really important to note that multiple signature wallets have different types of approving and authorizing transactions. Some authorization can be equal or lesser than the number of co-signers.

Let's take, for instance, when a 3 - 3 type of multiple signatures is wanting to transfer an asset, the 3 - 3 type multiple signatures that are attached to simply means that there are 3 co-signers which means there must be approval from these 3 users before the transaction would be verified.

There other types of multi-signature wallet that involves 3 users with 2 authorization i.e 2 - 3 multi-sig wallets. It implies here that before a transaction will be carried, there must be approval from at least two cosigners. Let's see how it works below.

How Does a Multi-signature Wallets Works?


Let's take, for instance, a Bitcoin multi-signature wallet that was built to store bitcoins. Initially, wallets were built to store crypto coins in single-key wallets and to be accessed by one user. On the other hand, multi-sig wallets are also built to store crypto assets with more than one user authorization. Let's see how it works in a bitcoin multi-signature wallet.

image.png

Graphic Showing How a 2 - 3 Multiple Signature Wallets Works

From the above image, a 2 - 3 multi-sig wallet is been created and managed by 3 different persons who are by names @kinkyamie, @armstrongdiho, and @gift-xam. The 3 of them have their own key, and for a transaction to be carried out successfully, there must be a presence of 2 out of 3 keys to enable the transaction.

What it means; to make payments with the wallet, Kinkyamie would initiate a transaction and sign it with her key, and then she will forward it to armstrongdiho to also sign with his key, now, armstrongdiho can choose to finalize the transaction or forward to next co-signer.

Although the next authorizer was not available and could not approve the transaction from her end, because of the type of wallet (2-3 multi-sig wallets), it was finalized with the 2 co-signers signatures.

Multi-sig wallets allow a certain number of users as we have seen from the above image, and it is usually arranged in 'm of n' where m = the number of authorization/signature and n = number of co-owners/co-signers, and also with the ratio of 2 - 3, 3 - 5, 5 - 7, 5 - 9, and so on. Let's see how it is different from a single-key wallet below.

How is it different from a Single key wallet?

image.png

Single and Multi-key wallets as the names imply are not really similar. Just as we have seen from a multi-sig wallet, a single key wallet is the opposite with the following difference.

  • The single key wallet is built in a way that only one user can access it with his/her private keys, and with the key can initiate and transact at any time, while on the side of the multi-sig wallet, there must be a presence of 2 - 3 users in other to assign a transaction

  • In some cases, the single-key wallets are seen as best because of the ease of use compared to multi-sig wallets that could be time-consuming, and very complex to comprehend. This is why it is mostly used by advanced users.

  • Single key accounts are very easy to hack compared to a multi-sig wallet that is been controlled by a group of persons as they hack event must pass through all co-signers before successfully hacking the wallet.

  • Furthermore, funds that are in the single wallet are not that secure because the one user that is in charge of the wallet might lose the key which can results in loss of funds, while on a multi-sig wallet, there are the presence of 2 - 3 signatures if one key gets lost the other 2 can carry out transactions.

We have learned from the professor's lecture that multi-sig wallet also has different use cases which I will be sharing with you below.

What are the different uses of a Multisig wallet?

image.png
There are different use cases of multi-sig wallets. below are some of the distinctive use cases of a multi-sig wallet.

  • Escrow Services:

This is a very important use case as seen in the multi-sig wallet where traders (buyers & sellers) can set up a 2 - 3 multi-sig wallet. How does it work? in this wallet ( 2 of 3) 2 signatures will be given to both the buyer & seller and the remaining signature will be given to the Intermediary which is the 'Escrow Service'.

Now, with these settings, the transaction would be safer because 2 of 3 co-signers can just sign to finalize the transaction. In a case whereby, both the buyer and the seller come up with an argument, it could be very easy to settle as there is a presence of an intermediary who then settles the dispute based on some verified facts.

  • Joint Account:

A joint Account as the name implies simply means a multi-sig wallet can be used by joint organizations like educational institutions, banking institutions, even family accounts. How does it work here? any of these organizations can just open a multi-sig wallet (m of n) since it has multiple signatures, they could decide on how to use the fund there.

  • Additional Security To Funds:

This is another unique use case of a multi-signature wallet, as we have seen above from the difference from the single key wallet. The multi-sig wallet has the ability to safely store funds as it needs 2 of 3 signatures to carry out transactions in the wallet. Hackers will find it difficult to penetrate the wallet, also if 1 out 3 signatures, the transaction can still take place with the presence of other 3 signatures.

The aforementioned are just but a few of the use cases for multi-sig wallets in the crypto industry. Let's get a multi-sig wallet set below.

Download, install & Set Up a 2 - 3 BTC Multisig Wallet(Electrum)

image.png
In this section, I will take you on step - by - set guide to installing, and setting up a multi-sig wallet called 'Electrum'. What do you think is Electrum?

As we have seen earlier, Electrum is a wallet that was introduced in early 2011, it is a bitcoin wallet that has the multiple signature function as seen above. It is well known for its simplicity. Let's take the step of installing and setting it up.

In other to use Electrum multi-sig wallet, I visited the website which is https://www.electrum.org/ When clicked on the link, I was taken to the home interface of Electrum's website. See the image below.

image.png

Screenshot Frpm Electrum's Platform - Step 1

The above screenshot depicts the landing page of electrum's platform, In the image you will see information like Download, documentation, community, and about the project. On the same page, you will also see a strict warning about phishing, telling you not to download the Electrum wallet from any other source that is not from electrum.org.

To proceed with the downloading, I clicked the download button as shown in the image above, when clicked, I was taken to the next page below.

image.png

Screenshot Frpm Electrum's Platform - Step 2

When I clicked on the window installer, the package started installing. I got a pop-up from the bottom part of my screen showing the downloading progress, In other to view the progress, I navigated to my browser download history, and from there, I saw the package downloading in progress. See the image below.

image.png

Screenshot showing the download in progress

It took about 7 mins to complete the download. After the completion, I opened my download folder, where I saw the downloaded electrum wallet. See the image below.

image.png

Selecting the Downloaded Electrum Wallet For Set up. - Step 3

The above image shows the electrum wallet on my device download folder, as you can see from the image, I double-clicked on the package and was taken to the next step below.

image.png

Screenshot showing the procedure of installing Electrum wallet.

From the image, I selected the installation destination, and then clicked on install. See the above image for a better understanding. When I clicked the install button, the below action took place - started and completed installation.

image.png

Screenshot showing the completed installation of electrum.

The above image shows that the installation of the electrum wallet was complete. Now that we have successfully installed the wallet. Let us Lunch and create a 2 - 3 BTC multi-sig wallet. Note: if you are using a PC, in other to lunch the downloaded Electrum wallet, there must be a presence of Microsoft Visual C++ Redistributable for Visual Studio 2019 in your PC which helps to read the Dynamic Link Library (DLL) of your system file.

Now, let's continue! to create the wallet a 2 - 3 multisig wallet, you follow the steps which start from clicking on the software. When click, the below image will show up.

image.png

Setting Up a 2 of 3 Multi-sig Wallet - Step 4

From the above image, I Inputted the name of the wallet I am creating which is seen as 1st wallet, after inputting the name, I clicked on the Next button, and the next page appeared below.

image.png

Setting Up a 2 of 3 Multi-sig Wallet - Step 5

On the above, image I selected the wallet type which is multi-signature, after selecting it, I clicked on the next button to see the next page.

image.png

Setting Up a 2 of 3 Multi-sig Wallet - Step 6

On the above image, I selected 2 signatures out 3 cosigners which means, I will need at least 2 signatures to finalize a transaction in the wallet. I clicked on the Next button and was taken to the next step below.

image.png

Setting Up a 2 of 3 Multi-sig Wallet - Step 7

Here, I was asked to create a new seed or to import a previous key, since I am creating a new wallet, I had to select create a new seed which I did on the screen above. I clicked next and was taken to the next step.

image.png

Setting Up a 2 of 3 Multi-sig Wallet - Step 8

From the above image, you can see that a seed has been created, it is advised you store your key offline, I copied my key and saved it offline after which I clicked on next.

image.png

Setting Up a 2 of 3 Multi-sig Wallet - Step 9

On the previous page, a seed phrase was given which can be used to confirm this page, from the above image, copied my seed from where I saved it, and pasted it on the field that requires my seed. I clicked on next after inputting the seed key.

image.png

Setting Up a 2 of 3 Multi-sig Wallet - Step 10

In the above image, you can see that I was issued with a master public key. This is the MPK that will be shared with the other cosigners. Now that we have created the first wallet, The next step is to inform the other cosigners to create their own wallet.

In other to add them as cosigners, they will create their wallet using the same method as the one above, they will also share their MPKs that will enable a successful setup. It is also important to note that only MPKs are to be shared, not seed phrases.

Now, let's proceed to add the cosigners to the wallet. On the below screenshot, I selected the enter cosigners key.

image.png

Setting Up a 2 of 3 Multi-sig Wallet - Step 11

Note; cosigner's address has been created using the above method. After selecting the enter cosigner key, I was taken to the next step. See the image below.

image.png

Setting Up a 2 of 3 Multi-sig Wallet - Step 12

From the above image, I copied and pasted the 2nd consigner's MPK, and then I clicked on next to view the next step. See the image below.

image.png

Setting Up a 2 of 3 Multi-sig Wallet - Step 13

After adding the second cosigner to the previous step, I was taken to the above step where I am required to add the third cosigner. On the above image, you can see how I clicked on to enter the cosigner MPK, and then I clicked on next. where I got to the next step below. See the image below

image.png

Setting Up a 2 of 3 Multi-sig Wallet - Step 14

On the above image, I repeated the method in step 12 where I copied and pasted the MPK of the 3rd cosigner, after pasting the MPK, I clicked on next to proceed. See the image below.

image.png

Setting Up a 2 of 3 Multi-sig Wallet - Step 15

Now, I am required to encrypt my wallet with a password which is also optional. If you don't want to encrypt the wallet with a password, then you click on the Next button without inputting any key. But for this lecture, I will be encrypting mine, which I did on the above screenshot.

Choosing a strong password is preferable, and a strong wallet always comes with a mixture of alphanumerics, uppercase letters, and lowercase letters. See the image of the 3 cosigners' wallets below.

image.png

Electrum 2 of 3 Wallet is ready To Use

Since I have created a multi-sig wallet. We learned that the 3 cosigners share the same wallet address. Let's confirm it by navigating to the receive tab on the wallet, and there you will click on the new address to see the address. See the image below.

image.png

Screenshot showing the same wallet address of the 3 cosigners in the multi-sig

In the above image, I used the first wallet to elaborate on how to verify the same address. The 3 wallets must be the same, to confirm this, I clicked on the receive tab, where I got information about the receiving aspect of the wallet, on the same tab, I clicked on expiry date where I changed it to never, and when I clicked on the new address button, I was shown the below address that will never expire.

bc1qqdyn68kkp8ya9cg6tnl64s5drwdf5gkqtsrex0x7aaf6f6td0nas6ykqgy

From the above image, you will see that the 3 wallet address were the same as this one above. Now, a multi-sig wallet has been created and verified of the same address. Let's see the differences between MPKs and Seed Key.

What is the difference between Seed key and MPK

We have seen from the creation of a multi-sig wallet that two keys were given, in this section, I will try to differentiate between these two terms.

Seed Key:
This is a key given to a user when a wallet is been created. it can be also be called a mnemonic key, a unique key that is meant to be kept secret from third parties. It is usually 12 in number, it serves as a private key for the created wallet.

Multi-sig wallet offers different seed keys to the number of a cosigner in the wallet, and these keys are meant to be kept private not to be compromised to anybody even to the other cosigners. This is done to prevent false authorization or signature in the wallet.

Master Public Key (MPK)
This is a key given to the cosigners in other to enable access to the wallet. It is called master because without the key the cosigners can not access the multi-sig wallet. And it must be shared with the 3 users, If it is not shared there would not be full access to the wallet which means a multi-signature transaction cannot be carried out.

I also notice that each MPK always starts with the Z. It is very important to note that cosigners cannot access the multi-sig wallet without that MPK, not like a seed key that will be kept away from the cosigners, it must be shared within the cosigners.

Let's take a scenario where a wallet has 9 cosigners that are 7 of 9 signatures to approve a transaction. Each cosigner will be given a seed key which will be private from others cosigners. The given MPK will not be kept from other cosigners, it should be shared across the 9 users.

Would you share the seed key or MPK with your co-signer and Why?

image.png

We have seen that from the 2 keys, the seed key is more important because if it is compromised it can lead to loss of funds which means the seed key should be kept private not be disclosed to the members of the multi-sig wallet. It is very important to note that seed keys are your privacy, and should only be known by the user.

On the other hand, MPKs should be shared because each consigner can't be able to access the wallet without the MPK, let's take, for instance, where a 5 of 7 multi-wallet is created, the users are to have 1 private key which is the seed key, and 7 MPKs shared across each cosigner. Let's see how many m of n' combinations are there in the multi-sig wallet.

How many different "m of n combinations" Multisig wallets you can construct in Electrum?

image.png

In Electrum multi-sig wallet, up to 15 cosigners with 15 signatures can be allowed to manage a wallet, i.e 15 - 15 combination as the math may have it. Well, I have also observed that this number of combinations only exist on the desktop version of it whereas the mobile version has 5 of 5 combinations which means users that are making use of the mobile version can not be more than 5 cosigners. Let's view the combination of the cosigners on the desktop below.

image.png

Screenshot showing the number of combination in Electrum wallet - Desktop Version

From the above combination - 15 of 15, it means there must be the presence of 15 signatures in other to finalize/broadcast a transaction i.e there must be 15 cosigners and 15 signatures. We can also see from the image that it has an option of a minimum of 2 cosigners, and a maximum of 15 cosigners, on the signature aspect, it has a minimum of 1 signature and a maximum of 15 signatures. Note: this is for the desktop version. The mobile version has fewer cosigners. Let's combine it in 'm of n where:

m = 1 - 15
n = 2 - 15

Thus the table is given below:

M of NThe CombinationTotal Combination
M = 1 - 2, N = 21 of 2, 2 of 22
M = 1 - 3, N = 31 of 3, 2 of 3, 3 of 33
M = 1 - 4, N = 41 of 4, 2 of 4, 3 of4, 4 of 44
M = 1 - 5, N = 51 of 5, 2 of 5, 3 of 5, 4 of 5, 5 of 55
M = 1 - 6, N = 61 of 6, 2 of 6, 3 of 6, 4 of 6 and so on till 6 of 66
M = 1 - 7, N = 71 of 7, 2 of 7, 3 of 7, 4 of 7 and so on till 7 of 77
M = 1 - 8, N = 81 of 8, 2 of 8, 3 of 8, 4 of 8 and so on till 8 of 88
M = 1 - 9, N = 91 of 9, 2 of 9, 3 of 9, 4 of 9 and so on till 9 of 99
M = 1 - 10, N = 101 of 10, 2 of 10, 3 of 10, 4 of 10 and so on till 10 of 1010
M = 1 - 11, N = 111 of 11, 2 of 11, 3 of 11, 4 of 11 and so on till 11 of 1111
M = 1 -12, N = 12,1 of 12, 2 of 12, 3 of 12, 4 of 12 and so on till 12 of 1212
M = 1 - 13, N = 131 of 13, 2 of 13, 3 of 13, 4 of 13 and so on till 13 of 1313
M = 1 -14, N = 141 of 14, 2 of 14, 3 of 14, 4 of 14 and so on till to 14 of 1414
M = 1 - 15, N =151 of 15, 2 of 15, 3 of 15, 4 of 15 and so on till 15 of 1515
Tot M of NThe total combination is equal to =119

From the above table, they are arranged in the 'm of n' combination, and the total combination is 119, how? I summed the total combination like this - 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 which is equal to the 119 combination in total. So from here, we have seen that the total number of 'm of n' combination in Electrum wallet is 119. Note; this combination is for the desktop version. The mobile version has a different 'm of n' combination which is not up to 15. Let's import seed and private keys below.

How do you Export your Seed & Private Key


In this section, I will be writing on how to export a Seed and private key. Let's quickly get it done below.

image.png

Screenshot showing hoe to export seed - step 1

From the above screenshot, I clicked on the wallet tab where I got a dropdown menu. On the dropdown menu, I clicked on seed, and the below option popped up.

image.png

Screenshot showing hoe to export seed - step 2

From the above image, I inputted my password. and then click on ok. When clicked, I was taken to the next step below.

image.png

Screenshot showing how to export seed - step 3

Now, from the above image, you can see that the seed has been displayed, all you have to do is copy it and store it in a safer place, ideally offline. let's export the private key below.

image.png

Screenshot showing how to export private key - step 1

From the above image, I clicked on the wallet tab, and then a dropdown menu came up, there I clicked on the private key were another option that has export and sweep. I clicked on export, and the below screen came up.

image.png

Screenshot showing how to export private key - step 2

From the image above inputted my password, and clicked on ok after which a prompt message came up telling me that private keys are very important keys, and should not be disclosed to anybody. I clicked on ok and got the below screen.

image.png

Screenshot showing how to export private key - step 3

From the above screen, I clicked on export after selecting the file format. When clicked, all the files that contain my private keys were downloaded to my system. Now, let's perform a real transaction with this wallet.

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

image.png

In this section, I will be writing on how to carry out transactions in a multi-sig wallet using another wallet type - 'Standard Wallet'. To begin with, opened my Electrum wallet, and on the landing page, I clicked on open, and there I selected wallet 1 that was created initially. See Images below.

image.png

Screenshot showing how perform a real transaction with multi-sig wallet - step 1

image.png

Screenshot showing how perform a real transaction with multi-sig wallet - step 2

After selecting the wallet, I clicked on open as shown on the image above. When clicked, I was prompt to input my password, this is because encrypted the wallet when I was creating it. See Images below.

image.png

Screenshot showing how perform a real transaction with multi-sig wallet - step 3

From the above image, I inputted my password and clicked on open after which the wallet opened. Now, let's perform the transaction by clicking on the send tab. See the image below.

image.png

Screenshot showing how perform a real transaction with multi-sig wallet - step 4

From the above image, I inputted the receiving wallet address, the amount that I am sending, and then clicked on pay where I was taken to the below image.

image.png

Screenshot showing how perform a real transaction with multi-sig wallet - step 5

Here, I am to input my password in other to carry out the transaction on the first wallet. As you can see on the image above, I supplied my password and clicked on send to get the next step.

image.png

Screenshot showing how perform a real transaction with multi-sig wallet - step 6

after clicking on next on the previous page, I was taken to this step. Here you can see the transaction from the first red arrow, it is showing transaction partially signed which means, this is because it is a multi-sig wallet. The transaction cannot be signed except by another cosigner's approval. To proceed, I saved the file so as to continue from the second cosigner's wallet. See the below images on how I saved the file.

image.png

Screenshot showing how perform a real transaction with multi-sig wallet - step 7

image.png

Screenshot showing how perform a real transaction with multi-sig wallet - step 8

image.png

Screenshot showing how perform a real transaction with multi-sig wallet - step 9

image.png

Screenshot showing how perform a real transaction with multi-sig wallet - step 10

image.png

Screenshot showing how perform a real transaction with multi-sig wallet - step 11

image.png

Screenshot showing how perform a real transaction with multi-sig wallet - step 12

image.png

Screenshot showing how perform a real transaction with multi-sig wallet - step 13

image.png

Screenshot showing how perform a real transaction with multi-sig wallet - step 14

The above images - steps 7, 8, 9, 10, 11, 12, 13, and 14 show how I exported the unfinished transfer to my device, and how I also uploaded it to the second consigner's wallet. You can refer back to images for a better understanding. Now, from the below image I had to continue the transaction.

image.png

Screenshot showing how perform a real transaction with multi-sig wallet - step 15

From the above image, you can see the transaction that was initiated in the 1st cosigner's wallet, it is still showing spatially signed which is why the 2nd cosigner is here. To proceed, I click on the sign button and the request below.

image.png

Screenshot showing how perform a real transaction with multi-sig wallet - step 16

Here, the wallet is requesting the 2nd cosigner's password, you can see from the image how I supplied the password and clicked on ok. When clicked, I was taken to the next step below.

image.png

Screenshot showing how perform a real transaction with multi-sig wallet - step 17

Now, from the above image, you can see that after supplying the password as wallet requested in the previous page, the transaction changed from partially signed to signed, which means it has now been signed officially by the second cosigner but has not been broadcasted.

Now, the next step is to follow the red down arrow pointing to the broadcast button, I clicked on it, and a prompt message appeared which means the transaction has been finalized. See the image below.

image.png

Screenshot showing how perform a real transaction with multi-sig wallet - transaction successful from both wallets

The above image shows the history of the transaction from two cosigners' wallets. In other to verify if the transaction was successful. I visited https://www.blockchain.com/explorer. There I copied and pasted the transaction ID and below is the information gotten from the blockchain.

image.png

Screenshot transaction information from blockchain.com

Now, from the above image, you will all the necessary information that entails the success of the transaction. Seen on the above image are the sender's and receivers' addresses, the amount of asset transferred, the transaction has, and so on...

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

image.png

We have seen from this context that both receiving address, & change address are not the same. Let's see how they are different below.

Receiving Address:
As the name implies, it is used to receive funds in the multi-sig wallet. Just like a standard wallet has receiving address that is how is in a multi-sig wallet. The core difference from a change wallet is the color, and they are usually the same in the 3 cosigns wallet. See the image below.

image.png

Screenshot showing the difference in color of the both address, and their function

From the image, you will see the that receiving address has a green color while the change address has a yellow color, and the change address has received the change of my transacted mBTC which is 0.11

Change Address:
These addresses are those addresses that are generated internally. Here the change address holds the unspent transaction output of a transaction. Let's take a scenario where John wants to has 2 BTC and wants to transfer 1.8 BTC.

Now, Electrum will transfer all the 2 BTC that is present in John's account, out of the 2 BTC the Electrum wallet will transfer 1.8 BTC to the wallet he intended sending the BTC to, then the remaining 0.2 will be transferred to an internal account which is the change address, this is because BTC does not permit using unspent transaction output partially.

Take from the transaction I did, I transferred a total of 0.25268mBTC, now you can see the functionality of the change wallet, it has stored 0.11mBTC in the wallet. This is to confirm that they are addresses internally created by Electrum wallet to store unspent assets which will be used when initiating another transaction.

Conclusion

image.png

In conclusion, I want to appreciate the professor for taking us on a deep view of multi-sig wallets, and I have come to understand the usefulness of multi-sig wallets in the crypto space. It is also obvious that multi-sig wallets are not for crypto babies, it is for advanced users.

As we have learned from the topic, Electrum is best among the multi-sig wallets because of its low gas fee, I have also observed that the mobile version of this wallet is really different from the desktop version. On the aspect of 'm of n' combination the number of cosigners is 15 on the desktop version while 5 on the mobile version. It was a very interesting class, thank you prof, and thanks again for reading through to the end.

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...