# Understanding Accounts

## Decentralization: The Core Attribute of Blockchain

The main attribute of a **blockchain is that it is decentralized**. Currently there are blockchain-based implementations that are centralized, but whether such implementations should be called blockchain or not is a complicated matter. In its original idea, there should not be a central body and anyone can participate in the network. Thus, there is no certification authority responsible for creating accounts on the blockchain. Users must create their own accounts.

This can be done through a cryptographic primitive called asymmetric cryptography, or **public key cryptography**. Developed in the mid-1970s, it allows not only to securely encrypt messages over an insecure channel, but also to digitally sign messages. Let us briefly explain how public-key cryptography works.

## The Two Keys: Public and Private

Instead of having only one key, as in traditional cryptography, asymmetric cryptography uses 2 keys, one private and one public. The public key is freely distributed and everyone should have access to it. It’s like someone’s personal identifier. The private key, on the other hand, must not be shown to anyone, and known only by its owner.

When someone wants to guarantee that a certain message is being sent by him, he uses his private key to sign the message, and sends the signature along with the message. Note that at no time is the private key sent or displayed. Whoever receives the message with the signature can use the sender’s public key to verify that it was really him who signed the message.

## Generating Key Pairs: Creating Your Own Accounts

But how can we create this keypair? Do I need to ask someone? Not really. The algorithms of such asymmetric cryptography schemes are public and well known, so that anyone can create an implementation in a programming language. In the blockchain environment, software called wallets use such algorithms to create and manage key pairs. Technically, someone versed in math could create a pair of keys with just pen and paper, but we’re better off letting the computer do it for us.

Currently, the most widely used asymmetric cryptography method is based on elliptic curve cryptography, and the digital signature is known as Elliptic Curve Digital Signature Algorithm (ECDSA). Based on powerful and elegant mathematics, the idea is to find functions that are one-way: from the private key the public key is derived, but it is impossible to discover the private key having only the public key.

In elliptic curve cryptography, creating a private key is as simple as picking a random number between 1 and 2 to the power of 256, which is a pretty big number. Again, we could pick this number ourselves, but humans are terrible at picking really random numbers. It’s better to let a computer do it for us. From that random number, which is the private key, just do some mathematical operations to calculate the public key. Fortunately, having only the public key, it would take a few quintillion years to compute the private key. As long as you don’t expect to live that long and you don’t tell anyone your private key, your security is guaranteed.

## Blockchain Accounts and Addresses: Pseudo-Anonymity

And after creating this pair of keys, is it necessary to communicate it to someone? **How does the blockchain know that I created such an account?** The answer is that it doesn’t know, nor does it need to know. You have a driver’s license, right? Or at least you can take one if you want. But the car rental company in your neighborhood doesn’t know this, nor does it need to know. It will only need to know this when you go to rent a car. The same goes for the blockchain. The moment someone sends you tokens, or you interact with the blockchain, it becomes aware of your existence.

In general, blockchains don’t know you by your public key, but by a number **derived from your public key**. The reason is that the public key is a really big number, 64 digits in hexadecimal. To overcome this, an address is generated from the public key. This address is usually less, with an average length of 20 digits and letters. It is also common for blockchain protocols to establish some kind of checksum of the address, to ensure that it was entered correctly. Thus, for security and better readability, addresses derived from the public key are used, rather than the public key itself.

Note that these blockchain accounts are pseudo-anonymous. Since there is no need for any personal identification of its owner, it is not possible to directly link an address to a person or company. However, all transactions carried out with such an account are public on the blockchain, so it is possible to track its movement and try to find out who is moving it. Thus, blockchain privacy is only partial. There are some blockchains that use encryption techniques to guarantee the privacy of transactions, but this does not occur in the most used blockchains, such as Ethereum, Solana, Neo, among others.

Are you ready to create your first blockchain account? All you need to do is search for a wallet on the blockchain of your choice. It will choose a private key for you. And remember: never reveal your private key to anyone. Anyone who knows your private key will be able to sign your messages and transfer your assets. This is the most important lesson about blockchain accounts.