บทช่วยสอน 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 | ความหมาย | ค่าตัวอย่าง |
|---|---|---|
m | Master (root) key | เสมอ m |
purpose' | BIP standard ใด | 44', 49', 84', 86' |
coin_type' | สกุลเงินดิจิทัลใด | 0' (BTC), 60' (ETH), 2' (LTC) |
account' | การแยก Account | 0', 1', 2' |
change | External/internal | 0 (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 ทั่วไป:
| Wallet | Bitcoin Path | Ethereum Path | หมายเหตุ |
|---|---|---|---|
| Ledger Live | m/84'/0'/0'/0/x | m/44'/60'/0'/0/x | Native SegWit default |
| Trezor Suite | m/84'/0'/0'/0/x | m/44'/60'/0'/0/x | Native SegWit default |
| Electrum | m/84'/0'/0'/0/x | N/A | Native SegWit default |
| MetaMask | N/A | m/44'/60'/0'/0/x | Ethereum only |
| BlueWallet | m/84'/0'/0'/0/x | N/A | Native SegWit default |
| Exodus | m/84'/0'/0'/0/x | m/44'/60'/0'/0/x | Multi-chain |
| Trust Wallet | m/84'/0'/0'/0/x | m/44'/60'/0'/0/x | Multi-chain |
| Coinbase Wallet | m/44'/0'/0'/0/x | m/44'/60'/0'/0/x | Legacy for BTC |
| Mycelium | m/84'/0'/0'/0/x | N/A | Bitcoin only |
| Wasabi | m/84'/0'/0'/0/x | N/A | Privacy-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 นำเสนอลำดับชั้นกุญแจเป็นต้นไม้แบบโต้ตอบ คุณสามารถ:
- คลิกที่โหนดต้นไม้ เพื่อขยายและดูกุญแจลูก
- ป้อนเส้นทางที่กำหนดเอง ในฟิลด์อินพุตเส้นทาง (เช่น
m/84'/0'/0'/0/0) - เปิด/ปิด การแสดงกุญแจส่วนตัวและสาธารณะ
- คัดลอก กุญแจหรือเส้นทางใด ๆ เพื่อใช้ในเครื่องมือหรือ 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) เข้ารหัสข้อมูลหลายชิ้น:
| Field | Size | Description |
|---|---|---|
| Version | 4 bytes | Network และ key type (0488ADE4 สำหรับ xprv, 0488B21E สำหรับ xpub) |
| Depth | 1 byte | ระดับห่างจาก master key |
| Parent fingerprint | 4 bytes | 4 ไบต์แรกของ hash ของกุญแจแม่ |
| Child index | 4 bytes | กุญแจลูกตัวไหน (พร้อมกับ hardened bit) |
| Chain code | 32 bytes | chain code |
| Key data | 33 bytes | กุญแจส่วนตัวหรือสาธารณะ |
โครงสร้างทั้งหมดถูก Base58Check เข้ารหัสเพื่อสร้างสตริง xprv... หรือ xpub... ที่ไม่คุ้นเคย ไบต์เวอร์ชันที่แตกต่างกันสร้าง ypub/zpub สำหรับ SegWit และ Native SegWit ตามลำดับ
การประยุกต์ใช้จริง
Application 1: Debugging Wallet Recovery
Scenario: คุณกู้คืนวลีเมล็ดพืชของคุณใน wallet ใหม่ แต่ยอดคงเหลือ Bitcoin แสดง 0
Diagnosis with Key Derivation Tool:
- ป้อนวลีเมล็ดพืชของคุณลงใน Key Derivation Tool
- นำทางไป
m/84'/0'/0'/0/0(Native SegWit, path ทั่วไปสมัยใหม่ที่สุด) - จดบันทึกที่อยู่ — ตรวจสอบใน mempool.space
- หากไม่มียอดคงเหลือ ลองใช้
m/44'/0'/0'/0/0(Legacy) - ลองใช้
m/49'/0'/0'/0/0(SegWit) - ลองใช้
m/86'/0'/0'/0/0(Taproot) - หากยังคงไม่มียอดคงเหลือ ลองใช้ account
1':m/84'/0'/1'/0/0 - ตรวจสอบทั้งโซ่ภายนอก (change=
0) และภายใน (change=1)
การสำรวจอย่างเป็นระบบนี้เปิดเผยตำแหน่งที่แน่นอนของเงินทุนของคุณในต้นไม้ derivation
Application 2: Understanding Watch-Only Wallets
Scenario: คุณต้องการตั้งค่า watch-only wallet เพื่อตรวจสอบยอดคงเหลือ Bitcoin ของคุณโดยไม่เปิดเผยกุญแจส่วนตัว
Using the Key Derivation Tool:
- ป้อนวลีเมล็ดพืชของคุณ (บนเครื่องที่ไม่ได้เชื่อมต่ออินเทอร์เน็ท)
- นำทางไปยังระดับ account:
m/84'/0'/0' - คัดลอก extended public key (zpub) ที่ระดับนี้
- นำเข้า zpub นี้ลงในซอฟต์แวร์ watch-only wallet (เช่น Electrum, BlueWallet)
- watch-only wallet สามารถได้มาซึ่งที่อยู่รับและเปลี่ยนทั้งหมดด้านล่างระดับนี้
- ไม่สามารถได้มาซึ่งกุญแจส่วนตัวหรือลงนามธุรกรรม
Key Derivation Tool แสดงให้คุณเห็นว่าต้องส่งออกระดับใด ของต้นไม้ และข้อมูลที่มีอยู่ใน extended public key
Application 3: Multi-Account Organization
Scenario: คุณต้องการแยก Bitcoin holdings ของคุณเป็นบัญชีที่แตกต่างกัน (เช่น savings, trading, business) ขณะใช้วลีเมล็ดพืชเดียว
Using the Key Derivation Tool:
- Account 0:
m/84'/0'/0'— Personal savings - Account 1:
m/84'/0'/1'— Trading - 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:
- ป้อนวลีเมล็ดพืชของคุณ
- นำทางไป
m/44'/0'/0'/0/0— นี่คือกุญแจ Bitcoin - นำทางไป
m/44'/60'/0'/0/0— นี่คือกุญแจ Ethereum - สังเกต: กุญแจต่างกันโดยสิ้นเชิงแม้ว่าจะมาจากเมล็ดเดียวกัน
- ระดับ
coin_type(0'vs60') คือจุดที่ต้นไม้แยกออก
นี่แสดงให้เห็นว่า BIP-44 hierarchy ป้องกันการทับซ้อนกันระหว่างเชนในขณะที่รักษา single-seed recoverability
Application 5: Verifying Hardware Wallet Behavior
Scenario: คุณต้องการยืนยันว่า hardware wallet ของคุณไม่ได้โกหกเกี่ยวกับที่อยู่ที่ควบคุม
Using the Key Derivation Tool:
- บนเครื่องที่ไม่ได้เชื่อมต่ออินเทอร์เน็ท ป้อนวลีเมล็ดพืชที่คุณเริ่มต้น hardware wallet ด้วย
- ได้มาซึ่งที่อยู่ 10 รายการแรกบนเส้นทางเดียวกับที่ hardware wallet ใช้
- เปรียบเทียบแต่ละที่อยู่กับสิ่งที่ hardware wallet แสดง
- หากตรงกันทั้งหมด hardware wallet กำลังใช้งาน BIP-32/44 derivation อย่างถูกต้อง
- หากแตกต่างกัน อาจมีปัญหาเกี่ยวกับเฟิร์มแวร์ 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 ธุรกรรมจะสร้าง