Wallpaper Abyss© Source

I will start off by taking a look at one of the most fundamental ideas in Bitcoin: identity.

You saw here that banks need to keep track of the accounts and identities of their customers. 

But how do you do this in Bitcoin, without a bank or central entity to keep track of who’s who and who owns what?

Identity in Bitcoin

To understand why you  need identity in Bitcoin in the first place, let’s understand first why you  need identity at all in the context of currencies. In currencies, you  need to ensure that all users can authenticate themselves through some identification method, and that all identification methods have integrity.

Authentication is required to ensure that no one else acts on your behalf. Claiming, receiving, and spending money on your behalf are things that only you should be able to do.

Like a bank, by associating yourself with your funds through authentication, you are able to receive money from others and spend your own money. Only you have access to your own money, since others are not authenticated to handle your money. Without an authentication process, anyone could spend my money, which is obviously undesirable.

Additionally, authentication can also be used to enforce blaming. If someone tries to do something incorrect within the network, such as spend someone else’s funds, you want to be able to call them out with proof. 

For example, if someone tries to withdraw your funds from a bank, you would want a record of this, including the identity of who was trying to take your funds, to get rid of malicious activity in the future by banning or refusing to interact with those people.

Integrity, the other half of identity, means that all our authentication methods cannot be replicated by anyone else. You can understand integrity by the process of signing a check: once you sign a check or transaction, no one should be able to intercept and/or manipulate it. The check has been signed by you, and since no one can replicate your signature, it should be tamper evident. 

Integrity ensures that no one but you, the signer, can use your signature.

Imagine the following scenario in Bitcoin: If I wanted to send Alice [Random Name] 10 bitcoins, she shouldn’t be able to add another zero and make me send her 100 bitcoins. She also shouldn’t be able to copy or replicate my signature elsewhere. Only by preventing all these things can you trust the integrity of Bitcoin identities.

Identity is a simple concept appearing everywhere in daily life. For example, houses have both addresses and mailbox keys. When you ask people to send you mail, you give away your address, so they know where to send the package to. Meanwhile, you alone control the mailbox key.

Similarly, emails have aliases and passwords. People who want to send you email have access to your email address or alias, while you alone have access to the password to your email account, so only you can read these emails.

Bitcoin, following this pattern, has both public keys and private keys. They are what you give out to the public so that they know how to communicate with you, so that they know how to recognise and identify you. It gives you control and ownership. It gives you your identity.

If anyone else gets their hands on your email password, for example, they can pretend to be you, receiving and sending emails on your behalf. Similarly, you would never want anyone else to have your Bitcoin private key as that would give control of your Bitcoin public key and, by implication, your Bitcoin identity.

[Public and private keys] In Bitcoin, you can think of your public and private key as a chest and key, respectively. You use your private key to prove you have ownership of your public key and to access the funds associated with that public key, just as you can use a physical key to unlock a chest that contains your physical money.

To reiterate, public keys are used for receiving, and private keys are used for redeeming. Received money is associated with the public key, and you can access or spend those funds with your private key.
You are safe letting people know about your chest of bitcoins -- your public key -- so long as you don’t give them the key to get inside -- your private key.

A small note: in actuality, other users send transactions to your address, not your public key, as your Bitcoin public key is not identical to your Bitcoin address. Your address is actually derived from your public key.

I will make the distinction clear when I go more in depth into Bitcoin mechanics [SOON], but you can for now think of addresses, pseudonyms, and public keys as synonyms.

The reason why you need this public-private key pair scheme in Bitcoin is because there is no central authority to generate unique identities for users. This means that users have to generate their own identities.

To generate an identity, a user picks a private key at random generates the public key from the private key through a mathematical function. You may be concerned about the danger of two users ending up with the same public key without a central registry ensuring that no two people have the same public key.

A bank, for example, has an internal list of users with unique identifiers and can easily assign a new, unique identity to any new user.

How do you simulate a bank’s identification process in Bitcoin?
How do you trust that no two users end up with the same identity?

To illustrate the probability of two users choosing the same identity as someone else in Bitcoin, let’s consider something we are all familiar with: the Earth.

[Earth and sand] Bitcoin has two to the one sixty different possible addresses. To get a sense of how many different addresses exist for users to choose out of, let us compare the number of addresses in Bitcoin to the number of grains of sand on Earth.

The Earth has two to the sixty three grains of sand. Imagine every person in the world choosing a grain of sand at random. The likelihood of two people picking the same grain of sand is less than 0.0001%. In comparison, the number of addresses in Bitcoin is many, many magnitudes greater than the number of grains on sand on Earth, making the probability even smaller.

Let’s consider something more drastic: imagine that for every grain of sand on Earth, there exists another Earth, also with two to the sixty three grains of sand. Now you have two to the sixty three earths times two to the sixty three grains of sand per earth, meaning that there are in total two to the one twenty six grains of sand. Even the number of grains of sand upon all these Earths is only 0.0000000058% (8 zeroes) of all the possible Bitcoin addresses.


Questions: Users randomly generate a public key, then mathematically generate a private key from it.

True or False? Feel free to answer in the comment section.