Market Cap: $3.2749T -0.800%
Volume(24h): $82.3686B -49.760%
Fear & Greed Index:

52 - Neutral

  • Market Cap: $3.2749T -0.800%
  • Volume(24h): $82.3686B -49.760%
  • Fear & Greed Index:
  • Market Cap: $3.2749T -0.800%
Cryptos
Topics
Cryptospedia
News
CryptosTopics
Videos
Top Cryptospedia

Select Language

Select Language

Select Currency

Cryptos
Topics
Cryptospedia
News
CryptosTopics
Videos

How is an Ethereum wallet address generated from a public key?

An Ethereum wallet address is derived from the public key through Keccak-256 hashing, using the last 20 bytes to form a unique identifier.

Jun 14, 2025 at 11:14 am

Understanding the Relationship Between Ethereum Wallet Addresses and Public Keys

In the world of Ethereum, a wallet address is not directly the public key itself but rather a derived version of it. The public key is generated from a private key using elliptic curve cryptography (specifically, the secp256k1 curve). Once this public key is created, it undergoes further hashing to generate the final wallet address.

The process begins with a randomly generated private key, which is a 256-bit number. From this, the public key is derived using the secp256k1 algorithm. This public key is typically represented as a 64-byte array (or 128 hexadecimal characters) when compressed. It's crucial to understand that while the public key can be shared openly, it must never be altered or exposed in insecure environments.

Hashing the Public Key Using Keccak-256

Once the public key is generated, the next step involves applying a cryptographic hash function. Ethereum uses the Keccak-256 hashing algorithm for this purpose. Unlike SHA-256 used by Bitcoin, Keccak-256 was chosen due to its flexibility and performance characteristics.

  • Take the full public key (including the prefix byte if present).
  • Apply the Keccak-256 hash function to produce a 32-byte (256-bit) output.
  • The resulting hash will be a unique sequence of bytes representing the input public key.

This hashed value serves as the intermediate stage before extracting the actual Ethereum wallet address.

Extracting the Final Ethereum Address

After obtaining the Keccak-256 hash of the public key, only a portion of it is used to form the final Ethereum wallet address. Specifically, the last 20 bytes (160 bits) of the hash are selected for this purpose.

  • Take the 32-byte output from the Keccak-256 hash.
  • Discard the first 12 bytes.
  • Retain the remaining 20 bytes as the Ethereum address.

These 20 bytes are then encoded into a hexadecimal string without the "0x" prefix initially. When displayed in wallets or explorers, the address is usually prefixed with "0x" to indicate it's an Ethereum-compatible hexadecimal format.

Applying Checksum Encoding for Security

To enhance security and reduce the risk of typos, Ethereum introduced EIP-55, which enables mixed-case checksum encoding for addresses. This feature allows users to detect errors when entering Ethereum addresses manually.

  • Convert the Ethereum address (without the "0x") into its lowercase form.
  • Compute the Keccak-256 hash of this lowercase string.
  • For each character in the original address:
    • If the corresponding nibble in the hash is greater than or equal to 8, capitalize the character.
    • Otherwise, leave it lowercase.

This results in an Ethereum wallet address that appears like 0xAbCdef1234567890aBcDef1234567890aBcDef12, where capitalization serves as a visual checksum.

Verifying the Correctness of the Generated Address

Before using any Ethereum wallet address, it's essential to verify its correctness through tools or libraries designed for this purpose. Many developers use libraries such as ethers.js or web3.js to ensure their implementation aligns with Ethereum standards.

  • Use a trusted library to regenerate the address from the same public key.
  • Compare the output with the manually computed one.
  • Ensure that both checksum-encoded and lowercase versions match expected values.

Additionally, test transactions with small amounts should be performed before deploying on mainnet to confirm that the address behaves as intended.

Frequently Asked Questions

Q: Can two different public keys result in the same Ethereum address?

While theoretically possible due to the finite size of the Ethereum address space (2^160), the probability is astronomically low. However, collisions are not considered a practical threat due to the vast number of possible combinations.

Q: Is it safe to share my Ethereum wallet address publicly?

Yes, sharing your Ethereum wallet address is safe since it does not expose your private key or public key directly. However, avoid sharing transaction details or metadata that could compromise privacy.

Q: Why does Ethereum use only 20 bytes from the Keccak-256 hash instead of the full 32 bytes?

Using 20 bytes strikes a balance between security and gas efficiency. A shorter address reduces storage and computation costs on the blockchain while maintaining sufficient entropy to prevent collisions.

Q: What happens if I send ETH to a malformed Ethereum address?

Sending funds to a non-existent or malformed Ethereum address may result in permanent loss of assets. Always validate addresses using checksum encoding or verification tools before initiating transfers.

Disclaimer:info@kdj.com

The information provided is not trading advice. kdj.com does not assume any responsibility for any investments made based on the information provided in this article. Cryptocurrencies are highly volatile and it is highly recommended that you invest with caution after thorough research!

If you believe that the content used on this website infringes your copyright, please contact us immediately (info@kdj.com) and we will delete it promptly.

Related knowledge

How do I deposit BNB into my Trust Wallet?

How do I deposit BNB into my Trust Wallet?

Jun 15,2025 at 03:56pm

Understanding BNB and Trust Wallet CompatibilityBefore initiating a deposit, it’s crucial to understand what BNB is and how it interacts with Trust Wallet. BNB (Binance Coin) is a utility token created by the Binance exchange. It can be used for paying transaction fees, participating in token sales, and more. Trust Wallet, on the other hand, is a mobile...

How do I send USDT to my Ledger Nano X?

How do I send USDT to my Ledger Nano X?

Jun 15,2025 at 06:28am

What is USDT and Why Use Ledger Nano X?USDT, also known as Tether, is one of the most widely used stablecoins in the cryptocurrency ecosystem. It operates on various blockchain networks such as Ethereum (ERC-20), Tron (TRC-20), and others, offering users a digital asset pegged 1:1 to the US dollar. When it comes to storing USDT securely, hardware wallet...

How do I deposit Bitcoin into my Trezor hardware wallet?

How do I deposit Bitcoin into my Trezor hardware wallet?

Jun 14,2025 at 12:29pm

What is a Trezor Hardware Wallet?A Trezor hardware wallet is a secure device designed to store cryptocurrencies offline, protecting them from online threats. Unlike software wallets, which are vulnerable to hacking and malware, Trezor stores private keys on the physical device itself. This ensures that transactions can only be approved by physically int...

How is the Gas fee of a wallet address calculated?

How is the Gas fee of a wallet address calculated?

Jun 14,2025 at 07:57pm

Understanding the Basics of Gas Fees in Blockchain TransactionsIn the cryptocurrency ecosystem, particularly within Ethereum-based networks, a Gas fee is an essential component of executing transactions or smart contract operations. The Gas fee serves as compensation for miners or validators who process and confirm transactions on the blockchain. It is ...

How to merge the balances of multiple wallet addresses?

How to merge the balances of multiple wallet addresses?

Jun 13,2025 at 06:21pm

Understanding the Concept of Merging Wallet BalancesMerging the balances of multiple wallet addresses involves consolidating funds from different cryptocurrency wallets into a single address or account. This process is commonly undertaken by users who manage several wallets for security, diversification, or organizational purposes. Merging balances can ...

How to set a whitelist for wallet addresses?

How to set a whitelist for wallet addresses?

Jun 15,2025 at 03:14am

Understanding the Concept of a Whitelist in BlockchainIn the realm of blockchain technology, a whitelist refers to a predefined list of approved entities—in this case, wallet addresses—that are granted access or permissions within a system. This mechanism is commonly used during token sales (ICOs/IDO), NFT minting events, and smart contract interactions...

How do I deposit BNB into my Trust Wallet?

How do I deposit BNB into my Trust Wallet?

Jun 15,2025 at 03:56pm

Understanding BNB and Trust Wallet CompatibilityBefore initiating a deposit, it’s crucial to understand what BNB is and how it interacts with Trust Wallet. BNB (Binance Coin) is a utility token created by the Binance exchange. It can be used for paying transaction fees, participating in token sales, and more. Trust Wallet, on the other hand, is a mobile...

How do I send USDT to my Ledger Nano X?

How do I send USDT to my Ledger Nano X?

Jun 15,2025 at 06:28am

What is USDT and Why Use Ledger Nano X?USDT, also known as Tether, is one of the most widely used stablecoins in the cryptocurrency ecosystem. It operates on various blockchain networks such as Ethereum (ERC-20), Tron (TRC-20), and others, offering users a digital asset pegged 1:1 to the US dollar. When it comes to storing USDT securely, hardware wallet...

How do I deposit Bitcoin into my Trezor hardware wallet?

How do I deposit Bitcoin into my Trezor hardware wallet?

Jun 14,2025 at 12:29pm

What is a Trezor Hardware Wallet?A Trezor hardware wallet is a secure device designed to store cryptocurrencies offline, protecting them from online threats. Unlike software wallets, which are vulnerable to hacking and malware, Trezor stores private keys on the physical device itself. This ensures that transactions can only be approved by physically int...

How is the Gas fee of a wallet address calculated?

How is the Gas fee of a wallet address calculated?

Jun 14,2025 at 07:57pm

Understanding the Basics of Gas Fees in Blockchain TransactionsIn the cryptocurrency ecosystem, particularly within Ethereum-based networks, a Gas fee is an essential component of executing transactions or smart contract operations. The Gas fee serves as compensation for miners or validators who process and confirm transactions on the blockchain. It is ...

How to merge the balances of multiple wallet addresses?

How to merge the balances of multiple wallet addresses?

Jun 13,2025 at 06:21pm

Understanding the Concept of Merging Wallet BalancesMerging the balances of multiple wallet addresses involves consolidating funds from different cryptocurrency wallets into a single address or account. This process is commonly undertaken by users who manage several wallets for security, diversification, or organizational purposes. Merging balances can ...

How to set a whitelist for wallet addresses?

How to set a whitelist for wallet addresses?

Jun 15,2025 at 03:14am

Understanding the Concept of a Whitelist in BlockchainIn the realm of blockchain technology, a whitelist refers to a predefined list of approved entities—in this case, wallet addresses—that are granted access or permissions within a system. This mechanism is commonly used during token sales (ICOs/IDO), NFT minting events, and smart contract interactions...

See all articles

User not found or password invalid

Your input is correct