Guides ·

สร้าง Ethereum Wallet แบบ Offline: คู่มือสมบูรณ์


การสร้าง Ethereum wallet ขณะเชื่อมต่อ internet สะดวก แต่เป็นความเสี่ยงที่ไม่จำเป็น ทุกวินาทีที่ seed phrase หรือ private key ของคุณมีอยู่บนอุปกรณ์ที่เชื่อมต่อ network มันเปิดเผยต่อ keyloggers, clipboard malware, browser extensions ที่มีสิทธิ์มากเกินไป และ remote access trojans วิธีแก้ตรงไปตรงมา: สร้าง wallet offline เขียน backup และนำเฉพาะ public address ออนไลน์เท่านั้น

คู่มือนี้อธิบายกระบวนการทางเทคนิคทั้งหมด --- จาก entropy generation ถึง Ethereum address ที่ใช้ได้ --- และอธิบายว่าทำไม keys ที่สร้าง offline ทำงานได้อย่างราบรื่นบน Layer 2 networks เช่น Polygon, Arbitrum, Optimism และ Base

ทำไมต้องสร้าง Offline?

Ethereum wallet โดยพื้นฐานคือแค่ private key ใครก็ตามที่ถือ key นั้นควบคุมเงิน การสร้าง offline กำจัด network vector ทั้งหมด

Setup ที่เหมาะสม:

  1. เครื่องที่สะอาด (OS ติดตั้งใหม่ หรือ live USB distribution)
  2. ไม่มี network connection ใดๆ
  3. เครื่องมือที่ทำงานในเบราว์เซอร์ด้วย Web Crypto API สำหรับ randomness
  4. กระดาษหรือ metal สำหรับบันทึก seed phrase

Ethereum Seed Phrase Generator ของ SafeSeed ออกแบบมาสำหรับสถานการณ์นี้โดยเฉพาะ ทำงาน client-side ทั้งหมด โหลดหน้า ตัดการเชื่อมต่อ internet และสร้าง wallet ในความโดดเดี่ยวอย่างสมบูรณ์ สำหรับภาพรวม offline security practices ดู Cold Storage Guide 2026

secp256k1 และ Keccak-256

cryptographic primitives สองตัวกำหนดระบบ key ของ Ethereum: secp256k1 elliptic curve สำหรับ key generation และ Keccak-256 สำหรับ address derivation

secp256k1: Elliptic Curve

Ethereum สืบทอด secp256k1 curve มาจาก Bitcoin สมการของ curve คือ:

y^2 = x^3 + 7 (mod p)

โดย p คือ 256-bit prime number ความปลอดภัยของระบบอยู่บน elliptic curve discrete logarithm problem (ECDLP) สำหรับการเปรียบเทียบ secp256k1 กับ ed25519 curve ที่ Solana ใช้ ดู secp256k1 vs ed25519

Keccak-256: จาก Public Key สู่ Address

Ethereum ไม่ใช้ public key โดยตรงเป็น address แต่ใช้ Keccak-256 (variant ของ SHA-3) กับ uncompressed public key สร้าง 32-byte hash 20 bytes สุดท้ายของ hash นั้นกลายเป็น Ethereum address พร้อม prefix 0x

Private Key (32 bytes)
    → secp256k1 multiplication → Public Key (64 bytes)
    → Keccak-256 hash → 32 bytes
    → เอา 20 bytes สุดท้าย → Ethereum Address (0x...)

จาก Seed Phrase สู่ ETH Address

wallet สมัยใหม่ส่วนใหญ่ไม่ให้คุณจัดการ raw private keys แต่ใช้ BIP39 seed phrases และ HD wallet derivation

Step 1: สร้าง Entropy

กระบวนการเริ่มด้วย 128 หรือ 256 bits ของ cryptographically secure randomness (entropy) บน SafeSeed randomness มาจาก crypto.getRandomValues() ของเบราว์เซอร์ ดู BIP39 Explained สำหรับ breakdown เต็ม

Step 2: Entropy สู่ Mnemonic Words

Entropy ถูก hash ด้วย SHA-256 เพื่อสร้าง checksum checksum bits ถูกเพิ่มต่อ entropy และ bit string รวมถูกแบ่งเป็น 11-bit segments แต่ละ segment map ไปยังคำหนึ่งใน BIP39 word list 2,048 คำ

Step 3: Mnemonic สู่ Master Seed

mnemonic words (บวก passphrase ที่เลือกได้) ถูกป้อนเข้า PBKDF2-HMAC-SHA512 ด้วย 2,048 iterations สร้าง 512-bit master seed

Step 4: Master Seed สู่ Master Key

512-bit seed ถูกป้อนเข้า HMAC-SHA512 ด้วย key "Bitcoin seed" output ถูกแบ่ง: 256 bits ซ้ายเป็น master private key, 256 bits ขวาเป็น master chain code

Step 5: Derive Ethereum Key

Ethereum ใช้ derivation path m/44'/60'/0'/0/0 ตามที่กำหนดโดย BIP44 แต่ละระดับ parent key และ chain code ถูกรวมผ่าน HMAC-SHA512 เพื่อสร้าง child key

Step 6: Private Key สู่ Address

private key ที่ derive แล้วถูก multiply กับ secp256k1 generator point เพื่อสร้าง public key public key ถูก hash ด้วย Keccak-256 และ 20 bytes สุดท้ายเป็น Ethereum address ของคุณ

Ethereum Private Key Generator ของ SafeSeed ให้คุณเห็นแต่ละ step ของ derivation นี้

Keys เดียวกันบน Layer 2 Networks

คุณสมบัติที่ใช้ได้จริงที่สุดอย่างหนึ่งของ Ethereum คือ keys ของคุณทำงานเหมือนกันบน EVM-compatible networks ทั้งหมด private key เดียวกันที่ควบคุม address 0xABC... บน Ethereum mainnet ก็ควบคุม 0xABC... บน Polygon, Arbitrum, Optimism และ Base

สิ่งที่ต่างระหว่าง chains คือ chain ID --- network identifier ที่ฝังใน transaction signatures (EIP-155) เพื่อป้องกัน replay attacks

สำหรับ workflow การสร้าง offline นี่หมายความว่า seed phrase backup เดียวปกป้อง assets ข้ามทุก EVM chains สร้างครั้งเดียว backup ครั้งเดียว และใช้ address เดียวกันทุกที่

สำหรับ security implications ของ shared addresses ข้าม EVM chains ดู EVM Address Security

Verify ด้วย Address Validator

หลังสร้าง wallet offline คุณควร verify ว่า address ถูก format อย่างถูกต้องก่อนส่งเงิน ใช้ Ethereum Address Validator เพื่อยืนยัน:

  1. Format check: address เริ่มด้วย 0x และมี 40 hexadecimal characters
  2. EIP-55 checksum: mixed-case encoding ถูกต้อง

คุณรัน validator บนเครื่อง air-gapped เดียวกันได้ เปิดเครื่องมือ ตัดการเชื่อมต่อ วาง address และ verify

สำหรับคำอธิบายโดยละเอียดว่า address validation ทำงานอย่างไรข้าม chains ดู How to Validate a Crypto Address

Export ไปยัง MetaMask หรือ Wallets อื่น

Import เข้า MetaMask

MetaMask รับ BIP39 seed phrases โดยตรง:

  1. ติดตั้ง MetaMask บน browser profile ที่สะอาด
  2. เลือก "Import an existing wallet"
  3. กรอก 12 หรือ 24 คำ
  4. ตั้ง local password

MetaMask จะ derive key ที่ m/44'/60'/0'/0/0 และแสดง address ที่สอดคล้อง ตรวจสอบว่า match กับ address ที่สร้าง offline

Import เข้า Hardware Wallet

Ledger และ Trezor รับ BIP39 seed phrases ระหว่าง initialization กรอกวลีบนหน้าจอ hardware device โดยตรง --- ไม่เคยบนคอมพิวเตอร์

หลาย Accounts

derivation path m/44'/60'/0'/0/0 สร้าง account แรก เพิ่ม index สุดท้ายจะได้ addresses เพิ่ม: m/44'/60'/0'/0/1, m/44'/60'/0'/0/2 และต่อไป ทั้งหมด derive จาก seed phrase เดียวกัน

การสร้าง Ethereum wallet offline ไม่ใช่ความหวาดระแวง --- เป็น operational security ขั้นพื้นฐาน เวลาไม่กี่นาทีที่ใช้ตัดการเชื่อมต่อ สร้าง และบันทึก คือการลงทุนที่ปกป้องทุก ETH, token และ NFT ที่คุณจะถือที่ address นั้น บนทุก EVM chain ตลอดเวลาที่คุณถือ keys cryptography แข็งแกร่ง ตัวแปรเดียวคือคุณจัดการมันอย่างระมัดระวังแค่ไหน