A private key is an encrypted alphanumeric code that permits access to your bitcoin or cryptocurrency holdings. It is the only true way of proving that you are the owner.
“Your keys, your bitcoin, not your keys, not your bitcoin” -Andreas Antonopoulos
What is a private key used for?
A private key only serves purpose for proving that you are the holder of a particular cryptocurrency address. When you have control of a private key you possess the power to make a transaction and spend the holdings attached to that address. A private key is something that you should never share with a person or entity; the clue in the fact it is called a private key.
What does a private key look like?
In Bitcoin and many other cryptocurrencies, a private key is a 256-bit number, however, this is not the format that it is displayed in. The 256-bit number is represented in hexadecimal- a simpler form.
An example of a private key is: E9873D79C6D87DC0FB6A5778633389F4453213303DA61F20BD67FC233AA33262
*Under no circumstances should you use this private key*
In the early days of Bitcoin you would have one private key that was associated with one public key and one address. This was not practical nor was it easy to stay safe. There have been many BIP’s (Bitcoin improvement protocols) since then to improve the user experience. Nowadays, wallets create their own root seed which is expressed in another alphanumeric manner.
From this root seed, unlimited private keys can be derived. This is too complex for it to be a good user experience and therefore there have been multiple improvements since the early days. A root seed is an excessively long number so we use a system that is inherently better. We use mnemonic code to help memorise or record our root seed.
What is mnemonic code?
Mnemonic code is a system of patterns or words to aid the memory in remembering something more complex. An example of a mnemonic code might be the phrase “May I have a large container of coffee beans”. This sentence represents Pi, with each word’s letter count corresponding to each decimal place- 3.14159265. The mnemonic code derived from our root seed is a little more complex, but the idea is the same.
A private key in root form is obviously difficult to remember. Most wallets create a 24 word seed code, representing your root seed in a much simpler format. The words are common English words such as mountain or bicycle.
When you set up your wallet for the first time you will be exposed to these words and you must record them carefully. Writing them down and splitting the paper into two parts to store separately is a good measure. As long as you can access both pieces of paper if you lose access to your wallet, your keys are safe.
How does a private key work?
A private key is simply your way of saying “This address is mine, and I have access to it” Coins are stored on the blockchain and not within your private key. Keys are stored in wallets and therefore, coins are NOT stored in a cryptocurrency wallet; a common misconception.
You do not necessarily need a wallet to store your keys. It is however foolhardy to not take adequate security measures, and for the majority of users storing private keys in a reliable wallet is recommended.
In order to make a transaction with a cryptocurrency you need to prove that you are the holder of the address. This is proved by being the holder of the private key. At first it might seem logical that you broadcast your private key in some way, but this is not the case. Your private key is never broadcasted.
Making your private key somehow public is defeating the purpose of privacy and encryption. You transmit a signature produced by your private key using a special equation, luckily this is done automatically. It is very easy to cross-check and ensures you can sign as frequently as you wish.
With every private key a public key is generated with it. A public key is completely safe* to broadcast, and you need to do so in order to receive funds from another sender. It is possible to derive a public key with a private key at ease, but reversing this function is virtually impossible.
It would require an unfathomable amount of computing power. To express this process in simple terms, it is easy to calculate what 6983x3793 is. However, if I were to ask for the sum of two prime numbers that make 26,486,519, then it’s not possible. In a similar fashion, trying to calculate a private key with just the public key isn’t possible either.
*A public root key however, should not be shared
How is a private key generated?
Keeping things straightforward, a private key is generated by a random number generator. You can even do it by yourself! A private key is a 256-bit number. This means that it is represented in binary in 256 numbers of 0 or 1. In total, this means there are a total of (almost) 2^256 combinations of private keys.
This number can also be expressed as 10^77 for simplicity. For rounding purposes these numbers are almost the same. Once again, it is fortunate that most wallets can generate you a list of private keys at the push of a button.
Is it possible for duplicate private keys to be generated?
Given that private keys are assigned randomly, it is in fact true that two wallets could both come up with the same private key. As stated above the amount of private key combinations is represented by the number 10^77. This is 10 followed by 77 zeroes! In comparison, there’s roughly 10^18 grains of sand on planet earth.
It is an unfathomable number so you’ll have to just take our word for it- it is almost impossible. But what about the threat of Quantum computing?
Quantum computing threat
It is predicted that in the not too distant future, encryption as we know it will be crackable. However, babies born today will likely reach adulthood before Quantum computers become powerful enough to crack a private key. Luckily, 18 years is a really long time in technology and there are already solutions to said problems.
A simple and optional soft fork of the bitcoin network with improved encryption will likely be how we proceed from there. We’ll leave that to the guys in the white lab coats.
Securing your private keys/root seed
In case this article doesn’t say it enough- you need to keep your private keys or root seed to yourself. Most people will only ever see their private keys in form of a root seed or the 24 words described above. Keep them to yourself!
Forms of security come in many forms and your level of expertise will determine what measures you take. For the most part, modern hardware wallets are the way to go for maximum security. One option for securing your private seed could be to use CRYPTOTAG.
This non-electronic device is an improvement on the pen and paper method. It is a titanium sheet where you hammer your seed using a stamp into it. The device is fireproof up to temperatures of 1665C and is resistant to erosion and corrosion.