ค่า Derivation Path คือพิกัดที่ใช้ระบุตำแหน่งการแตกแขนงกุญแจและที่อยู่รับเหรียญจาก Seed Phrase ตามมาตรฐาน BIP-32 และ BIP-44 ในระบบ Single-sig เส้นทางนี้ช่วยแยกประเภทสคริปต์ของที่อยู่บิทคอยน์ เช่น Native SegWit (m/84'/0'/0') และ Taproot (m/86'/0'/0') ซึ่งหากเลือกเส้นทางไม่ตรงกับตอนสร้างกระเป๋าจะทำให้กู้คืนแล้วมองไม่เห็นยอดเงิน ส่วนในระบบ Multisig จะต้องแยกไปใช้เส้นทางมาตรฐาน BIP-48 (m/48'/0'/0'/2') เสมอเพื่อป้องกันการนำกุญแจไปปะปนกับกระเป๋าปกติและเป็นข้อมูลบังคับที่ต้องบันทึกไว้ในไฟล์ Output Descriptor เพื่อการกู้คืน

สารบัญ

หนึ่งในเหตุการณ์ชวนหัวใจวายที่อาจจะเคยเจอกันมา คือกรณีที่เพื่อน ๆ นำแผ่นจด Seed Phrase 12 หรือ 24 คำที่เก็บรักษาไว้อย่างดี ไปกรอกกู้คืนลงบนแอปพลิเคชันใหม่หรืออุปกรณ์เครื่องใหม่ แต่พอกู้เสร็จแล้วหน้าจอกลับแสดงยอดเงินคงเหลือเป็น 0 BTC ทั้งที่มั่นใจล้านเปอร์เซ็นต์ว่าสะกดคำศัพท์ถูกต้องทุกคำและไม่เคยถูกใครขโมยแผ่นสำรองไป

หรืออีกกรณีหนึ่งคือ เวลาที่เพื่อน ๆ เริ่มศึกษาการตั้งค่ากระเป๋าหลายลายเซ็น (Multisig Wallet) แล้วเห็นชุดตัวเลขที่มีเครื่องหมายทับและขีดเดี่ยวหน้าตาเหมือนรหัสลับ เช่น m/84'/0'/0' หรือ m/48'/0'/0'/2' ซึ่งเรียกว่า Derivation Path

คำถามสำคัญที่แอดเชื่อว่าแล่นเข้ามาในหัวของเพื่อน ๆ ทันทีก็คือ

"ทำไมกรอก Seed Phrase ชุดเดียวกันเป๊ะ ๆ ลงในคนละโปรแกรม บางทีถึงได้กระเป๋าคนละใบและมองไม่เห็นยอดเงินเดิม?"

"ตัวเลขแต่ละหลักใน m/84'/0'/0' แปลว่าอะไร และเครื่องหมายขีดเดี่ยว (') ที่ห้อยท้ายตัวเลขมีความสำคัญอย่างไร?"

"และเมื่อเราขยับไปทำระบบ Multisig ทำไมอุปกรณ์ถึงเปลี่ยนเส้นทางไปใช้ซอย m/48'/0'/0'/2' แยกต่างหาก แล้วถ้าวันหนึ่งเราลืมเส้นทางนี้ไป จะยังกู้เหรียญคืนได้อยู่ไหม?"

วันนี้ แอดจะพาเพื่อน ๆ มาถอดรหัสแผนที่นำทางที่เรียกว่า Derivation Path แบบเข้าใจง่าย เพื่อให้เพื่อน ๆ อ่านค่าตัวเลขเหล่านี้ได้ขาด ไม่ตกใจเวลาเปลี่ยนแอปหรือกู้คืนกระเป๋า และวางโครงสร้างสำรองข้อมูลได้อย่างรัดกุมที่สุดครับ

Featured Products
Loading products...

Derivation Path คืออะไร ทำไม Seed Phrase ชุดเดียวถึงแตกแขนงกระเป๋าได้นับล้านใบ

จากที่เราคุยกันในเรื่องโครงสร้างกระเป๋า HD Wallet (BIP-32) เพื่อน ๆ ทราบดีอยู่แล้วว่า Seed Phrase เพียงชุดเดียว ไม่ได้สร้างกุญแจออกมาได้แค่ดอกเดียว แต่สามารถแตกแขนงกิ่งก้านออกเป็นบัญชีแยกย่อยและที่อยู่รับเหรียญได้นับพันล้านรายการ (การทำงานของ Seed Phrase กับ Private Key)

ปัญหาที่ตามมาก็คือ เมื่อต้นไม้กุญแจของเรามีกิ่งก้านสาขามหาศาลขนาดนั้น เวลาที่เราเสียบเครื่อง Hardware Wallet หรือเวลาที่เรากู้คืนกระเป๋าลงบนโปรแกรมใหม่ ซอฟต์แวร์จะรู้ได้อย่างไรว่าบิทคอยน์ที่เราเคยโอนเข้าไปเก็บไว้ ถูกวางอยู่ที่กิ่งไหนใบไหน?

คำตอบก็คือ ซอฟต์แวร์ต้องเดินตาม "พิกัดเส้นทางมาตรฐาน" ที่เรียกว่า Derivation Path นั่นเองครับ

ลองจินตนาการภาพตามแอดง่าย ๆ นะครับ หาก Seed Phrase เปรียบเสมือน "คีย์การ์ดมาสเตอร์ของเจ้าของโครงการคอนโดมิเนียมขนาดใหญ่ที่มีหลายสิบตึก" ค่า Derivation Path ก็เปรียบเสมือน "บ้านเลขที่ที่ระบุ ตึก / ชั้น / โซน / และหมายเลขห้อง" เช่น ตึก 84 / เหรียญที่ 0 / ชั้น 0 / โซน 0 / ห้องที่ 0 ต่อให้เพื่อน ๆ ถือคีย์การ์ดมาสเตอร์ใบที่ถูกต้องอยู่ในมือ แต่ถ้าเดินเข้าผิดตึก เช่น เงินเก็บไว้ที่ตึก 84 แต่แอปใหม่พาเราเดินไปเปิดห้องที่ตึก 44 พอเปิดประตูเข้าไปเราก็จะเจอแต่ห้องว่างเปล่าที่ไม่มีเฟอร์นิเจอร์หรือทรัพย์สินของเราวางอยู่เลยครับ

อ่านค่าตัวเลขแต่ละหลักใน m / purpose' / coin_type' / account' / change / address_index แบบภาษาคน

เพื่อให้เพื่อน ๆ อ่านค่าพิกัดนี้ได้เหมือนอ่านป้ายบอกทาง แอดขอยกตัวอย่างเส้นทางยอดนิยมที่สุดของบิทคอยน์ในปัจจุบัน นั่นคือ m/84'/0'/0'/0/0 มาชำแหละให้ดูทีละหลักตามมาตรฐาน BIP-44 ดังนี้ครับ

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

  • ตัวอักษร m (Master Key): ย่อมาจาก Master Privey Keyหรือแม่กุญแจหลักบนสุดที่เกิดจาก Seed Phrase ของเรา
  • หลักที่ 1 purpose' เช่น 84': ระบุ "มาตรฐานโครงสร้างหรือประเภทสคริปต์ของที่อยู่" โดยตัวเลขนี้จะอ้างอิงตามหมายเลขเอกสารมาตรฐาน BIP เช่น เลข 84' หมายถึงมาตรฐาน BIP-84 (ที่อยู่บิทคอยน์แบบ Native SegWit ที่ขึ้นต้นด้วย bc1q)
  • หลักที่ 2 coin_type' เช่น 0': ระบุ "ชนิดของสกุลเงินดิจิทัล" ตามตารางมาตรฐานสากล SLIP-0044 โดยเลข 0' คือเครือข่ายหลักของ Bitcoin (Mainnet), เลข 1' คือเครือข่ายทดสอบ (Testnet) และเลข 60' คือเครือข่าย Ethereum เป็นต้น
  • หลักที่ 3 account' เช่น 0': ระบุ "ลำดับบัญชีแยกย่อย (Account)" โดยคอมพิวเตอร์จะเริ่มนับบัญชีแรกที่เลข 0' เสมอ หากเพื่อน ๆ กดปุ่ม Add Account ในโปรแกรม Trezor Suite เพื่อแยกบัญชีออมเงินก้อนที่สองและสาม ตัวเลขหลักนี้ก็จะขยับเป็น 1', 2' ตามลำดับ และระดับบัญชีหลักที่ 3 นี้เองคือจุดที่ระบบดึงค่า xPub ออกมาใช้งานครับ
  • หลักที่ 4 change (เลข 0 หรือ 1): ระบุ "โซนที่อยู่รับเงินภายนอกเทียบกับที่อยู่รับเงินทอน" โดยเลข 0 คือโซนที่อยู่สำหรับแสดงบนหน้าจอให้คนอื่นโอนเหรียญเข้ามา (Receiving Address) ส่วนเลข 1 คือโซนที่อยู่ภายในสำหรับรับเงินทอนกลับเข้ากระเป๋าตัวเองอัตโนมัติ (Change Address)
  • หลักที่ 5 address_index เช่น 0, 1, 2...: ระบุ "ลำดับที่อยู่รับเหรียญใบที่เท่าไหร่" โดยที่อยู่ใบแรกสุดของกระเป๋าจะเริ่มที่เลข 0 พอเรารับเหรียญเสร็จแล้วกดขอที่อยู่ใหม่ ระบบก็จะขยับเลขท้ายเป็น 1, 2, 3 ไปเรื่อย ๆ ครับ

เครื่องหมายขีดเดี่ยว (') หรือ Hardened Derivation คืออะไร ทำไมถึงช่วยกั้นความปลอดภัยให้กุญแจแต่ละชั้น

เพื่อน ๆ ที่ช่างสังเกตอาจสงสัยว่า ทำไมตัวเลข 3 หลักแรก (84'/0'/0') ถึงมีเครื่องหมายขีดเดี่ยว (') ห้อยท้ายอยู่ (ในบางโปรแกรมอาจเขียนแทนด้วยตัวอักษร h เช่น 84h/0h/0h) แต่ 2 หลักสุดท้ายกลับไม่มีเครื่องหมายนี้?

เครื่องหมายขีดเดี่ยว (') นี้ในทางเทคนิคเรียกว่า Hardened Derivation (การแตกแขนงกุญแจแบบเสริมเกราะนิรภัย) ตามมาตรฐาน BIP-32 ครับ

  • ชั้นที่มีเครื่องหมาย ' (3 หลักแรก): เปรียบเสมือน "ประตูนิรภัยที่ต้องใช้กุญแจส่วนตัวในตัวเครื่อง Hardware Wallet มาไขเปิดเท่านั้น" เพื่อทำหน้าที่เป็นกำแพงแยกแต่ละเหรียญและแต่ละบัญชีออกจากกันอย่างเด็ดขาด หากวันหนึ่งกุญแจในบัญชีที่ 1 เกิดรั่วไหล คนร้ายก็จะไม่สามารถข้ามกำแพงไปแฮกบัญชีที่ 2 หรือข้ามไปแฮกเหรียญอื่นในเครื่องเดียวกันได้เลย
  • ชั้นที่ไม่มีเครื่องหมาย ' (2 หลักสุดท้าย คือโซน 0/0): เป็นการแตกแขนงแบบปกติ (Non-hardened) เพื่อให้ค่ากุญแจสาธารณะแม่แบบ (xPub) ที่ถูกส่งออกมาจากชั้นที่ 3 (m/84'/0'/0') สามารถคำนวณสร้างที่อยู่รับเหรียญ (0/0, 0/1, 0/2) และที่อยู่รับเงินทอน (1/0, 1/1) บนแอปมือถือหรือคอมพิวเตอร์ได้เองโดยไม่ต้องเสียบเครื่อง Hardware Wallet ทุกครั้งนั่นเองครับ

ความสำคัญของ Derivation Path ในระบบ Single-sig ไขปริศนากู้กระเป๋าแล้วไม่เจอยอดเงิน

เมื่อเข้าใจโครงสร้างแผนที่แล้ว ตอนนี้เรามาไขปริศนายอดฮิตในระบบกระเป๋าเดี่ยว (Single-sig) กันครับว่า ทำไมบางครั้งเวลากู้คืน Seed Phrase ข้ามแอปพลิเคชันหรือข้ามยี่ห้อแล้วถึงมองไม่เห็นยอดเงิน

รู้จัก 4 มาตรฐานของ Bitcoin ตั้งแต่ Legacy (m/44'), Nested SegWit (m/49'), Native SegWit (m/84') จนถึง Taproot (m/86')

ตลอดพัฒนาการของเครือข่าย Bitcoin ได้มีการอัปเกรดรูปแบบที่อยู่รับเหรียญให้ทันสมัยและประหยัดค่าธรรมเนียมมากขึ้นเรื่อย ๆ โดยผู้พัฒนาได้กำหนดกฎเหล็กไว้ว่า ที่อยู่แต่ละรูปแบบจะต้องแยกกันอยู่คนละหมายเลข Purpose ในหลักแรก เพื่อไม่ให้สคริปต์ตีกัน ซึ่งแบ่งออกเป็น 4 มาตรฐานดังนี้ครับ

  • มาตรฐานที่ 1 มาตรฐาน BIP-44 (m/44'/0'/0'): สำหรับที่อยู่รูปแบบดั้งเดิม Legacy (P2PKH) ที่ขึ้นต้นด้วยเลข 1...
  • มาตรฐานที่ 2 มาตรฐาน BIP-49 (m/49'/0'/0'): สำหรับที่อยู่ยุคเปลี่ยนผ่าน Nested SegWit (P2SH-P2WPKH) ที่ขึ้นต้นด้วยเลข 3...
  • มาตรฐานที่ 3 มาตรฐาน BIP-84 (m/84'/0'/0'): สำหรับที่อยู่มาตรฐานหลักในปัจจุบัน Native SegWit (P2WPKH) ที่ขึ้นต้นด้วย bc1q... (ให้ความคุ้มค่าเรื่องค่าธรรมเนียมและรองรับกว้างขวางที่สุด)
  • มาตรฐานที่ 4 มาตรฐาน BIP-86 (m/86'/0'/0'): สำหรับที่อยู่รุ่นใหม่ล่าสุด Taproot (P2TR) ที่ขึ้นต้นด้วย bc1p...

ดังนั้น หากเมื่อ 3 ปีก่อนเพื่อน ๆ เคยเก็บเหรียญไว้ในที่อยู่แบบขึ้นต้นด้วยเลข 3 (m/49') หรือเผลอกดสร้างบัญชีแบบ Taproot bc1p (m/86') เอาไว้ พอวันนี้เพื่อน ๆ นำ Seed Phrase ไปกู้ลงแอปใหม่ที่ตั้งค่าเริ่มต้นให้สแกนเฉพาะ m/84' เพียงมาตรฐานเดียว แอปนั้นก็จะรายงานว่ามียอดเงินเป็น 0 บาททันที วิธีแก้จึงง่ายมาก เพียงแค่กดเพิ่มประเภทบัญชี (Script Type / Address Type) ให้ตรงกับซอยเดิมที่เราเคยฝากเหรียญไว้ ยอดเงินทั้งหมดก็จะปรากฏกลับมาครบทุกสตางค์ครับ

การแยกบัญชี (Account Index) และที่อยู่รับเงินทอน (Change Index 0 vs 1) ที่ทำงานอยู่เบื้องหลังอัตโนมัติ

อีกจุดหนึ่งในระบบ Single-sig ที่มักทำให้คนตกใจเวลาส่องดูธุรกรรมบนหน้าเว็บสำรวจบล็อกเชน (Block Explorer) คือเมื่อเราโอนบิทคอยน์ออกไปบางส่วน เช่น มี 1 BTC โอนให้เพื่อน 0.1 BTC แล้วเห็นว่าอีก 0.9 BTC ที่เหลือถูกโอนไปยังที่อยู่ปริศนาที่เราไม่เคยเห็นมาก่อน

ความจริงแล้ว เงิน 0.9 BTC นั้นไม่ได้หายไปไหนครับ แต่โปรแกรมได้ส่งมันกลับเข้ามาเก็บไว้ "ที่อยู่รับเงินทอน (Change Index เลข 1)" เช่นที่พิกัด m/84'/0'/0'/1/0 ซึ่งอยู่ภายใต้ร่มของค่า xPub บัญชีเดิมของเรานั่นเอง ซอฟต์แวร์กระเป๋าของเราจะรวมยอดทั้งจากซอยรับเงิน (0) และซอยเงินทอน (1) มาแสดงผลเป็นยอดรวมเดียวกันให้เราเห็นโดยอัตโนมัติครับ

ความสำคัญของ Derivation Path ในระบบ Multisig เมื่อการเปลี่ยนไปสู่มาตรฐาน BIP-48 คือกฎเหล็กที่ห้ามจำผิด

ทีนี้เมื่อเพื่อน ๆ ขยับจากกระเป๋า Single-sig เข้าสู่การจัดตั้งห้องนิรภัยแบบหลายลายเซ็น (Multisig Wallet) เรื่องของ Derivation Path จะไม่ใช่แค่เรื่องที่ซอฟต์แวร์จัดการให้เงียบ ๆ หลังบ้านอีกต่อไป แต่เป็นสิ่งที่ผู้ใช้งานต้องเข้าใจและตรวจสอบด้วยตัวเองครับ

ทำไมกระเป๋า Multisig ถึงไม่ใช้ซอย m/84' เหมือนกระเป๋าปกติ แต่ต้องแยกเข้า m/48'/0'/0'/2'

คำถามยอดฮิตของคนที่เริ่มทำ Multisig คือ "ในเมื่อเราต้องการสร้างกระเป๋า Multisig แบบที่อยู่ Native SegWit (ที่ขึ้นต้นด้วย bc1q) เหมือนกัน ทำไมอุปกรณ์ถึงไม่ดึงกุญแจจากซอย m/84'/0'/0' เดิมมาใช้ล่ะ?"

เหตุผลสำคัญด้านความปลอดภัยและความเป็นส่วนตัวคือ เราห้ามนำกุญแจสาธารณะ (xPub) ที่เคยใช้ในกระเป๋า Single-sig มาใช้ซ้ำในวง Multisig เด็ดขาดเพื่อป้องกันการรั่วไหลของข้อมูลข้ามกระเป๋าและป้องกันความสับสนของสคริปต์

อุตสาหกรรมบิทคอยน์จึงได้กำหนดมาตรฐานแยกเฉพาะสำหรับกระเป๋าหลายลายเซ็นขึ้นมาในชื่อ BIP-48 โดยเปลี่ยนโครงสร้างเส้นทางเป็น m / 48' / 0' / 0' / script_type' ซึ่งมีความหมายในแต่ละหลักดังนี้ครับ

m / 48' / 0' / 0' / 2'

  • 48' (Purpose): ระบุชัดเจนว่ากุญแจกิ่งนี้ถูกสร้างขึ้นเพื่อนำไปผูกเป็นระบบ Multisig เท่านั้น
  • 0' (Coin Type): เครือข่ายหลักของ Bitcoin (Mainnet)
  • 0' (Account): ลำดับบัญชี Multisig บัญชีที่ 1 (หากสร้างวง Multisig วงที่สองโดยใช้เครื่องเดิม ก็สามารถขยับเลขนี้เป็น 1' ได้)
  • 2' (Script Type): สังเกตว่าในมาตรฐาน BIP-48 จะมีหลักที่ 4 ที่ติดเครื่องหมาย Hardened (') เพิ่มเข้ามาอีกหนึ่งชั้นเพื่อระบุประเภทสคริปต์ของห้องนิรภัย โดยเลข 1' หมายถึง Nested SegWit Multisig (P2SH-P2WSH) และเลข 2' หมายถึง Native SegWit Multisig (P2WSH) ซึ่งเป็นมาตรฐานหลักที่ซอฟต์แวร์อย่าง Sparrow Wallet และ Nunchuk ใช้เป็นค่าเริ่มต้นในปัจจุบันครับ

จะเกิดอะไรขึ้นหากดึงค่า xPub มาผิดตอนตั้งค่าหรือตอนกู้คืนกระเป๋าหลายลายเซ็น

ลองนึกภาพตามแอดนะครับ เวลาที่เพื่อน ๆ ตั้งค่ากระเป๋า Multisig แบบไร้สาย (Air-Gapped) เช่น การกดเมนูบนตัวเครื่อง Blockstream Jade เพื่อส่งออก QR Code ของกุญแจไปให้โปรแกรมบนคอมพิวเตอร์สแกน หากตอนตั้งค่าครั้งแรกเพื่อน ๆ เลือกส่งออกจากซอยมาตรฐาน m/48'/0'/0'/2'

แต่พอผ่านไป 5 ปี คอมพิวเตอร์พังและทำไฟล์สำรองโครงสร้างกระเป๋าหาย แต่เพื่อน ๆ ยังมีอุปกรณ์และแผ่นจด Seed Phrase อยู่ครบทั้ง 3 ชุด (สถานการณ์ที่ 3 ในคู่มือการกู้คืน Multisig) ตอนที่จะนำกุญแจทั้ง 3 เครื่องกลับมาประกอบร่างใหม่บนโปรแกรม ถ้าเพื่อน ๆ ดึงค่า xPub ออกมาจากผิด เช่น เผลอไปดึงซอย m/84'/0'/0' ของ Single-sig หรือดึงผิดเป็นบัญชี m/48'/0'/1'/2'

ผลลัพธ์คือ ค่า xPub ที่ได้ออกมาจะเป็นคนละตัวกันทันที และเมื่อนำมาผูกกันเสร็จ ระบบจะสร้างห้องนิรภัยใบใหม่ที่ไม่มียอดเงินเดิมของเราอยู่เลย ดังนั้นการรู้ว่าวง Multisig ของเราตั้งค่าไว้บนซอยมาตรฐาน m/48'/0'/0'/2' จึงช่วยให้เรากู้คืนกระเป๋ากลับมาได้อย่างถูกต้องแม่นยำครับ

ตารางสรุปเส้นทาง Derivation Path มาตรฐานของ Bitcoin ทั้งระบบ Single-sig และ Multisig

เพื่อให้เห็นภาพชัดเจนขึ้น แอดสรุปตารางอ้างอิงเส้นทาง Derivation Path มาตรฐานสากลของ Bitcoin ทั้งสำหรับกระเป๋า Single-sig และกระเป๋า Multisig ออกมาให้ดูแบบหมัดต่อหมัดครับ

มาตรฐาน BIP เส้นทางระดับบัญชี (Derivation Path) รูปแบบกระเป๋าและการใช้งาน รูปแบบสคริปต์ (Script Type) ลักษณะที่อยู่รับเหรียญ (Mainnet Address)
BIP-44 m/44'/0'/0' Single-sig ยุคดั้งเดิม (Legacy) P2PKH ขึ้นต้นด้วยเลข 1...
BIP-49 m/49'/0'/0' Single-sig ยุคเปลี่ยนผ่าน (Nested SegWit) P2SH-P2WPKH ขึ้นต้นด้วยเลข 3...
BIP-84 m/84'/0'/0' Single-sig มาตรฐานหลักปัจจุบัน (Native SegWit) P2WPKH ขึ้นต้นด้วย bc1q... (ยาว 42 ตัวอักษร)
BIP-86 m/86'/0'/0' Single-sig รุ่นใหม่ (Taproot) P2TR ขึ้นต้นด้วย bc1p... (ยาว 62 ตัวอักษร)
BIP-48 (แบบที่ 1) m/48'/0'/0'/1' Multisig แบบ Nested SegWit P2SH-P2WSH ขึ้นต้นด้วยเลข 3...
BIP-48 (แบบที่ 2) m/48'/0'/0'/2' Multisig มาตรฐานหลักปัจจุบัน (Native SegWit) P2WSH ขึ้นต้นด้วย bc1q... (ยาว 62 ตัวอักษร)

สรุป

มาถึงตรงนี้ เพื่อน ๆ จะเห็นแล้วว่า การมี Seed Phrase ที่ถูกต้องเปรียบเสมือนการมีคีย์การ์ดมาสเตอร์ที่มีอำนาจสูงสุดในมือ แต่การรู้จักค่า Derivation Path คือการมีแผนที่ที่ช่วยให้เราเดินไปเปิดตู้เซฟของตัวเองได้อย่างรวดเร็วและไม่หลงทางแม้จะต้องเปลี่ยนซอฟต์แวร์หรือกู้คืนกระเป๋าในอีก 10 ปีข้างหน้า แอดขอฝากแนวทางปฏิบัติง่าย ๆ 3 ข้อดังนี้ครับ

  • ไม่ปรับเปลี่ยนซอย Derivation Path เองนอกมาตรฐานโดยไม่จำเป็น: บางโปรแกรมเปิดโอกาสให้ผู้ใช้ตั้งค่าตัวเลขแปลก ๆ ได้ตามใจชอบ (Custom Derivation Path) ซึ่งแอดไม่แนะนำเด็ดขาดครับ เพราะไม่ได้ช่วยเพิ่มความปลอดภัยเท่ากับการใช้ Passphrase แถมยังสร้างความเสี่ยงสูงมากที่เราจะลืมตัวเลขที่ตั้งเองจนหากระเป๋าตัวเองไม่เจอ ให้ยึดตามซอยมาตรฐานสากล (m/84'/0'/0' สำหรับ Single-sig และ m/48'/0'/0'/2' สำหรับ Multisig) เสมอครับ
  • เก็บไฟล์ Output Descriptor สำหรับสาย Multisig: สำหรับเพื่อน ๆ ที่ทำระบบหลายลายเซ็น การสำรองไฟล์โครงสร้างกระเป๋า (Output Descriptor หรือไฟล์ BSMS) จะช่วยบันทึกทั้งค่า Master Fingerprint, เส้นทาง Derivation Path (m/48'/0'/0'/2') และค่า xPub ของทุกเครื่องไว้ให้ครบถ้วนในที่เดียว และอย่าลืมซ้อมกู้คืนจริง (Recovery Drill) ก่อนโอนสินทรัพย์ก้อนหลักเข้าเก็บทุกครั้งนะครับ

เพื่อน ๆ เคยมีประสบการณ์กู้คืนกระเป๋าข้ามแอปแล้วตกใจเพราะยอดเงินไม่ขึ้นจากเรื่อง Derivation Path กันบ้างไหมครับ หรือตอนนี้นิยมเก็บออมบิทคอยน์ไว้ในซอยมาตรฐานไหนกันอยู่ มาคอมเมนต์พูดคุยแลกเปลี่ยนกันได้เลยนะครับ และหากใครต้องการคำปรึกษาเรื่องการวางโครงสร้างเก็บสินทรัพย์ระยะยาวหรือการเลือกซื้อ Hardware Wallet ของแท้จากตัวแทนจำหน่ายทางการ ทักหาทีมงาน Bitcast ได้ตลอดเลยครับ

คำถามที่พบบ่อย (FAQ)


1. ถ้านำ Seed Phrase ไปกู้คืนลงแอปใหม่แล้วเลือก Derivation Path ผิดซอย เหรียญบิทคอยน์ของเราจะหายไปไหม?

เหรียญไม่ได้หายไปไหนเลยครับ เพราะบิทคอยน์ของเราถูกบันทึกอยู่บนเครือข่ายบล็อกเชนภายใต้กุญแจของซอยเดิมอย่างปลอดภัย การเลือกซอยผิดเป็นเพียงการที่แอปใหม่พาเราไปเปิดดูห้องว่างคนละห้องเท่านั้น เพียงแค่เพื่อน ๆ เปลี่ยนการตั้งค่าประเภทสคริปต์หรือระบุเส้นทาง Derivation Path ให้ตรงกับตอนที่สร้างกระเป๋าเดิม (เช่น เปลี่ยนจาก m/44' มาเป็น m/84') ยอดเงินทั้งหมดก็จะแสดงผลกลับมาครบ 100% ทันทีครับ

Q2: เราสามารถตั้งตัวเลข Derivation Path แปลก ๆ เองเพื่อซ่อนเหรียญแทนการใช้ Passphrase ได้ไหม?

ไม่แนะนำอย่างยิ่งครับ การตั้งตัวเลขซอยแปลก ๆ นอกมาตรฐานไม่ได้ช่วยป้องกันกรณีแผ่น Seed Phrase ถูกขโมยได้ดีเท่า Passphrase เพราะผู้โจมตีสามารถใช้โปรแกรมคอมพิวเตอร์สแกนไล่ค้นหาตามซอยต่าง ๆ ได้อย่างรวดเร็ว แต่ในทางกลับกัน ตัวเจ้าของเองมีโอกาสสูงมากที่จะลืมตัวเลขซอยที่ตั้งเองจนกู้เหรียญคืนไม่ได้ ดังนั้นควรใช้เส้นทางมาตรฐานสากลเสมอครับ

Q3: ที่อยู่รับเหรียญของ Single-sig (BIP-84) กับของ Multisig (BIP-48) ที่ขึ้นต้นด้วย bc1q เหมือนกัน มีจุดสังเกตความต่างอย่างไร?

แม้ทั้งคู่จะเป็นมาตรฐาน Native SegWit ที่ขึ้นต้นด้วย bc1q เหมือนกัน แต่เบื้องหลังใช้สคริปต์คนละประเภทกันครับ โดยที่อยู่ของกระเป๋า Single-sig (m/84'/0'/0', P2WPKH) จะมีความยาวทั้งหมด 42 ตัวอักษร ในขณะที่ที่อยู่ของกระเป๋า Multisig (m/48'/0'/0'/2', P2WSH) จะเป็นการแฮชสคริปต์ที่มีขนาดยาวกว่า จึงมีความยาวทั้งหมด 62 ตัวอักษร ครับ

Q4: ถ้าเรากดปุ่ม Add Account เพื่อสร้างบัญชีบิทคอยน์ที่ 2 และที่ 3 ในเครื่องเดียวกัน เส้นทาง Derivation Path จะเปลี่ยนตรงหลักไหน?

ระบบจะขยับตัวเลขที่ หลักที่ 3 (account') ครับ โดยบัญชีแรกสุด (Account #1) จะอยู่ที่พิกัด m/84'/0'/0' พอกดสร้างบัญชีที่ 2 ก็จะขยับเป็น m/84'/0'/1' และบัญชีที่ 3 จะเป็น m/84'/0'/2' ตามลำดับ ซึ่งแต่ละบัญชีจะมีค่า xPub แยกขาดจากกันครับ

Q5: หากใครสักคนรู้ค่า Derivation Path ของกระเป๋าเรา เขาจะสามารถแฮกหรือขโมยเหรียญได้หรือไม่?

ไม่สามารถแฮกได้เลยครับ เพราะค่า Derivation Path เป็นเพียงแผนที่บอกพิกัดมาตรฐานสาธารณะที่ใช้ร่วมกันทั่วโลก (เช่น ทุกคนที่ใช้ Native SegWit ก็ใช้พิกัด m/84'/0'/0' เหมือนกันทั้งหมด) ตราบใดที่ไม่มีใครรู้คำศัพท์ Seed Phrase หรือกุญแจส่วนตัวของเรา เขาก็ไม่สามารถเปิดเข้าไปยุ่งกับสินทรัพย์ในพิกัดนั้นได้ครับ

Derivation Path คืออะไร ถอดรหัสเส้นทางสร้างกระเป๋าตั้งแต่ Single-sig สู่มาตรฐาน BIP-48 ในระบบ Multisig

อ่านเพิ่มเติมเกี่ยวกับ Derivation Path คืออะไร ถอดรหัสเส้นทางสร้างกระเป๋าตั้งแต่ Single-sig สู่มาตรฐาน BIP-48 ในระบบ Multisig

Hardware Wallet ที่มีแบตเตอรี่ต้องชาร์จบ่อยแค่ไหน ถ้าไม่ค่อยได้เปิดใช้งาน?

อ่านเพิ่มเติมเกี่ยวกับ Hardware Wallet ที่มีแบตเตอรี่ต้องชาร์จบ่อยแค่ไหน ถ้าไม่ค่อยได้เปิดใช้งาน?

เจาะลึก 6 กลโกงแฮกเกอร์ ที่ผู้ใช้ Hardware Wallet ต้องระวัง

อ่านเพิ่มเติมเกี่ยวกับ เจาะลึก 6 กลโกงแฮกเกอร์ ที่ผู้ใช้ Hardware Wallet ต้องระวัง