A bitcoin address is a unique identification that allows you to send and receive cryptocurrencies quickly, safely and easily.
One direction, in the world of cryptocurrencies, , is the place to which a certain amount of cryptocurrencies is associated. Every person or user who wants to send or receive cryptocurrencies will always need an address.
Click here to open your user account in Spanish for FREE and securely and receive a €15 gift.
The address works, as in the traditional financial system, to receive or send money transfers. Which is to say, it works like a kind of bank account. In Bitcoin and other cryptocurrencies that is known as "address" o "wallet address" in English. The purpose of the addresses is to allow us to receive and send cryptocurrencies.
In Bitcoin, addresses typically look like this:
1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
At first glance, the address is quite cryptic. Being able to appreciate enormous differences with the usual bank account numbers, which are easy to read and memorize especially, because they only use numbers. However, cryptocurrency addresses use a set of numbers and letters, between lower and upper case. Therefore, we can say that they are alphanumeric addresses, and this has a clear objective: to provide addresses with high security and without creation limits.
In addition to this, we can also see that cryptocurrency addresses are longer. The length varies between 26 and 32 characters. In Bitcoin for example, they start at number 1 to standard addresses (P2PKH), by number 3 for multi-signature addresses (P2SH). Type addresses followed (bech32) begin with bc1. Other cryptocurrencies have their own systems to represent their addresses.
Another common way of representing Bitcoin addresses is by means of a unit’s QR code. QR codes are a graphic representation created by an algorithm hash graphic. That is, it will always provide us with the same graph if we enter the same information. In this way, the address can be shared more easily. Especially in public places, since the code can be scanned using a smartphone camera.
Characteristics of a Bitcoin address
Among the main characteristics of Bitcoin addresses we can mention the following:
- Unlimited. A person can create as many addresses as he wants: tens or millions, without limits. This is thanks to the process in how these addresses are generated within the Bitcoin software.
- They are free. You do not need to ask anyone for permission to create addresses, nor should anyone authorize them.
- Completely free. The directions are totally free. Creating them will not generate any cost nor should you make any payment to the system for them.
- Privacy . Your personal data is never associated with an address. This ensures that no one can associate your addresses with your real identity. Unless you of your own free will indicate that the address is yours, or publish it on some social network or blog.
- It is transparent. If you publicly say that an address belongs to you, everyone will be able to know what balance you have and the transactions you make in real time. This is especially useful for organizations that want to be transparent.
- Security. Sharing your address with anyone does not pose a risk of theft. In that it is also similar to the example of the bank account, you can give your address to whoever you want since the most they can do is deposit cryptocurrencies. However, sharing your address, as we have said, means that anyone can see the balance and activity in real time of that address. And if you have publicly said that it is yours, you could have an unwanted privacy leak.
- simple process. Obtaining Bitcoin addresses is a very simple process. Just download any Bitcoin wallet you want to generate as many addresses as you want.
- They can be created completely offline and without the need to have any connection to the Bitcoin network.
- The original Bitcoin address is case-sensitive, so it is case sensitive. However, the new bech32 format removes this limitation. Therefore, it is important to remember this to avoid sending funds to a different address by mistake.
Other types of Bitcoin address
SegWit addresses
The directions followed They are different from Bitcoin's starting addresses. These addresses generally begin with the number 3 or with the characters "bc1". Those that start with 3 are type addresses P2SH, while those that start with bc1 are for native SegWit. However, it is important to emphasize that every address starting with 3 is not necessarily a SegWit address. This is because that same prefix is used for multiple signature addresses. Instead, addresses beginning with "bc1" are specifically SegWit.
Testnet addresses
A testnet address is quite similar to Bitcoin's initial addresses, except that testnet addresses begin with the prefix "m" or "2". Of the rest, the process of generating the addresses in the testnet network it is identical to the original Bitcoin address generation process.
Multiple signature addresses
One of the great features of Bitcoin is its ability to generate multiple signature wallets. These wallets generate special addresses in which a combination of multiple private keys is required to access the funds they have. Because these addresses use newer functions, multiple signature addresses begin with the prefix 3. This clearly differentiates the old Bitcoin addresses with the rest of the cryptocurrency addresses. These addresses can also be considered the equivalent of issuing a check to two parties and in which the signature of both parties is necessary to access the funds.
The actual requirement (number of private keys required, their corresponding public keys, etc.) that must be met to spend the funds is decided in advance by the person generating this type of address, and once an address is created, the requirement it cannot be changed without generating a new address.
How do you create a Bitcoin address?
The process to create a Bitcoin address begins with the generation of a private key which will provide us with the exclusive use of the funds. From this, a public key, which will allow us to share information with other people without putting ours at risk.
Obtaining the public key through the private key is due to the application of the algorithm ECDSA. A very efficient implementation of elliptic curve cryptography, where the curve is used as a generator point secp256k1 to get the public key.
Then, once this key pair is generated, the process of generating the public addresses of Bitcoin begins.
1.- Select the public key obtained from the previous process. That is, from the application of the algorithm ECDSA a the private key. Which should have an appearance similar to this one:
0250863ad64a87ae8a2fe83c1af1a8403cb53f53e486d8511dad8a04887e5b2352
2.- Apply a hashing to the public key by implementing the algorithm SHA-256. This algorithm allows to generate outputs (outputs) of fixed extension from inputs (inputs) of variable extension, which are irreversible. So they are unidirectional and it is not possible to deduce the private key through the public one.
After applying the hashing function we will obtain a 256-bit stream:
0b7c28c9b7290c98d7438e70b3d3f7c848fbd7d1dc194ff83f4f7cc9b1378e98
3.- Hashear again the previously obtained output, applying in this case the algorithm RIPE MD-160. with which we will obtain a 160-bit stream:
f54a5851e9372b87810a8e60cdd2e7cfd80b6e31
4.- Add the version byte used for Bitcoin's core network (0x00) in front of the output obtained from the RIPEMD-160 hashing algorithm application. With this we will obtain a Bitcoin address in hexadecimal format, which will look like this:
00f54a5851e9372b87810a8e60cdd2e7cfd80b6e31
And by adding this byte we can also identify and distinguish Bitcoin addresses from other cryptocurrencies that also use the protocol.
5.- Perform the hash with the SHA-256 algorithm to the result obtained from RIPEMD-160. This step is necessary as a verification mechanism to verify that the Bitcoin address is spelled correctly.
ad3c854da227c7e99c4abfad4ea41d71311160df2e415e713318c70d67c6b41c
6.- Apply the hash with the SHA-256 algorithm to the result of the previous hash. This step concatenates the address obtained. As already mentioned, the SHA-256 algorithm is applied twice as a verification mechanism.
c7f18fe8fcbed6396741e58ad259b5cb16b7fd7f041904147ba1dcffabf747fd
7.- Choose the first 4 bytes of the last SHA-256 hash, which represent the Bitcoin address checksum. In this example they would be:
c7f18fe8
8.- Add the 4 bytes of the checksum of the previous point, to the extended hash RIPEMD-160 of point 4. This is a 25 byte Bitcoin binary address:
00f54a5851e9372b87810a8e60cdd2e7cfd80b6e31c7f18fe8
9.- Convert the result of the byte string using Base58Check encoding, used to encode Bitcoin addresses. So the byte string will be transformed into a string base58.
1PMycacnJaSqwwJqjawXBErnLsZ7RkXUAs
This is the most widely used format for Bitcoin addresses. So the encoding Base58Check converts the byte string to a set of numbers and uppercase and lowercase letters, in order to make them easier to distinguish. Although as a whole they are still illegible characters and that at first glance are not cryptic.
So you can create a bitcoin address so that we can use it as we wish. All this process is also carried out with the Vanity Address, only in this last case we perform a generation by brute force in order to search for a personalized address.
You can learn more about these types of addresses from our article about Vanity Addres.