Ethereum is the second-largest cryptocurrency by market capitalization and currently the most widely used blockchain in the world. It is an open-source, Turing complete, community-driven, distributed computing supporting blockchain project which is capable of storing and executing smart contracts. The mining algorithm governing the Ethereum network is called Ethhash and the hash function operative is called Keccak.
Ethereum addresses are unique, 42 hex string characters, not case-sensitive and are generated from the private key. They represent an account on the Ethereum blockchain. They are generated using the public key and private key of an account and through cryptographic hashes. Unlike private key and derived public key, an account address is derived and not generated. An Ethereum address starts with 0x.
Ethereum Address Generation Basics:
Ethereum addresses are acquired by applying the Keccak-256 hash function to the public key, which is derived by applying ECDSA (Elliptic Curve Digital Signature Algorithm) to the randomly generated private key.
Ethereum Address Generation Process:
To generate an Ethereum address, we must process the public key derived from the private key (128 characters) by applying the Keccak-256 hash to it. This results in a string that is 64 characters. Then, we take the last 40 characters of this public key (Keccak-256). Or, in other words, drop the first 24 characters. These 40 characters are the address to an Ethereum account. When prefixed with 0x it becomes 42 characters long, which is the commonly known Ethereum address known to the public.
Explanation of Commonly Used Terms
It is another name and variant of Secure Hash Algorithm Version 3 (SHA-3)، the principle cryptographic algorithm used by the Ethereum network.
Ethereum Private Key
The private key is used to prove ownership of the account, it isn’t shared with anyone but kept secure. If the private key is compromised, the account access is effectively lost and funds can be transferred or converted by the person who has it.
Ethereum Public Key
The public key can be shared with anyone without compromising security. It is used to derive final Ethereum address. There is no other practical use of the public key, hence its mention isn’t found in documentation or usually displayed by Ethereum clients.
An Ethereum address simply denotes a distinct unique account on the network. It is used as an identifier of the account which is sending or receiving the funds.