How does Steemit Password gets changed to WIF

in #steemit7 years ago (edited)

Steemit WIF.png

Everytime you use Steemit you enter your password to access your account, but your password is just there to help you to use only one password to generate the rest of your private keys than to let you store your 4 private keys.

Steemit uses the same code that bitcoin uses to generate the private keys. As bitcoin has a very strong security, you can find the same security in steemit.
When you type your username and your password they are then changed to your WIF. Each user has 4 different keys.

Posting Key: The posting key is used for posting and voting
Active Key:The active key is used to make transfers and place orders in the internal market.
Owner Key: The owner key is the master key for the account and is required to change the other keys.
Memo Key: The memo key is used to create and read memos.

In bitcoin a string is used to generate the WIF where the input string is called the seed. In Steemit your username password and the key type are all combined together to form the seed.
The seed is created in one way which is seed = name+role+password
If your username is guest123 and your password is P5JX8AXd7nr4WSvaT8tREkqRAWLW79bc5v9McD2mtahiPa1yi8hD
Your seeds would be as followed.
guest123active5JX8AXd7nr4WSvaT8tREkqRAWLW79bc5v9McD2mtahiPa1yi8hD
guest123posting5JX8AXd7nr4WSvaT8tREkqRAWLW79bc5v9McD2mtahiPa1yi8hD
guest123owner5JX8AXd7nr4WSvaT8tREkqRAWLW79bc5v9McD2mtahiPa1yi8hD
guest123memo5JX8AXd7nr4WSvaT8tREkqRAWLW79bc5v9McD2mtahiPa1yi8hD

All those seeds are hashed using sha256 to create the hex.

When we hash "guest123owner5JX8AXd7nr4WSvaT8tREkqRAWLW79bc5v9McD2mtahiPa1yi8hD" we get 373cc96d8a6e58b8dbf23a5b157cdc1080f06bcdeb2d6ab827147873447cfeab

Then we add 0x80 byte infront of it and we get 80373CC96D8A6E58B8DBF23A5B157CDC1080F06BCDEB2D6AB827147873447CFEAB
we hash it once more and we get B1572F6A8A22C930D90C3D47F3DA8428B16601D88D5D04FA448458D61BC6622D and we hash it once more to get "46C5996DE7F4FCE89A89C58ED84D6A595C6F246347FAD1DC1B02A434B93111DA"

we take the first 4 byte of it which is 46C5996D which is the checksum
we add the checksum to the end of the hash that we got from "guest123owner5JX8AXd7nr4WSvaT8tREkqRAWLW79bc5v9McD2mtahiPa1yi8hD" which was "373cc96d8a6e58b8dbf23a5b157cdc1080f06bcdeb2d6ab827147873447cfeab" with the 0x80 byte and we get "80373CC96D8A6E58B8DBF23A5B157CDC1080F06BCDEB2D6AB827147873447CFEAB46C5996D"

once we get the last hash after adding the checksum we encode it using Base58 and we get the private key which is "5JEcYjiDs9jcWj92wyq11jZvubq5hRCAsYaQ9czbSdC5YGtnTic"

Sort:  

Great. Thanks for sharing. I vote for you and begin to follow you. And Resteemed...

Interesting. I'd wondered what the WIF was.

WIF is Wallet Import Format which is the private key that can be used according to their roles. In bitcoin each address has only one private key which is used to access the bitcoin address and send funds to another account

thanks for the knowledge of the day

Congratulations @davidk! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of upvotes

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!

I am new here sorry, does that mean I can not participate here with my ipad? ...my browser wants a full password when I go to steemit.com ...but this random token is too much for me to remember. And the ipad does not cookie the password. I can´t find a app in the appstore that remember the login for me. ...so how does it work to be mobile with you here?

On ipad you are best to just login using the private posting key, this will not allow you to transfer funds though, you will need to use the active for that! Never use your master password for logins its unnecessary.

Hi davidk. I'm trying to broadcast a transaction to the steemit blockchain but I'm getting the following error:

unable to reconstruct public key from signature

Should I encrypt my private key in the manner you describe in your post?

How is it possible that when I change my password, I can not use my old password any longer? Does the system re-sign or re-encrypt all my previous message?

to log in, use your 'posting key' as password.

Coin Marketplace

STEEM 0.28
TRX 0.12
JST 0.032
BTC 66439.14
ETH 3005.38
USDT 1.00
SBD 3.68