Ethereum Wallets: A Complete Guide to Non-Custodial Crypto Storage

ยท

Understanding Ethereum Wallets

Non-custodial wallets store private keys locally, giving users full control over their assets. Unlike traditional bank accounts:

Wallet Types Explained

  1. Non-deterministic Wallets
    Each private key is generated independently
  2. Deterministic Wallets
    All keys derive from a single master private key

Keystore Files: Secure Key Storage

A standard keystore file contains encrypted private key data:

{
  "address":"001d3f1ef...",
  "crypto":{
    "cipher":"aes-128-ctr",
    "ciphertext":"233a9f4d2...",
    "cipherparams":{"iv":"d10c6ec5b..."},
    "kdf":"scrypt",
    "kdfparams":{
      "dklen":32,
      "n":262144,
      "p":1,
      "r":8,
      "salt":"99d37a47c..."
    },
    "mac":"594c8df1c..."
  },
  "version":3
}

BIP-39 Mnemonic Phrases

Mnemonic phrases function as human-readable private keys. The generation process:

  1. Create 128-256 bits of entropy
  2. Calculate SHA-256 checksum
  3. Combine entropy + checksum
  4. Split into 11-bit segments
  5. Map segments to wordlist
Entropy (bits)ChecksumTotal LengthWord Count
128413212
160516515
192619818
224723121
256826424

Converting mnemonics to seeds involves PBKDF2 with 2048 HMAC-SHA512 iterations.

HD Wallets (Hierarchical Deterministic)

Key Benefits

๐Ÿ‘‰ Best practices for securing HD wallets

BIP-44 Path Structure

m / purpose' / coin_type' / account' / change / address_index

Common parameters:

Practical Implementation

Python Example

from mnemonic import Mnemonic
mnemo = Mnemonic("english")
words = mnemo.generate(strength=256)
seed = mnemo.to_seed(words, passphrase="")

JavaScript Implementation

const bip39 = require('bip39')
const mnemonic = bip39.generateMnemonic(256)
const seed = bip39.mnemonicToSeedSync(mnemonic)

Frequently Asked Questions

What's the difference between custodial and non-custodial wallets?

Non-custodial wallets give you exclusive control of private keys, while custodial solutions rely on third-party key management.

How secure are mnemonic phrases?

When properly generated (using 12+ words) and stored offline, mnemonics provide enterprise-grade security comparable to traditional private keys.

Can I recover funds if I lose my keystore file but remember the password?

No - keystore files are encrypted backups of private keys. You need either the original file or your mnemonic phrase for recovery.

What's the advantage of HD wallets?

๐Ÿ‘‰ HD wallets allow streamlined management of multiple addresses while only needing to backup a single master key or mnemonic phrase.

How often should I generate new wallet addresses?

For optimal privacy, consider using new addresses for each transaction. HD wallets make this process seamless through deterministic address generation.