Whaleshares Logo

Seed, Public and Private Keys - in laymen's terms

ijmmaiwitnessPosted to Public5 months ago4 min read


Five Keys

NameAccess ToStarts WithFunctions
SeedWalletPThe only key to view your keys
Owner Key-5Key to generate new keys
Wallet Key
(fka Active Key)
Wallet5All wallet functions except
generating/viewing keys
Social Key
(fka Posting Key)
Social App5Post, Comment, Reward, Claim,
Follow, Friend, and so on
Memo Key-5To en/decrypt memos

Private Keys

The above mentioned keys are your PRIVATE keys, these PRIVATE keys should be stored in a safe place, preferably in multiple places. Storing your PRIVATE keys in your browser is not "storing them in a safe place". Never share your PRIVATE keys with anyone.

To perform daily tasks on Whaleshares you just need your PRIVATE "social" and PRIVATE "wallet" key. All other PRIVATE keys are only used in special occasions.

An even safer and easier way to handle logging in to several platforms is to use WhaleVault. @alexpmorris developed it, you can read more about it in his post.

Public Keys

When you look at your account details on the Whaleshares Explorer (or bhive.live or whaleshares.nl) you will notice there are keys showing up. These keys are all starting with "WLS", these are your PUBLIC keys. These PUBLIC keys can not be used to login to your account or wallet, they only serve an authenticity purpose. These PUBLIC keys can be shared with everyone.

What are Public Keys for

PUBLIC and PRIVATE keys come in pairs. Your PUBLIC social key, is associated with your PRIVATE social key. Your PRIVATE key can sign and decrypt a message, your PUBLIC key can only encrypt a message.

Encrypt means: - convert information (or data) into a code
Decrypt means: - convert code into information (or data)

Scenario 1

Joe wants to send Pete a message that can only be read by Pete. Joe writes the message and encrypts it with Pete's PUBLIC social key. The result of that encrypt action will be a long string of seemingly random characters. Joe has no way of turning this string back into the original message, but Pete has. Using his PRIVATE social key to decrypt the string, will convert the code into the original message. Since no one else has Pete's PRIVATE social key, no one else can convert the code back into the original message, but Pete.

Scenario 2

You post a message on the Whaleshares platform. Before adding that information to the blockchain the system wants to check if this message was really posted from your account. With every message you post a signature is generated. This signature is generated using your PRIVATE social key. It could look like this:
To check the authenticity of the post, the system will use your PUBLIC social key to check whether or not it results in the same signature.

Scenario 3

Someone who wants to send a message that can be read only by the recipient, and also wants to authenticate who the sender is, would encrypt the message with the PUBLIC key of the recipient, and sign the message with their own PRIVATE key.

Little different but same result

In a slightly different way (hashed instead of encrypted), this principle is also used on websites that are serious about security. You pick a password, they perform some calculations on it and store the outcome of those calculations in their database. They do not store your password.

Next time you log in, they perform the same calculations on what you then enter as password and see if it matches with the outcome they have stored in their database.

Since they didn't store your password, they can't retrieve it for you either. Once lost, you can only reset you password for that website. Websites that can send you your password, are very unsafe.


Image Source

Use your witness votes wisely

Jump over to the Block Producer / Witness page and cast your witness votes. Simply click on the (^) up arrow next to the witness names of your choice (consider voting for "krazywitness" and "ijmmaiwitness") and supply your private active key to lock in your vote. Refresh the page in case your vote doesn't seem to stick.


Sort byOldest