If you been watching, investing, or developing in the blockchain space, wallet and key pairs are probably very familiar to you.
I will use Ethereum as an example. A wallet is where you store your ethers. You can have multiple wallets and each one of them has a pair of keys. However, there isn’t really a concept called account. When people say “my Ethereum account”, what they really mean is actually their Ethereum wallet.
In EOS, there are solid concepts for wallet, account and key pairs and they are slightly different with other blockchains.
Key pairs are the simplest ones. They are a pair of keys including one public key and one private key. As usual, the private key is for encryption, and the public key is for verification. Both keys are mathematically related, one can compute his public key using the private key.
After generating a pair of keys, for now, they are nothing but two strings that are mathematically related. We will come back to this in a bit.
Now let’s talk about wallets. First of all, EOS wallets DO NOT STORE YOUR EOS TOKENS. On EOS blockchain, the wallet only stores key pairs. To be precise, EOS wallets only store private keys (Remember public key and private key are mathematically related, so as long as the private keys are stored, the public key can be computed). Each wallet is locked by a master password that is set by the user upon creating the wallet. When a user has many key pairs, using a wallet greatly reduce the risk of losing keys.
If you noticed, all we have done so far is storing a pair of useless strings(keys) into a wallet. But don’t forget, we haven’t talked about the account yet.
An account is where all the magic is happening.
Once an account is created, 2 permissions came with it: Owner and Active. For each permission, you need to assign a pair of keys to it. Now your keys are doing something.
The person that has access to the owner key pairs controls the account. This key pair is usually in a cold storage in case of the active private key is lost. The owner key has the authority to recover the active permission.
Active authority is used for transferring funds, voting for producers and making other high-level account changes.
In addition, account permission can be customized. More permission can be added to the account if a multi-signature is required. The design of the EOS blockchain made it very effective to incorporate multi-signature functions.
Our next post will be discussing how does the weight of each key and threshold of each permission change the amount of the signature required to execute functions. Stay tuned.
If you are an advanced blockchain user, feel free to use any of those tools that you are comfortable with.