การสำรองแบบ Shamir และการแบ่ง seed phrase
การสำรองแบบ Shamir แบ่งความลับสำหรับกู้คืนวอลเล็ตออกเป็นหลายส่วน เพื่อไม่ให้สำเนาใดสำเนาหนึ่งเพียงลำพังถูกใช้ขโมยเงินของคุณได้ มาเรียนรู้ว่ามันทำงานอย่างไร และทำไมการตัด seed phrase ออกเป็นสองท่อนจึงมีความเสี่ยง
การสำรองแบบ Shamir แบ่งความลับสำหรับกู้คืนวอลเล็ตของคุณออกเป็นหลายส่วน โดยแต่ละส่วนจดเป็นชุดคำของตัวเอง เพื่อให้จำนวนส่วนที่เลือกไว้ (เช่น สองส่วนใดก็ได้จากสามส่วน) สามารถกู้คืนวอลเล็ตได้ ขณะที่ส่วนที่น้อยกว่านั้นไม่เปิดเผยสิ่งใดที่เป็นประโยชน์ วิธีนี้ทำให้คุณเก็บข้อมูลสำรองไว้ในหลายสถานที่ได้ โดยไม่มีสถานที่ใดเก็บกุญแจฉบับเต็มไว้
สิ่งนี้แก้ปัญหาที่เกิดขึ้นจริง ข้อมูลสำรอง seed phrase เพียงชุดเดียวคือจุดล้มเหลวเพียงจุดเดียว หากทำหาย เงินของคุณก็หายไปด้วย และหากมีคนพบเข้า เงินของคุณก็อาจถูกขโมย การทำสำเนาเพิ่มช่วยลดความเสี่ยงที่จะสูญหาย แต่เพิ่มความเสี่ยงที่จะถูกขโมย การสำรองแบบ Shamir ถูกออกแบบมาเพื่อลดทั้งสองอย่างพร้อมกัน แต่ก็เพิ่มความซับซ้อน และหากทำผิดพลาด คุณอาจล็อกตัวเองออกจากวอลเล็ตได้
Shamir's Secret Sharing ทำงานอย่างไร
Shamir's Secret Sharing ถูกอธิบายโดยนักวิทยาการเข้ารหัส Adi Shamir ในปี 1979 แนวคิดหลักอาศัยข้อเท็จจริงทางคณิตศาสตร์ที่ว่า ต้องใช้จุดจำนวนหนึ่งเพื่อกำหนดเส้นโค้งหนึ่งเส้น สองจุดกำหนดเส้นตรง สามจุดกำหนดพาราโบลา และเป็นเช่นนี้ต่อไป
พูดง่าย ๆ คือ:
- 1ความลับถูกเข้ารหัสเป็นจุดหนึ่งบนเส้นโค้งที่สุ่มเลือกขึ้นมา
- 2จุดต่าง ๆ บนเส้นโค้งนั้นถูกแจกจ่ายออกไปเป็นส่วน ๆ
- 3เมื่อมีส่วนมากพอ (ถึงเกณฑ์) ก็สามารถสร้างเส้นโค้งขึ้นใหม่และกู้คืนความลับได้
- 4หากมีน้อยกว่านั้น จะมีเส้นโค้งที่เข้ากันได้นับไม่ถ้วน ส่วนต่าง ๆ จึงไม่บอกอะไรเกี่ยวกับความลับเลย
คุณสมบัติข้อสุดท้ายนี้เองที่ทำให้มันแตกต่างจากการแบ่งวลีออกเป็นท่อน ๆ
การสำรองแบบ Shamir ในวอลเล็ต: SLIP-39
SatoshiLabs ผู้ผลิตฮาร์ดแวร์วอลเล็ตและบริษัทเบื้องหลัง Trezor ได้เผยแพร่มาตรฐานสำหรับการสำรองแบบ Shamir ชื่อ SLIP-39 วอลเล็ตที่รองรับมาตรฐานนี้จะสร้างส่วนต่าง ๆ เป็นรายการคำ คล้ายกับ seed phrase แต่ใช้รายการคำและรูปแบบที่ต่างออกไป
เมื่อตั้งค่าการสำรองแบบ Shamir โดยทั่วไปคุณจะเลือก:
- จำนวนส่วน: เช่น 3 หรือ 5
- เกณฑ์: จำนวนส่วนที่ต้องใช้ในการกู้คืน เช่น 2 หรือ 3
การใช้งานบางแบบยังรองรับกลุ่ม เช่น “หนึ่งส่วนจากกลุ่มครอบครัวและสองส่วนจากกลุ่มส่วนตัว” สำหรับการตั้งค่าที่ซับซ้อนขึ้น
คำเตือนเรื่องความเข้ากันได้
ไม่สามารถป้อนส่วน SLIP-39 ลงในวอลเล็ตที่รองรับเฉพาะ BIP-39 ได้ ซึ่ง BIP-39 เป็นมาตรฐานที่วอลเล็ตส่วนใหญ่ใช้กับ seed phrase 12 หรือ 24 คำ ก่อนจะพึ่งพาการสำรองแบบ Shamir ให้ยืนยันว่าวอลเล็ตใดบ้างที่กู้คืนได้ และบันทึกข้อมูลนั้นไว้พร้อมกับแผนของคุณ
ทำไมคุณไม่ควรตัด seed phrase ออกเป็นสองท่อนเฉย ๆ
วิธีทำเองที่พบบ่อยคือเขียนคำที่ 1–12 ลงบนกระดาษแผ่นหนึ่ง และคำที่ 13–24 ลงบนอีกแผ่น ดูเหมือนฉลาด แต่มีปัญหาสองข้อ:
| วิธี | หากชิ้นหนึ่งถูกขโมย | หากชิ้นหนึ่งหายไป |
|---|---|---|
| Seed phrase ฉบับเต็มหนึ่งชุด | เงินอาจถูกเอาไป | เงินสูญหายหากวอลเล็ตเสียด้วย |
| Seed phrase ที่ตัดเป็นสองท่อน | ผู้โจมตีรู้ความลับครึ่งหนึ่ง ทำให้เดาส่วนที่เหลือได้ง่ายขึ้นมาก | เงินสูญหายหากวอลเล็ตเสียด้วย |
| Shamir 2 จาก 3 | ผู้โจมตีไม่ได้ข้อมูลที่เป็นประโยชน์ | กู้คืนด้วยอีกสองส่วนที่เหลือ |
การแบ่งวลีทำให้ทุกชิ้นมีค่าสำหรับขโมย และทำให้ทุกชิ้นขาดไม่ได้ คุณจะได้ข้อเสียของทั้งสองแบบ หากต้องการข้อมูลสำรองแบบกระจาย ให้ใช้รูปแบบที่ถูกต้อง หากต้องการเจาะลึกยิ่งขึ้น อ่าน อธิบาย derivation path ของวอลเล็ต
การสำรองแบบ Shamir เทียบกับทางเลือกอื่น
| ทางเลือก | วิธีทำงาน | ข้อดีหลัก | ข้อเสียหลัก |
|---|---|---|---|
| Seed phrase ชุดเดียว | รายการคำชุดเดียว | เรียบง่าย รองรับกว้างขวาง | จุดล้มเหลวเพียงจุดเดียว |
| Seed phrase + passphrase | Seed บวกคำลับเพิ่มเติมหนึ่งคำ | พบ seed อย่างเดียวยังไม่พอ | ลืม passphrase เท่ากับสูญเสียเงิน |
| การสำรองแบบ Shamir | ส่วนต่าง ๆ พร้อมเกณฑ์ | จัดเก็บแบบกระจาย ทนต่อการสูญหายของบางส่วน | ต้องรองรับ SLIP-39 และมีสิ่งที่ต้องจัดการมากขึ้น |
| วอลเล็ต multisig | กุญแจหลายดอกต้องลงนาม | ไม่มีกุญแจดอกใดย้ายเงินได้เพียงลำพัง | การตั้งค่าและการกู้คืนซับซ้อนกว่า |
คู่มือของเราเรื่อง passphrase และ multisig สำหรับเงินที่ใช้ร่วมกัน อธิบายทางเลือกเหล่านั้น
วิธีตั้งค่าการสำรองแบบ Shamir อย่างปลอดภัย
- 1ใช้วอลเล็ตที่รองรับ และดาวน์โหลดหรือซื้อจากแหล่งทางการ
- 2เลือกเกณฑ์ที่สมเหตุสมผล 2 จาก 3 เป็นจุดเริ่มต้นที่นิยม คุณทำหายได้หนึ่งส่วนและยังกู้คืนได้ และส่วนที่ถูกขโมยไปเพียงส่วนเดียวก็ไร้ประโยชน์
- 3จดแต่ละส่วนอย่างระมัดระวัง ด้วยลายมือ ติดป้ายหมายเลขส่วนและเกณฑ์ และห้ามถ่ายรูปเด็ดขาด
- 4เก็บแต่ละส่วนไว้คนละที่ เช่น ที่บ้านของคุณและอีกสถานที่หนึ่งที่ไว้ใจได้ การเก็บทุกส่วนไว้ในลิ้นชักเดียวกันทำให้หมดความหมาย
- 5ทดสอบการกู้คืน ด้วยจำนวนส่วนเท่ากับเกณฑ์ ก่อนจะโอนเงินจำนวนมากเข้าวอลเล็ต
- 6บันทึกแผนไว้ เพื่อให้คนที่ไว้ใจรู้ว่ามีแผนนี้อยู่ ต้องใช้กี่ส่วน และวอลเล็ตประเภทใดที่กู้คืนได้ ดูคู่มือของเราเรื่อง การวางแผนมรดกสำหรับคริปโต
- 7พิจารณาใช้ข้อมูลสำรองแบบโลหะ สำหรับแต่ละส่วนเพื่อป้องกันไฟและน้ำ
ข้อผิดพลาดที่พบบ่อย
- ตั้งเกณฑ์เท่ากับจำนวนส่วนทั้งหมด ทำให้การทำหายเพียงส่วนเดียวหมายถึงการสูญเสียทุกอย่าง
- มอบส่วนต่าง ๆ มากเกินไปให้คนที่รู้จักกัน ซึ่งอาจนำมารวมกันได้
- ลืมว่าส่วนเหล่านั้นใช้มาตรฐานวอลเล็ตแบบใด
- ไม่เคยทดสอบการกู้คืน
- มองว่า Shamir เป็นการป้องกันมัลแวร์บนอุปกรณ์ที่ใช้ลงนาม ซึ่งไม่ใช่
สรุป
การสำรองแบบ Shamir ช่วยให้คุณกระจายความลับสำหรับกู้คืนวอลเล็ตไปไว้หลายสถานที่ เพื่อไม่ให้การทำหายหรือถูกขโมยไปเพียงส่วนเดียวทำให้คุณเสียเงิน วิธีนี้ปลอดภัยกว่าการตัด seed phrase เป็นสองท่อนมาก แต่ต้องใช้วอลเล็ตที่เข้ากันได้และการบันทึกอย่างรอบคอบ สำหรับคนส่วนใหญ่ที่ถือ Bitcoin หรือคริปโตอื่นแบบเก็บรักษาเอง ข้อมูลสำรองชุดเดียวที่เก็บไว้อย่างดีก็เพียงพอแล้ว Shamir จะคุ้มค่าเมื่อจำนวนเงินและการวางแผนของคุณสมควรกับขั้นตอนที่เพิ่มขึ้น เริ่มจากพื้นฐานด้วยคู่มือของเราเรื่อง วิธีสำรอง seed phrase อย่างถูกต้อง
คำถามที่พบบ่อย
การสำรองแบบ Shamir คืออะไร?
การสำรองแบบ Shamir แบ่งความลับสำหรับกู้คืนวอลเล็ตออกเป็นหลายส่วน (share) โดยแต่ละส่วนจดเป็นรายการคำของตัวเอง คุณเลือกได้ว่าต้องใช้กี่ส่วนในการกู้คืน เช่น สองส่วนใดก็ได้จากสามส่วน หากมีน้อยกว่านั้นจะไม่เปิดเผยข้อมูลที่เป็นประโยชน์เกี่ยวกับความลับเลย ดังนั้นการทำหายหรือถูกขโมยไปหนึ่งส่วนจึงไม่ทำให้เงินของคุณตกอยู่ในความเสี่ยง
ฉันตัด seed phrase 24 คำของฉันออกเป็นสองท่อนแทนได้ไหม?
ไม่แนะนำ แต่ละครึ่งยังคงเปิดเผยความลับบางส่วนและช่วยลดงานที่ผู้โจมตีต้องใช้ในการเดาส่วนที่เหลือลงอย่างมาก และการทำครึ่งใดครึ่งหนึ่งหายอาจทำให้กู้คืนไม่ได้เลย การสำรองแบบ Shamir และวอลเล็ตแบบ multisig ถูกออกแบบมาเพื่อหลีกเลี่ยงปัญหาทั้งสองข้อนี้
การสำรองแบบ Shamir ใช้ได้กับทุกวอลเล็ตไหม?
ไม่ได้ มาตรฐานที่ใช้กันทั่วไปสำหรับการสำรองแบบ Shamir ในวอลเล็ตคือ SLIP-39 ซึ่งแตกต่างจาก seed phrase แบบ BIP-39 ที่วอลเล็ตส่วนใหญ่ใช้ ส่วน Shamir จะกู้คืนได้เฉพาะในวอลเล็ตที่รองรับ SLIP-39 เท่านั้น จึงควรตรวจสอบความเข้ากันได้และจดไว้ว่าวอลเล็ตประเภทใดเป็นผู้สร้างส่วนเหล่านั้น
การสำรองแบบ Shamir เหมือนกับ multisig ไหม?
ไม่เหมือน การสำรองแบบ Shamir แบ่งข้อมูลสำรองของกุญแจดอกเดียวออกเป็นหลายส่วน แต่เมื่อกู้คืนแล้ว วอลเล็ตก็ยังลงนามด้วยกุญแจดอกเดียว ส่วน multisig ใช้กุญแจอิสระหลายดอกที่แต่ละดอกต้องลงนามธุรกรรม Multisig ป้องกันกรณีอุปกรณ์เครื่องเดียวถูกเจาะ ในขณะที่ Shamir ปกป้องวิธีจัดเก็บข้อมูลสำรองเป็นหลัก
