ข้ามไปยังเนื้อหาหลัก

บทช่วยสอน Key Derivation Tool: BIP-44 Path Explorer

Hierarchical Deterministic (HD) wallets เป็นรากฐานของการจัดการกุญแจสกุลเงินดิจิทัลสมัยใหม่ จากเมล็ดเดียว HD wallet จะได้มาซึ่งต้นไม้กุญแจทั้งหมด — พันล้านที่อยู่เฉพาะตัวทั่วบล็อกเชนหลายแห่ง ทั้งหมดสามารถกู้คืนได้จากวลีเมล็ดพืชดั้งเดิมของคุณ SafeSeed's Key Derivation Tool ช่วยให้คุณเห็นภาพและสำรวจต้นไม้นี้ เข้าใจว่าเส้นทางการได้มาทำงานอย่างไร และวินิจฉัยปัญหาเมื่อ wallet ไม่ทำงานตามที่คาดหวัง

ลองเลยตอนนี้

สำรวจเส้นทาง BIP-44 derivation ที่ safeseed.app/tools/key-derivation/ — ทั้งหมดไม่ขึ้นอยู่กับเซิร์ฟเวอร์ ทำงานแบบออฟไลน์

Key Derivation คืออะไร

Key derivation เป็นกระบวนการสร้างกุญแจเข้ารหัสใหม่จากกุญแจที่มีอยู่แล้ว ในสกุลเงินดิจิทัล กระบวนการนี้เริ่มต้นจากวลีเมล็ดพืชของคุณและปฏิบัติตามอัลกอริทึมการกำหนดไว้ล่วงหน้าโดย BIP-32 (Hierarchical Deterministic Wallets) และจัดประเภทโดย BIP-44 (Multi-Account Hierarchy)

คุณสมบัติที่สำคัญคือ determinism: เมล็ดเดียวกันจะสร้างต้นไม้กุญแจเดียวกันเสมอ ซึ่งหมายความว่า:

  • คุณสามารถกู้คืน wallet ทั้งหมดของคุณจากวลีเมล็ดพืชเพียงอย่างเดียว
  • อุปกรณ์หลายเครื่องที่มีเมล็ดเดียวกันจะแสดงที่อยู่เดียวกัน
  • ไม่มีองค์ประกอบแบบสุ่มเกี่ยวข้องหลังจากการสร้างเมล็ดเบื้องต้น

The Key Tree

ให้คิดว่า key derivation เป็นต้นไม้:

Master Key (root)
├── Purpose 44' (Legacy)
│ ├── Bitcoin (0')
│ │ ├── Account 0'
│ │ │ ├── External (0)
│ │ │ │ ├── Address 0
│ │ │ │ ├── Address 1
│ │ │ │ └── Address 2 ...
│ │ │ └── Internal/Change (1)
│ │ │ ├── Address 0
│ │ │ └── Address 1 ...
│ │ └── Account 1'
│ │ └── ...
│ ├── Ethereum (60')
│ │ └── Account 0'
│ │ └── ...
│ └── Litecoin (2')
│ └── ...
├── Purpose 49' (SegWit)
│ └── ...
├── Purpose 84' (Native SegWit)
│ └── ...
└── Purpose 86' (Taproot)
└── ...

แต่ละโหนดในต้นไม้นี้มีทั้งกุญแจส่วนตัวและกุญแจสาธารณะ Address Generator ได้มาซึ่งโหนดใบ (ที่อยู่แต่ละรายการ) ในขณะที่ Key Derivation Tool ช่วยให้คุณตรวจสอบโหนดใดก็ได้ในต้นไม้ทั้งหมด

ทำความเข้าใจเส้นทาง Derivation

เส้นทาง derivation เป็นลำดับของดัชนีที่อธิบายวิธีการนำทางจากกุญแจมาสเตอร์ไปยังกุญแจลูกที่เฉพาะเจาะจง สัญกรณ์มาตรฐานมีลักษณะดังนี้:

m / 84' / 0' / 0' / 0 / 0

มาแยกสิ่งนี้ออกไปอย่างสมบูรณ์

Path Components

Componentความหมายค่าตัวอย่าง
mMaster (root) keyเสมอ m
purpose'BIP standard ใด44', 49', 84', 86'
coin_type'สกุลเงินดิจิทัลใด0' (BTC), 60' (ETH), 2' (LTC)
account'การแยก Account0', 1', 2'
changeExternal/internal0 (receiving), 1 (change)
address_indexหมายเลขที่อยู่0, 1, 2, ...

Hardened vs. Normal Derivation

อัญประกาศ (') หมายถึง hardened derivation นี่คือแนวคิดความปลอดภัยพื้นฐานใน HD wallet

Normal (non-hardened) derivation (m/0/1/2):

  • กุญแจสาธารณะแม่สามารถได้มาซึ่งกุญแจสาธารณะของลูกทั้งหมด
  • หากกุญแจส่วนตัวของลูกและกุญแจสาธารณะแม่ถูกบุกรุก กุญแจส่วนตัวแม่สามารถคำนวณได้
  • ใช้สำหรับระดับ change และ address_index

Hardened derivation (m/0'/1'/2'):

  • เฉพาะกุญแจส่วนตัวแม่เท่านั้นที่สามารถได้มาซึ่งกุญแจลูก
  • การบุกรุกกุญแจส่วนตัวของลูกไม่ได้เปิดเผยแม่
  • ใช้สำหรับระดับ purpose, coin_type และ account

เหตุผลด้านความปลอดภัย: สามระดับแรก (purpose', coin_type', account') ใช้ hardened derivation เพื่อสร้างกำแพงไฟ แม้ว่าผู้โจมตีจะได้รับกุญแจส่วนตัวของลูกที่ระดับที่อยู่ พวกเขาก็ไม่สามารถทำงานย้อนกลับผ่านขอบเขต hardened เพื่อค้นพบกุญแจมาสเตอร์ของคุณหรือกุญแจสำหรับบัญชีหรือสกุลเงินอื่น ๆ ได้

Standard Derivation Paths by Wallet

ซอฟต์แวร์ wallet ที่แตกต่างกันอาจใช้เส้นทาง derivation ที่แตกต่างกัน นี่คือข้อมูลอ้างอิงสำหรับ wallet ทั่วไป:

WalletBitcoin PathEthereum Pathหมายเหตุ
Ledger Livem/84'/0'/0'/0/xm/44'/60'/0'/0/xNative SegWit default
Trezor Suitem/84'/0'/0'/0/xm/44'/60'/0'/0/xNative SegWit default
Electrumm/84'/0'/0'/0/xN/ANative SegWit default
MetaMaskN/Am/44'/60'/0'/0/xEthereum only
BlueWalletm/84'/0'/0'/0/xN/ANative SegWit default
Exodusm/84'/0'/0'/0/xm/44'/60'/0'/0/xMulti-chain
Trust Walletm/84'/0'/0'/0/xm/44'/60'/0'/0/xMulti-chain
Coinbase Walletm/44'/0'/0'/0/xm/44'/60'/0'/0/xLegacy for BTC
Myceliumm/84'/0'/0'/0/xN/ABitcoin only
Wasabim/84'/0'/0'/0/xN/APrivacy-focused

เมื่อกู้คืนเงินทุน การรู้ว่า wallet ดั้งเดิมของคุณใช้เส้นทางใดนั้นมีความจำเป็น Key Derivation Tool ช่วยให้คุณสำรวจเส้นทางอย่างเป็นระบบเพื่อค้นหาตำแหน่งของกุญแจของคุณ

Step-by-Step: การใช้ Key Derivation Tool

Step 1: เปิด Tool

ไปที่ safeseed.app/tools/key-derivation/ เช่นเดียวกับเครื่องมือ SafeSeed ทั้งหมด การดำเนินการทั้งหมดเกิดขึ้นในเบราว์เซอร์ของคุณ

เตือนความปลอดภัย: หากป้อนวลีเมล็ดพืชสำหรับเงินจริง ให้ใช้เครื่องที่ไม่ได้เชื่อมต่ออินเทอร์เน็ต ดู Offline Usage Guide

Step 2: ป้อนวลีเมล็ดพืชของคุณ

ป้อนวลี BIP-39 mnemonic 12 คำหรือ 24 คำ ตัวเลือกอื่นคือป้อน passphrase เครื่องมือตรวจสอบวลีและแสดง master seed (512-bit hex) ที่ได้มาผ่าน PBKDF2

Step 3: ดู Master Key

หลังจากป้อนวลีเมล็ดพืชที่ถูกต้อง เครื่องมือจะแสดงข้อมูล master key:

  • Master Private Key (xprv): กุญแจส่วนตัวราก ซึ่งได้มาซึ่งกุญแจอื่น ๆ ทั้งหมด นี่คือข้อมูลที่ละเอียดอ่อนที่สุดในลำดับชั้นกุญแจทั้งหมด
  • Master Public Key (xpub): กุญแจสาธารณะที่สอดคล้องกัน จากกุญแจนี้ สามารถได้มาซึ่งกุญแจสาธารณะของลูกทั้งหมด (สำหรับเส้นทางที่ไม่ hardened)
  • Master Chain Code: ค่า 256-bit ที่ใช้ควบคู่ไปกับกุญแจในฟังก์ชัน derivation Chain code เพิ่มชั้นความคาดเดาไม่ได้เพิ่มเติมให้กับการได้มาซึ่งกุญแจลูก

Step 4: นำทาง Derivation Tree

Key Derivation Tool นำเสนอลำดับชั้นกุญแจเป็นต้นไม้แบบโต้ตอบ คุณสามารถ:

  1. คลิกที่โหนดต้นไม้ เพื่อขยายและดูกุญแจลูก
  2. ป้อนเส้นทางที่กำหนดเอง ในฟิลด์อินพุตเส้นทาง (เช่น m/84'/0'/0'/0/0)
  3. เปิด/ปิด การแสดงกุญแจส่วนตัวและสาธารณะ
  4. คัดลอก กุญแจหรือเส้นทางใด ๆ เพื่อใช้ในเครื่องมือหรือ wallet อื่น

Step 5: ตรวจสอบกุญแจที่เฉพาะเจาะจง

เมื่อคุณเลือกโหนดในต้นไม้ เครื่องมือจะแสดงข้อมูลที่สมบูรณ์สำหรับกุญแจนั้น:

  • Derivation Path: เส้นทางเต็มจากมาสเตอร์ถึงกุญแจนี้
  • Private Key: กุญแจที่ระดับนี้ (ในรูปแบบขยายและ WIF ที่เหมาะสม)
  • Public Key: กุญแจสาธารณะที่สอดคล้องกัน (บีบอัด)
  • Chain Code: chain code ที่ระดับนี้
  • Fingerprint: ตัวระบุ 4 ไบต์สำหรับกุญแจนี้ (ใช้ในการทำให้กุญแจขยายเป็นอนุกรม)
  • Derived Address: ที่อยู่สกุลเงินดิจิทัล (สำหรับกุญแจระดับใบไม้)

Step 6: สำรวจ Purpose ที่แตกต่างกัน

นำทางผ่าน BIP standard ที่แตกต่างกันเพื่อทำความเข้าใจว่าเมล็ดเดียวกันสร้างประเภทที่อยู่ที่แตกต่างกันอย่างไร:

BIP-44 (Legacy): m/44'/0'/0'/0/0

  • สร้างที่อยู่ Legacy ที่ขึ้นต้นด้วย 1
  • ค่าธรรมเนียมธุรกรรมสูงสุด
  • ความเข้ากันได้สูงสุดกับระบบเก่า

BIP-49 (SegWit): m/49'/0'/0'/0/0

  • สร้างที่อยู่ SegWit ที่ขึ้นต้นด้วย 3
  • ค่าธรรมเนียมธุรกรรมปานกลาง
  • ความเข้ากันได้ที่ดี

BIP-84 (Native SegWit): m/84'/0'/0'/0/0

  • สร้างที่อยู่ Native SegWit ที่ขึ้นต้นด้วย bc1q
  • ค่าธรรมเนียมธุรกรรมต่ำ
  • มาตรฐานสำหรับ wallet สมัยใหม่

BIP-86 (Taproot): m/86'/0'/0'/0/0

  • สร้างที่อยู่ Taproot ที่ขึ้นต้นด้วย bc1p
  • ค่าธรรมเนียมธุรกรรมต่ำสุด
  • มาตรฐานล่าสุด สนับสนุน scripting ขั้นสูง

Deep Dive: วิธีการทำงาน BIP-32 Derivation

การเข้าใจคณิตศาสตร์เบื้องหลังการได้มาซึ่งกุญแจไม่จำเป็นสำหรับการใช้เครื่องมือ แต่จะให้ข้อมูลเชิงลึกที่มีค่าสำหรับทุกคนที่ต้องการทำความเข้าใจ wallet ของตนอย่างแท้จริง

HMAC-SHA512 Child Key Derivation

BIP-32 ใช้ HMAC-SHA512 ในการได้มาซึ่งกุญแจลูก กระบวนการแตกต่างกันไปตามการ derivation ที่ hardened และ normal:

Normal child key derivation:

HMAC-SHA512(
key = parent_chain_code,
data = parent_public_key || child_index
) → (child_key_data, child_chain_code)

child_private_key = parent_private_key + child_key_data (mod n)

Hardened child key derivation:

HMAC-SHA512(
key = parent_chain_code,
data = 0x00 || parent_private_key || child_index
) → (child_key_data, child_chain_code)

child_private_key = parent_private_key + child_key_data (mod n)

ความแตกต่างที่สำคัญ: hardened derivation ใช้ private key เป็นอินพุท ในขณะที่ normal derivation ใช้ public key ซึ่งหมายความว่าไม่สามารถได้มาซึ่งกุญแจลูก hardened จากกุญแจสาธารณะแม่เพียงอย่างเดียว

Extended Key Serialization

Extended key (xprv/xpub) เข้ารหัสข้อมูลหลายชิ้น:

FieldSizeDescription
Version4 bytesNetwork และ key type (0488ADE4 สำหรับ xprv, 0488B21E สำหรับ xpub)
Depth1 byteระดับห่างจาก master key
Parent fingerprint4 bytes4 ไบต์แรกของ hash ของกุญแจแม่
Child index4 bytesกุญแจลูกตัวไหน (พร้อมกับ hardened bit)
Chain code32 byteschain code
Key data33 bytesกุญแจส่วนตัวหรือสาธารณะ

โครงสร้างทั้งหมดถูก Base58Check เข้ารหัสเพื่อสร้างสตริง xprv... หรือ xpub... ที่ไม่คุ้นเคย ไบต์เวอร์ชันที่แตกต่างกันสร้าง ypub/zpub สำหรับ SegWit และ Native SegWit ตามลำดับ

การประยุกต์ใช้จริง

Application 1: Debugging Wallet Recovery

Scenario: คุณกู้คืนวลีเมล็ดพืชของคุณใน wallet ใหม่ แต่ยอดคงเหลือ Bitcoin แสดง 0

Diagnosis with Key Derivation Tool:

  1. ป้อนวลีเมล็ดพืชของคุณลงใน Key Derivation Tool
  2. นำทางไป m/84'/0'/0'/0/0 (Native SegWit, path ทั่วไปสมัยใหม่ที่สุด)
  3. จดบันทึกที่อยู่ — ตรวจสอบใน mempool.space
  4. หากไม่มียอดคงเหลือ ลองใช้ m/44'/0'/0'/0/0 (Legacy)
  5. ลองใช้ m/49'/0'/0'/0/0 (SegWit)
  6. ลองใช้ m/86'/0'/0'/0/0 (Taproot)
  7. หากยังคงไม่มียอดคงเหลือ ลองใช้ account 1': m/84'/0'/1'/0/0
  8. ตรวจสอบทั้งโซ่ภายนอก (change=0) และภายใน (change=1)

การสำรวจอย่างเป็นระบบนี้เปิดเผยตำแหน่งที่แน่นอนของเงินทุนของคุณในต้นไม้ derivation

Application 2: Understanding Watch-Only Wallets

Scenario: คุณต้องการตั้งค่า watch-only wallet เพื่อตรวจสอบยอดคงเหลือ Bitcoin ของคุณโดยไม่เปิดเผยกุญแจส่วนตัว

Using the Key Derivation Tool:

  1. ป้อนวลีเมล็ดพืชของคุณ (บนเครื่องที่ไม่ได้เชื่อมต่ออินเทอร์เน็ท)
  2. นำทางไปยังระดับ account: m/84'/0'/0'
  3. คัดลอก extended public key (zpub) ที่ระดับนี้
  4. นำเข้า zpub นี้ลงในซอฟต์แวร์ watch-only wallet (เช่น Electrum, BlueWallet)
  5. watch-only wallet สามารถได้มาซึ่งที่อยู่รับและเปลี่ยนทั้งหมดด้านล่างระดับนี้
  6. ไม่สามารถได้มาซึ่งกุญแจส่วนตัวหรือลงนามธุรกรรม

Key Derivation Tool แสดงให้คุณเห็นว่าต้องส่งออกระดับใด ของต้นไม้ และข้อมูลที่มีอยู่ใน extended public key

Application 3: Multi-Account Organization

Scenario: คุณต้องการแยก Bitcoin holdings ของคุณเป็นบัญชีที่แตกต่างกัน (เช่น savings, trading, business) ขณะใช้วลีเมล็ดพืชเดียว

Using the Key Derivation Tool:

  1. Account 0: m/84'/0'/0' — Personal savings
  2. Account 1: m/84'/0'/1' — Trading
  3. Account 2: m/84'/0'/2' — Business

บัญชีแต่ละบัญชีมีชุดของที่อยู่และ extended key ของตนเอง hardened derivation ที่ระดับ account ช่วยให้แน่ใจว่าการบุกรุกกุญแจของบัญชีหนึ่งไม่ส่งผลกระทบต่อบัญชีอื่น

Application 4: Cross-Chain Key Exploration

Scenario: คุณต้องการทำความเข้าใจว่าวลีเมล็ดพืชเดียวสร้างที่อยู่สำหรับทั้ง Bitcoin และ Ethereum อย่างไร

Using the Key Derivation Tool:

  1. ป้อนวลีเมล็ดพืชของคุณ
  2. นำทางไป m/44'/0'/0'/0/0 — นี่คือกุญแจ Bitcoin
  3. นำทางไป m/44'/60'/0'/0/0 — นี่คือกุญแจ Ethereum
  4. สังเกต: กุญแจต่างกันโดยสิ้นเชิงแม้ว่าจะมาจากเมล็ดเดียวกัน
  5. ระดับ coin_type (0' vs 60') คือจุดที่ต้นไม้แยกออก

นี่แสดงให้เห็นว่า BIP-44 hierarchy ป้องกันการทับซ้อนกันระหว่างเชนในขณะที่รักษา single-seed recoverability

Application 5: Verifying Hardware Wallet Behavior

Scenario: คุณต้องการยืนยันว่า hardware wallet ของคุณไม่ได้โกหกเกี่ยวกับที่อยู่ที่ควบคุม

Using the Key Derivation Tool:

  1. บนเครื่องที่ไม่ได้เชื่อมต่ออินเทอร์เน็ท ป้อนวลีเมล็ดพืชที่คุณเริ่มต้น hardware wallet ด้วย
  2. ได้มาซึ่งที่อยู่ 10 รายการแรกบนเส้นทางเดียวกับที่ hardware wallet ใช้
  3. เปรียบเทียบแต่ละที่อยู่กับสิ่งที่ hardware wallet แสดง
  4. หากตรงกันทั้งหมด hardware wallet กำลังใช้งาน BIP-32/44 derivation อย่างถูกต้อง
  5. หากแตกต่างกัน อาจมีปัญหาเกี่ยวกับเฟิร์มแวร์ passphrase ที่ต่างกัน หรือ derivation path ไม่ตรง

ทำความเข้าใจ Change Addresses

หนึ่งในสิ่งที่สับสนที่สุดเกี่ยวกับ HD wallet สำหรับผู้ใช้ใหม่คือแนวคิดของ change addresses Key Derivation Tool ช่วยให้ความกำจัดความสับสนนี้

What Are Change Addresses?

ใน Bitcoin (และสัญญา UTXO ที่คล้ายกัน) เมื่อคุณใช้จากที่อยู่ คุณมักจะบริโภค "unspent transaction output" (UTXO) ทั้งหมดที่ที่อยู่นั้น หากคุณต้องการส่ง 0.5 BTC แต่ UTXO คือ 1.0 BTC ธุรกรรมจะสร้าง