Blockchain & Cryptocurrency Glossary

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

  • search-icon Clear Definitions
  • search-icon Practical
  • search-icon Technical
  • search-icon Related Terms

Address Generation

2 min read
Pronunciation
[uh-dres jen-uh-rey-shuhn]
Analogy
Think of address generation as the process of creating a unique postal address from your identity. Just as your personal information (analogous to your private key) is used to establish your legal residence, which then gets formatted into a standardized mailing address that others can use to send you items without knowing your personal details, your private key is used to derive a public key, which is then transformed into a standardized blockchain address that others can use to send you cryptocurrency without ever learning your private key.
Definition
The cryptographic process of creating public blockchain addresses from underlying key material through a series of transformations. Address generation involves deriving public keys from private keys, then applying hashing, encoding, and formatting operations to produce addresses that serve as destinations for blockchain transactions.
Key Points Intro
Address generation incorporates several cryptographic techniques to create secure, verifiable transaction destinations.
Key Points

One-way transformation: Utilizes cryptographic functions that prevent reverse-engineering private keys from public addresses.

Blockchain-specific formatting: Applies network-specific rules for address structure, prefixes, and checksums.

Verification mechanisms: Incorporates error-detection features like checksums to prevent typos and transmission errors.

Identity abstraction: Creates pseudonymous addresses that don't directly reveal the underlying public or private keys.

Example
When David's wallet needs a new Bitcoin receiving address, it first derives the next private key in his HD wallet's receiving path (m/44'/0'/0'/0/5). From this private key, it computes the corresponding public key using elliptic curve multiplication. The wallet then hashes this public key with SHA-256 followed by RIPEMD-160, adds a version byte prefix (0x00 for Bitcoin mainnet), calculates a double-SHA-256 checksum, and encodes the result using Base58Check. The resulting address (starting with "1") is displayed to David, who shares it with a friend to receive Bitcoin.
Technical Deep Dive
Address generation varies by blockchain but typically follows specific cryptographic steps. For Bitcoin P2PKH addresses: (1) start with a 256-bit private key; (2) apply elliptic curve multiplication (secp256k1) to derive a 65-byte public key (33 bytes if compressed); (3) hash the public key with SHA-256; (4) hash the result with RIPEMD-160 to get a 20-byte payload; (5) add version byte (0x00 for mainnet); (6) calculate double-SHA-256 checksum (first 4 bytes) of the extended payload; (7) append checksum to extended payload; (8) encode with Base58Check. Bitcoin SegWit addresses follow different paths, with P2SH-wrapped SegWit using a script hash (version 0x05, addresses starting with "3") and native SegWit using Bech32 encoding (addresses starting with "bc1"). Ethereum addresses derive from the Keccak-256 hash of the public key, taking the last 20 bytes and formatting in hexadecimal with "0x" prefix. Other blockchains implement variations, including Bech32 with human-readable prefixes (like Cosmos "cosmos1...") or Base58 with network identifiers (like Tezos "tz1...").
Security Warning
Address validation is crucial—sending cryptocurrency to an incorrectly generated or typed address can result in permanent loss. Always use the validation functions built into wallet software, and verify the first and last several characters when copying addresses. Be aware that address format upgrades (like SegWit) may create compatibility issues with older wallet software or exchanges. When generating addresses programmatically, use well-audited libraries rather than implementing cryptographic functions yourself.
Caveat
While address generation is designed to be secure, implementation flaws can undermine this security. Some early Bitcoin wallets had weaknesses in random number generation that led to address vulnerabilities. Additionally, address formats evolve over time as blockchains implement new features, potentially creating fragmentation in address compatibility across the ecosystem. Privacy considerations also apply, as address reuse (using the same address for multiple transactions) can compromise privacy by linking transactions together on the public blockchain.

Address Generation - Related Articles

No related articles for this term.