12 หรือ 24 คำที่หลัง hardware wallet ของคุณคือ wallet ตัวจริง เครื่องพลาสติกที่อยู่บนโต๊ะคุณเป็นแค่เครื่องคำนวณที่รู้วิธีใช้คำพวกนี้ ถ้าจะเข้าใจอะไรเรื่องเดียวเกี่ยวกับ self-custody เข้าใจอย่างนี้ — แล้วเข้าใจว่ามันหมายความยังไงกับวิธีเก็บ ตรวจ และป้องกันคำพวกนี้
นี่คือบทความที่ผมอยากให้มีคนยื่นให้ผมในปี 2017 ตอนซื้อ hardware wallet แรก ดู seed card แวบเดียวแล้วยัดเข้าลิ้นชัก หกปีและพันครั้งที่เกือบเสีย นี่คือสิ่งที่ผมรู้จริง
TL;DR. 12 / 24 คำคือ entropy + checksum byte แมป deterministic ผ่าน list ของ 2,048 คำในพจนานุกรม คำเหล่านี้สร้าง Bitcoin address และ private key ทุกตัวที่ wallet ของคุณจะใช้ตลอดชีวิต คำเก็บอยู่ที่ที่คุณเขียนไว้เท่านั้น เก็บให้ดีหมายถึงป้องกัน 4 threat class: ไฟ / น้ำ / หาย (กายภาพ), โจร (คนในบ้านคุณ), บังคับ (คนถือประแจ), และ โง่ (คุณในอีก 5 ปี ที่ลืมว่าแผ่นเหล็กในลิ้นชักคืออะไร) แต่ละ threat มี mitigation ต่างกัน และคำตอบที่ดีที่สุดสำหรับอันหนึ่งมักผิดสำหรับอีกอัน
คำพวกนี้คืออะไรจริงๆ
BIP-39 คือ Bitcoin Improvement Proposal จากปี 2013 ที่นิยามวิธีแปลง entropy ของ wallet เป็น list คำที่จำง่ายในภาษาอังกฤษ (หรือภาษาอื่น)
กลไกย่อๆ:
- random-number generator ใน hardware ของ wallet สร้าง entropy 128 bit (สำหรับ phrase 12 คำ) หรือ 256 bit (24 คำ) ขั้นนี้เป็นขั้นเดียวที่ randomness กายภาพต้องดี ที่เหลือเป็น deterministic
- SHA-256 hash ของ bit เหล่านั้นถูกคำนวณ 4 bit แรก (12 คำ) หรือ 8 bit (24 คำ) ของ hash ถูกต่อท้ายเป็น checksum เพราะฉะนั้น phrase 12 คำ encode 128 bit ของ entropy + 4 bit checksum = 132 bit รวม
- 132 / 264 bit ถูกแบ่งเป็นกลุ่ม 11 bit แต่ละค่า 11 bit (0-2047) แมปเป็นคำใน wordlist BIP-39 ที่มี 2,048 คำพอดี
- จบ String ของคำคือ entropy + checksum ในรูปแบบที่จำง่ายขึ้น
เพื่อแปลงคำกลับเป็น Bitcoin key จริง phrase BIP-39 ถูกป้อนผ่าน PBKDF2 กับ HMAC-SHA512 รอบละ 2,048 iteration โดยใช้ optional passphrase เป็น salt output คือ master seed — 512 bit ของวัสดุที่ derive ทางวิทยาการรหัสที่ algorithm BIP-32 hierarchical deterministic (HD) wallet ใช้สร้างทุก address ที่คุณจะเห็น
3 ข้อสรุปที่ต้องจำ:
- 12/24 คำเดียวกัน สร้าง wallet เดียวกันเสมอ ทุกเครื่องที่ compliant BIP-39 Coldcard, Trezor, Ledger, Sparrow, Electrum — derive address เหมือนกันจากคำเหมือนกัน นี่เป็น feature: กู้คืนได้จาก vendor ใดก็ตามที่ล้มเหลว โดยพิมพ์คำลงเครื่อง vendor อื่น
- Passphrase (“คำที่ 25”) คือ salt ทางเทคนิค ไม่ใช่คำที่ 25 มันเปลี่ยน master seed ทั้งหมด ได้ wallet ที่ต่างกัน จะกลับมาคุยเรื่องนี้ — มันทรงพลังและอันตรายในเวลาเดียวกัน
- Checksum byte ทำให้ชุดคำสุ่มเกือบแน่นอนว่าจะ validate ไม่ผ่าน นั่นคือเหตุที่ BIP-39 validator บนเว็บนี้บอกได้ว่า phrase ที่คุณเขียนลงไป self-consistent ทางคณิตศาสตร์มั้ย ถ้าคุณสลับตัวอักษรในคำที่ 7 checksum เกือบแน่นอนว่าจะ fail — ซึ่งเป็นวิธีที่คุณพบ
คำพวกนี้อยู่ที่ไหนจริงๆ
นี่คือคำถามที่ Ledger / Trezor / Coinkite ถูก phishing ตลอด: “ส่ง seed ของคุณมาให้เรา verify” vendor ทุกเจ้าที่ถูกต้องมีคำตอบเดียวกัน:
Seed อยู่ที่ไม่มีที่ไหนยกเว้นที่คุณเขียนไว้ Vendor ไม่มี Vendor ไม่ต้องการ Vendor กู้ให้คุณไม่ได้ ไม่มีใครได้
ภายในเครื่อง seed ไม่เคยออกจาก secure element หลังจากสร้าง เมื่อคุณเซ็น transaction เครื่องใช้ seed derive private key ที่เกี่ยวข้อง เซ็น transaction และคืน signature seed เองไม่เคยผ่าน USB cable ไม่เคยผ่าน Bluetooth ไม่เคยผ่าน air gap (นี่คือสิ่งที่ทำให้ hardware wallet เป็น hardware wallet)
เมื่อคุณ wipe เครื่อง seed หายไปจากเครื่อง ถ้าคุณไม่เขียนไว้ และเครื่อง wipe wallet หายไปตลอดกาล ไม่มีการกู้คืน ไม่มีลิงก์ “ลืม password” ไม่มีเบอร์ support ให้โทร
นี่คือ asymmetry ของ self-custody: คุณมีพลังทั้งหมด และคุณมีความรับผิดชอบทั้งหมด พร้อมกัน
4 threat class
ผมเห็นเพื่อนเสีย Bitcoin ครบทั้ง 4 อย่างนี้ กลยุทธ์เก็บที่ต่างกันแมปกับ threat ต่างกัน คำตอบที่ดีที่สุดขึ้นกับว่าคุณ optimize ต่อ threat ตัวไหน
Threat 1 — ไฟ / น้ำ / หาย (การเสื่อมทางกายภาพ)
หมึกบน seed card paper ละลายในห้องใต้ดินที่น้ำท่วม การ์ดเองไหม้ในไฟไหม้บ้าน คุณย้ายบ้าน 3 ครั้งใน 10 ปี การย้ายครั้งหนึ่งทำกล่องหาย เชิงสถิติ นี่คือวิธีที่ self-custodian เสียเหรียญบ่อยที่สุด
บันได mitigation:
- กระดาษ copy เดียว → เปราะ อย่าหยุดที่นี่
- กระดาษ หลาย copy ในที่ต่างกัน → ดีขึ้น แต่เพิ่มพื้นที่ของ threat โจร
- แผ่นเหล็ก (Cryptosteel, Blockmit, Coldti ฯลฯ) → ทนไฟ ~1100°C ทนน้ำ ไม่กลัวน้ำท่วม คำตอบ default สำหรับคนส่วนใหญ่
- แผ่นเหล็กหลายแผ่นใน location ต่างกันทางภูมิศาสตร์ → redundancy จริง แต่ถ้าโจรประสานกันได้ยาก
ราคาแผ่นเหล็ก $20-100 expected value ของการไม่มีถ้ามียอดถือสำคัญใดๆ ติดลบมหาศาล นี่คือ upgrade ความปลอดภัย ROI สูงสุดใน self-custody ซื้อในสัปดาห์เดียวกับที่ตั้ง wallet
Threat 2 — โจร (คนในบ้านคุณ)
แขกในบ้านเจอ seed card ในลิ้นชัก โจรเจอตอนเจาะ เพื่อนของเพื่อนของรูมเมตได้ยินเรื่อง Bitcoin คุณและเริ่มค้นหา สมาชิกครอบครัวค้น safe
บันได mitigation:
- ซ่อนในบ้านคุณ → พึ่งว่าคนซ่อนฉลาดกว่าคนหา สมมติแย่
- ซ่อนในบ้านคนอื่น (พ่อแม่ เพื่อน) → ย้าย threat ตอนนี้พึ่ง การซ่อนของเขา
- safe / safety deposit box → ความปลอดภัยกายภาพดีขึ้น แต่การมี safe ตะโกนว่า “มีของมีค่าข้างใน”
- แผ่นเหล็กแบ่งใน 2 location ใช้ Shamir’s Secret Sharing (SSS) ที่ threshold 2-of-3 หรือ 3-of-5 → ไม่มี location เดี่ยวที่ compromise wallet
- Multisig ที่มี key ใน 3+ location → ซับซ้อนเชิงปฏิบัติ แต่กำจัดการโจร single-key สนิท
Multisig คือคำตอบที่ถูกสำหรับยอดถือเหนือ ~1 BTC ในความเห็นผม ต่ำกว่านั้น operational complexity tax เกินประโยชน์ความปลอดภัยสำหรับคนส่วนใหญ่
Threat 3 — การบังคับ (wrench attack $5)
xkcd 538 เป็นแผนภาพที่ดีที่สุดใน cryptography ถ้าคนถือประแจ threat model ไม่ใช่การเก็บ seed ของคุณ — มันคือคุณ Attacker ไม่ต้องทำลาย encryption ต้องทำลายคุณ
บันได mitigation:
- อย่าบอกใครว่าคุณมี Bitcoin → control ที่ underrated สุด ถ้าเขาไม่รู้ เขาไม่ถาม
- Plausibly deniable wallet ผ่าน BIP-39 passphrase → ใส่ 99% ของยอดใน passphrased wallet ทิ้งจำนวนเล็กน้อย “decoy” ใน wallet ที่ไม่มี passphrase ที่ seed เดียวกัน ถ้าโดนบังคับ ให้ wallet เล็ก (ดูส่วน passphrase ข้างล่าง — ต้องทำอย่างระมัดระวัง)
- Multisig ที่มี key ใน jurisdiction ที่ attacker เข้าถึงไม่ได้ → ความปลอดภัยทางภูมิศาสตร์จริง หนักเชิงปฏิบัติ
- Time-locked vault (CSV / OP_CHECKLOCKTIMEVERIFY) → ย้ายเหรียญไม่ได้ N block attacker ได้ value real-time ไม่ได้ ใหม่ พิสูจน์น้อย แต่ viable มากขึ้นหลัง Taproot
สำหรับคนส่วนใหญ่ คำตอบมีเหตุผลที่สุดคือข้อแรก: ปิดปาก การคุยโม้สาธารณะเรื่อง Bitcoin holdings คือ leading indicator ของ “คนที่จะถูกปล้น”
Threat 4 — โง่ / ตัวเองในอนาคต
นี่คือ threat ที่คนเตรียมน้อยที่สุดและเสียให้บ่อยที่สุด
8 ปีจากนี้ แผ่นเหล็กคุณอยู่ใน fireproof safe ในตู้ คุณย้ายบ้าน 2 ครั้ง คุณกำลังเก็บกล่องอุปกรณ์อิเล็กทรอนิกส์เก่า เจอสิ่งที่ดูเหมือนแผ่นเหล็กที่มีคำสุ่ม คุณจำไม่ได้ว่าตรงกับ wallet ไหน คุณจำไม่ได้ว่าเป็น wallet จริงหรือ testnet practice ที่ทำหลายปีก่อน ภรรยาถามว่าแผ่นนี้คืออะไร คุณไม่มีคำตอบที่มั่นใจ
บันได mitigation:
- ติด tag ที่ไม่ระบุตัวตน (เช่น “BTC L1 main 2025”) บนแผ่น → คุณจำใน 8 ปี โจรไม่ได้ identity เต็ม
- บำรุงรักษา แผนมรดก เขียนในซองปิดผนึกกับคนที่เชื่อใจ → ทำให้งานของตัวเองในอนาคตง่ายขึ้น และจัดการ case แย่สุด (คุณตาย)
- ทดสอบกู้คืนปีละครั้ง → วิธีเดียวที่จะรู้ว่าการเก็บ work จริงคือใช้จริง
- อย่าทำระบบซับซ้อนเกินกว่าที่คุณจำได้ใน 5 ปี → multisig ที่มี vendor 4 ตัวและ passphrase ปลอดภัยกว่าในทฤษฎี แต่ถ้าตัวเองในอนาคตมีโอกาสพลาดการกู้คืน ความปลอดภัยที่ได้ติดลบ Optimize ตามเส้น recoverability ไม่ใช่แค่ threat-resistance
BIP-39 passphrase — เมื่อช่วย เมื่อฆ่าคุณ
“คำที่ 25” คือ feature ที่ทรงพลังที่สุดและอันตรายที่สุดใน BIP-39
มันทำอะไรจริงๆ: เปลี่ยน master seed ทั้งหมด 24 คำ + passphrase “trezor” สร้าง wallet หนึ่ง 24 คำ + passphrase “treezor” สร้าง wallet ที่ต่างกันสมบูรณ์ ที่มี address ต่างกันสมบูรณ์ ที่ไม่มี link on-chain กับอันแรก
เมื่อช่วย:
- Plausible deniability seed 24 คำ (ไม่มี passphrase) ถือ decoy $200 seed 24 คำ + passphrase จริงของคุณถือ stack จริง ถ้าถูกบังคับเปิด seed คุณเปิดคำ และไม่เปิด passphrase Attacker import เห็น $200 ทิ้งคุณ
- ป้องกัน partial seed compromise ถ้าโจรถ่ายรูปแผ่นเหล็กคุณ แต่คุณไม่เขียน passphrase (คุณจำได้) wallet ยังปลอดภัย
เมื่อฆ่าคุณ:
- คุณลืม passphrase ไม่มี “ลืม password” wallet หายไป คุณมี backup 24 คำที่พิสูจน์ว่าคุณเคยเป็นเจ้าของ คุณเอามาไม่ได้
- คุณจำ passphrase ผิด wallet ที่ derive จาก passphrase ผิดคือ wallet valid ที่ต่างกันที่มี $0 ใน คุณจะเห็น “balance: 0” panic ลอง original แล้วเจอว่าว่างเปล่า และไม่มีจุดไหนที่รู้ว่าคุณพิมพ์ “trezor” แทน “Trezor”
- คุณบันทึก passphrase ในที่เดียวกับ seed → ไม่ใช่ passphrase แต่เป็น seed ยาวกว่า
Passphrase เหมาะถ้า:
- คุณจำได้ AND บันทึกใน location แยกที่ทายาทหาเจอ AND ทดสอบกู้คืนกับมัน AND เข้าใจว่ามันทำอะไร
- ยอดถือใหญ่พอจะ justify operational complexity
- คุณ sober เรื่อง failure mode
ถ้าไม่แน่ใจว่าทำครบ 4 ข้อ อย่าใช้ seed 24 คำมาตรฐานในแผ่นเหล็กพอสำหรับคนส่วนใหญ่ จำนวน self-custodian ที่เสีย Bitcoin มากกว่าให้ passphrase ที่ลืมมากกว่าให้ attacker ไม่น้อยเลย
วิธี verify ว่า backup ทำงานจริง
เขียน 24 คำและใส่ใน safe เป็นเงื่อนไขจำเป็นแต่ไม่พอ คุณไม่รู้ว่า backup work จนกว่าจะทดสอบ
procedure ทดสอบกู้คืน (ทำปีละครั้ง):
- Wipe hardware wallet อีกเครื่อง (ไม่ใช่เครื่องหลัก) หรือใช้ software wallet บน laptop air-gapped ที่ install ใหม่
- พิมพ์ 24 คำลงใน ถ้ามี passphrase ใส่ด้วย
- Verify 5 receiving address แรกตรง wallet หลักของคุณแน่นอน ถ้าไม่ตรง คุณมี seed ผิด, derivation path ผิด, passphrase ผิด หรือทั้งสาม
- อย่าย้ายเงิน นี่คือ verification ไม่ใช่ migration Wipe เครื่องทดสอบเมื่อเสร็จ
ใช้ BIP-39 validator บนเว็บนี้ confirm phrase ที่เขียนไว้มี checksum byte valid ก็ได้ บอกได้ว่า phrase self-consistent ทางคณิตศาสตร์ — คุณไม่ได้สลับตัวอักษรหรือคำ บอกไม่ได้ว่า generate wallet ถูก (เฉพาะขั้นที่ 3 ข้างบนทำได้)
ผมบอกได้ไม่กี่กี่คนที่ไม่เคยทดสอบ backup จนเจอตอนต้องการใช้จริงปีหลังว่ามี typo ในคำที่ 9
”ดี” หน้าตาเป็นยังไง
สำหรับ self-custodian ที่มี Bitcoin $5K-$500K (ช่วงพบบ่อยสุด):
- Hardware wallet ของ vendor ที่ reputable (ดู reviews) ซื้อตัวต่อตัวหรือส่งไป P.O. box
- 24 word seed สร้างจาก RNG ของเครื่อง ไม่เคยพิมพ์ใน anything อื่น
- Steel-plate backup ใน fireproof safe ที่บ้าน copy รองที่ safety deposit box ของธนาคารหรือสมาชิกครอบครัวที่เชื่อใจ
- ไม่มี BIP-39 passphrase หรือ passphrase จำได้ + บันทึกแยก + ทดสอบกู้คืนปีละครั้ง
- ทดสอบกู้คืนปีละครั้ง ด้วย secondary device ที่ wipe หรือ air-gapped laptop
- ปิดปาก เรื่องยอดถือเฉพาะ
สำหรับ $500K+: เพิ่ม multisig (Sparrow + 3 hardware wallet ที่ 3 location, quorum 2-of-3) และพิจารณาทนายมรดกที่ formalize แผน
สำหรับต่ำกว่า $1K: แผ่นเหล็กเกินไป กระดาษใน fireproof box พอ อย่าให้ความสมบูรณ์เป็นศัตรูของความดี
”แย่” หน้าตาเป็นยังไง
story โลกจริงที่ผมได้ยินบ่อยสุด:
- Seed ใน Google Doc / iCloud Notes / 1Password → exfiltrate โดย attacker ระยะไกล
- Seed ถ่ายรูปบน smartphone → อยู่ใน iCloud ตลอดไป breach ครั้งหนึ่งเปิดเผย
- Seed share กับภรรยาทาง text → iMessage backup, screenshot risk
- Seed แบ่งใน multiple steel plate โดยไม่มี threshold document → ภรรยากู้ไม่ได้หลังตาย
- ตั้ง passphrase ไม่เคยเขียน เจ้าของตาย → เหรียญหายตลอดกาล
- ไม่เคยทดสอบกู้คืน → typo ในคำที่ 9 เจอหลังไฟเผาแผ่น
ทุกอันป้องกันได้ด้วยน้อยกว่าราคา hardware wallet และ afternoon ของงานระมัดระวัง
เครื่องมือ
- BIP-39 validator — verify checksum byte ของ phrase ที่เขียน ทำงานในเบราว์เซอร์ ไม่มี telemetry
- Address validator — confirm receiving address ตรงระหว่าง primary และ recovery wallet ตอนทดสอบ
- Reviews hardware wallet — บันทึกตัวต่อตัวบน Coldcard, Trezor, BitBox02, Foundation Passport ฯลฯ
อ่านต่อ
- BIP-39 specification
- BIP-32 hierarchical deterministic wallets
- Lopp’s curated bitcoin-information list (resource hub ดีสุดในวงการ)
- Coinkite blog เรื่อง multisig setup
- Casa, Unchained — บริการ multisig เชิงพาณิชย์ มีประโยชน์สำหรับยอดถือใหญ่ถ้า DIY รู้สึกหนักเชิงปฏิบัติ