คำสิบสองคำ สำหรับคนส่วนใหญ่ที่อ่านบทความนี้ นั่นคือโมเดลความปลอดภัยทั้งหมด: คำภาษาอังกฤษทั่วไปสิบสองหรือยี่สิบสี่คำ สร้างขึ้นครั้งเดียว จดลงบนกระดาษ และควบคุมทุกสิ่งที่พวกเขาเป็นเจ้าของบนเชน seed phrase แบบ BIP39 สมควรได้รับเครดิตอย่างแท้จริง — มันทำให้การสำรองกระเป๋าพกพาได้ เป็นมาตรฐาน และไม่ผูกกับผู้ผลิตรายใด แต่ในขณะเดียวกันมันก็ค่อย ๆ กลายเป็นความเสี่ยงที่กระจุกตัวมากที่สุดในวงการอย่างเงียบ ๆ seed phrase คือจุดล้มเหลวเพียงจุดเดียว: ความลับชิ้นเดียวที่มอบทุกสิ่งให้ใครก็ตามที่อ่านมัน และฝังทุกสิ่งไว้ตลอดกาลหากคนเพียงคนเดียวที่รู้มันทำมันหาย
ประเด็นสำคัญที่ต้องบอกก่อน: คุณไม่สามารถแก้ปัญหานี้ด้วยที่ซ่อนที่ดีกว่าเดิมได้ การจัดวาง seed phrase ชุดเดียวไม่ว่าจะแบบใดล้วนเป็นเพียงการแลกความเสี่ยงจากการถูกเปิดเผยกับความเสี่ยงจากการสูญหายเท่านั้น ทางแก้ต้องเป็นเชิงโครงสร้าง — กระจายการควบคุมไปยังกุญแจอิสระหลายดอก เพื่อไม่ให้ความลับชิ้นเดียวสามารถถอนเงินออกจากกระเป๋าได้ หรือทำให้กระเป๋าถูกล็อกตลอดกาลด้วยการหายไปของมัน
ความลับหนึ่งเดียว กับสองหนทางล้มเหลวที่ตรงข้ามกัน
seed phrase คือกุญแจหลักที่สมบูรณ์ของกระเป๋า: มันสร้าง private key และที่อยู่ทุกตัวขึ้นมาแบบ deterministic ดังนั้นใครก็ตามที่ถือคำเหล่านั้นย่อมควบคุมเงินได้ โดยไม่มีการถามอะไรอีก มันคือความลับแบบผู้ถือ (bearer secret) ไม่มีบัญชีให้อายัด ไม่มีการรีเซ็ตรหัสผ่าน และไม่มีสายด่วนใดที่มีอำนาจย้อนกลับการโอน
จุดล้มเหลวเพียงจุดเดียวคือส่วนประกอบใดก็ตามที่เมื่อถูกเจาะหรือสูญหายแล้วจะทำให้ทั้งระบบล่มลง เมื่อวัดตามนิยามนี้ การเก็บรักษาด้วย seed ชุดเดียวล้มเหลวได้ทั้งสองทิศทางพร้อมกัน:
- การถูกเปิดเผย ใครก็ตามที่อ่านคำเหล่านั้น — ขโมยที่บุกเข้าบ้าน อัลบั้มรูปที่ซิงก์ขึ้นคลาวด์ มัลแวร์ที่สแกนแอปจดโน้ต หรือญาติที่รู้ว่าคุณเก็บของไว้ที่ไหน — สามารถกวาดเงินออกจากกระเป๋าได้ภายในไม่กี่นาที จากที่ไหนก็ได้ และย้อนกลับไม่ได้
- การสูญหาย หากสำเนาชุดเดียวถูกไฟไหม้ น้ำท่วม เลือนหาย หรือถูกทิ้งไปพร้อมขยะ เหรียญจะยังคงมองเห็นได้บนเชนตลอดกาล แต่ใช้จ่ายไม่ได้เลย บล็อกเชนจะยินดีแสดงยอดคงเหลือของคุณให้หลาน ๆ ของคุณเห็น แต่จะไม่มีใครในนั้นแตะต้องมันได้เลย
ส่วนที่น่าอึดอัดคือความเสี่ยงสองอย่างนี้ดึงกันไปคนละทาง ยิ่งทำสำเนามากขึ้นก็ยิ่งลดโอกาสสูญหาย แต่ในขณะเดียวกันก็เพิ่มโอกาสถูกเปิดเผยเป็นทวีคูณ เก็บสำเนาไว้เพียงชุดเดียวในที่ซ่อนชั้นเยี่ยม คุณก็ทำสิ่งตรงกันข้าม ด้วย seed phrase ชุดเดียว คุณทำได้เพียงเลือกว่าจะเสี่ยงกับความล้มเหลวแบบไหนมากกว่ากัน — แต่คุณไม่สามารถกำจัดรูปแบบความล้มเหลวนั้นให้หมดไปได้
กรณีการสูญเสียที่มีบันทึกไว้ดีที่สุดในวงการ
ไม่มีสิ่งใดในนี้เป็นเรื่องสมมติ ในปี 2013 James Howells พนักงานไอทีในเวลส์ ทิ้งฮาร์ดไดรฟ์ที่เก็บกุญแจของ BTC ราว 7,500 เหรียญ มันถูกฝังอยู่ในบ่อขยะเมืองนิวพอร์ตนับแต่นั้น และข้อเสนอขุดค้นตลอดหนึ่งทศวรรษก็ไม่อาจขยับได้ทั้งใจของสภาท้องถิ่นและตัวเหรียญ ส่วน Stefan Thomas โปรแกรมเมอร์ในซานฟรานซิสโก ถือไดรฟ์ IronKey ที่เข้ารหัสไว้ซึ่งบรรจุกุญแจของ BTC เพียงกว่า 7,000 เหรียญเล็กน้อย — เขาลืมรหัสผ่านไปหลายปีแล้ว และตามที่มีรายงานอย่างกว้างขวางในปี 2021 เขาใช้การเดาไปแล้วแปดครั้งจากสิบครั้งของไดรฟ์ก่อนที่มันจะล็อกตลอดกาล นอกเหนือจากกรณีดัง ๆ เหล่านี้ ตัวเลขประมาณการของ Chainalysis ที่ถูกอ้างอิงอย่างกว้างขวางระบุว่า bitcoin ที่สูญหายอย่างถาวรมีราว 20% ของเหรียญทั้งหมดที่เคยถูกขุดขึ้นมา
สังเกตว่าคนเหล่านี้เป็นใคร: ผู้เชี่ยวชาญด้านไอทีคนหนึ่งและวิศวกรซอฟต์แวร์ฝีมือดีอีกคน ทั้งคู่เข้าวงการเร็วพอที่จะเข้าใจอย่างถ่องแท้ว่าตนถืออะไรอยู่ การเก็บรักษาด้วยกุญแจดอกเดียวไม่ได้ลงโทษความไม่รู้ — มันลงโทษความผิดพลาดตามธรรมชาติของมนุษย์ธรรมดา และลงโทษอย่างสิ้นเชิง ความผิดพลาดในการจัดเก็บเอกสารที่ทำให้ลูกค้าธนาคารเสียเวลาโทรศัพท์ไปสักบ่ายหนึ่ง กลับทำให้ผู้ถือแบบ self-custody เสียทุกอย่างไปอย่างถาวร
ทำไมการสำรองมากขึ้นจึงแก้ปัญหาไม่ได้
คำแนะนำมาตรฐานหลังเรื่องราวการสูญเสียทุกครั้งเหมือนกันหมด: สำรองข้อมูลให้ดี ปั๊มคำเหล่านั้นลงบนแผ่นเหล็กเพื่อให้ไฟและน้ำทำลายไม่ได้ เก็บสำเนาไว้หลายที่ เช่าตู้นิรภัย ทั้งหมดนี้สมเหตุสมผลเท่าที่มันเป็น — และไม่มีข้อใดแตะโครงสร้างพื้นฐานเลย เพราะสำเนา seed phrase ทุกชุดคือกุญแจทั้งดอก แผ่นเหล็กรอดจากไฟไหม้บ้าน; แต่มันก็รอดนานพอที่จะถูกใครค้นเจอเช่นกัน ทุกที่สำรองที่เพิ่มขึ้นคือที่อีกแห่งหนึ่งซึ่งสำเนาความมั่งคั่งของคุณที่สมบูรณ์และใช้จ่ายได้นั่งรออยู่ให้ผู้อ่านผิดคนมาพบ
วงการรู้เรื่องนี้ดี ซึ่งเป็นเหตุว่าทำไม "การสำรอง seed ในรูปแบบบริการ" จึงถูกพยายามทำอยู่เรื่อยมา ในเดือนพฤษภาคมปีนี้ Ledger ประกาศ Recover บริการแบบสมัครใจที่แบ่งชิ้นส่วนสำเนา seed ของอุปกรณ์ที่เข้ารหัสไว้ให้ผู้ดูแลสามราย โดยผูกกับการยืนยันตัวตน กระแสต่อต้านจากผู้ใช้สายเทคนิคเกิดขึ้นทันทีและดังพอที่จะทำให้ Ledger ระงับการเปิดตัวไว้ก่อน เราได้เขียนถึงสิ่งที่เหตุการณ์ครั้งนั้นสอนเราเกี่ยวกับ self-custodyไว้ในเวลานั้น; แต่ประเด็นที่แคบกว่าซึ่งสำคัญในที่นี้คือเหตุผลว่าทำไมผลิตภัณฑ์นี้จึงมีอยู่ตั้งแต่แรก seed ชุดเดียวที่ไม่มีการสำรองคือการสูญเสียที่รอวันเกิดขึ้น และผู้ผลิตก็รับรู้แรงกดดันนั้นจากตั๋วแจ้งปัญหาของฝ่ายบริการทุกวัน แต่การประกอบ seed กลับคืนผ่านบุคคลที่สามไม่ได้กำจัดจุดล้มเหลวเพียงจุดเดียว — มันเพียงแลกมันกับความเสี่ยงด้านคู่สัญญาและกระบวนการ ซึ่งเป็นหมวดความเสี่ยงที่การล่มสลายของ FTX ในเดือนพฤศจิกายนปีที่แล้วได้ตีราคาให้เห็นแล้วสำหรับใครก็ตามที่ยังต้องการบทเรียนนี้
ต้องให้ความเป็นธรรมว่า hardware wallet นั้นเก่งจริงในสิ่งที่มันอ้าง: เก็บกุญแจให้ห่างจากคอมพิวเตอร์ที่เชื่อมต่ออินเทอร์เน็ต แต่ seed ที่อยู่ภายใน hardware wallet ก็ยังคงเป็น seed ชุดเดียว หากทำอุปกรณ์และสำเนากระดาษของมันหายไปพร้อมกัน ผลลัพธ์ก็ไม่ต่างจากบ่อขยะ
อะไรที่กำจัดจุดล้มเหลวเพียงจุดเดียวได้จริง
มัลติซิก (multisig) — การเก็บรักษาแบบหลายลายเซ็น — เปลี่ยนโครงสร้างแทนที่จะเปลี่ยนที่ซ่อน กระเป๋ามัลติซิกต้องการกุญแจอิสระ M จาก N ดอกเพื่ออนุมัติธุรกรรมใด ๆ: 2-of-3, 3-of-5 เป็นต้น ไม่มีกุญแจดอกใดดอกหนึ่งที่ย้ายเงินได้เพียงลำพัง และการสูญเสียกุญแจดอกใดดอกหนึ่งก็ไม่อาจแช่แข็งเงินได้ จุดล้มเหลวเพียงจุดเดียวไม่ได้ถูกซ่อนให้ดีขึ้น; มันหยุดมีอยู่
เมื่อทำอย่างถูกต้อง กุญแจแต่ละดอกจากทั้งหมด N ดอกจะถูกสร้างเป็น seed phrase มาตรฐานแบบ BIP39 ของตัวเอง บนอุปกรณ์ของตัวเอง เก็บไว้ในที่ของตัวเอง — และแต่ละดอกอาจเป็นของคนละคนได้ กระเป๋าแบบ 2-of-3 ที่มีกุญแจอยู่ในสองเมืองและในมือของสองคน จะไม่มีสถานที่ อุปกรณ์ หรือบุคคลใดเลยที่ความล้มเหลวของมันจะร้ายแรงถึงชีวิต
เพื่อความเป็นธรรมต่อทางเลือกอื่น: กระเป๋า MPC มุ่งสู่เป้าหมายเดียวกันด้วยคณิตศาสตร์ที่ต่างออกไป โดยแบ่งกุญแจดอกเดียวออกเป็นชิ้นส่วน (share) ที่ร่วมกันคำนวณลายเซ็น — เป็นการออกแบบที่สมเหตุสมผลพร้อมข้อแลกเปลี่ยนของตัวเองในเรื่องความโปร่งใสของโปรโตคอลและการกู้คืน ส่วนผู้ดูแล (custodian) กำจัดการจัดการกุญแจออกไปทั้งหมด ซึ่งบางสถาบันจำเป็นต้องใช้จริง ๆ โดยแลกกับการต้องไว้ใจผู้ดูแล ข้อดีเฉพาะตัวของมัลติซิกคือตัวเชนเองเป็นผู้บังคับใช้กฎ: ใครก็ตามสามารถตรวจสอบ threshold การใช้จ่ายได้บนเชน และการกู้คืนไม่ขึ้นอยู่กับการที่บริษัทใดจะยังคงดำเนินกิจการอยู่หรือไม่ ความสามารถในการตรวจสอบได้นี้เองคือเหตุผลที่MultiSig ของ Ownbitเปิดซอร์สสัญญาบนเชนของตนไว้แม้ว่าตัวแอปจะไม่ได้เปิด และเป็นเหตุผลที่กุญแจของผู้ลงนามร่วม (cosigner) ทุกดอกในกระเป๋า Ownbit เป็นวลี BIP39 ธรรมดาที่คุณสามารถกู้คืนได้ด้วยเครื่องมือมาตรฐาน
2-of-3 ที่รอดพ้นชีวิตจริง
นี่คือรูปแบบที่เราแนะนำบ่อยที่สุด โดยใช้เพียงโทรศัพท์เท่านั้น:
- กุญแจดอกที่ 1 — โทรศัพท์ที่คุณใช้ประจำวัน แอปกระเป๋าถือ seed หนึ่งชุดและทำหน้าที่ประสานงานธุรกรรม
- กุญแจดอกที่ 2 — โทรศัพท์สำรองในฐานะกระเป๋าเย็น โทรศัพท์เครื่องเก่าที่ถูกล้างข้อมูลและเก็บไว้แบบออฟไลน์อย่างถาวรจะถือ seed ชุดที่สอง ธุรกรรมที่ยังไม่ได้ลงนามเข้าไปและลายเซ็นออกมาในรูปของ QR code ดังนั้นกุญแจดอกนี้จึงไม่แตะเครือข่ายเลย เวิร์กโฟลว์กระเป๋าเย็นของ Ownbitมีอยู่เพื่อสิ่งนี้โดยเฉพาะ โดยไม่ต้องซื้อฮาร์ดแวร์เพิ่ม
- กุญแจดอกที่ 3 — seed สำรองที่อื่น seed phrase ชุดที่สามอยู่บนกระดาษหรือแผ่นเหล็กในสถานที่แห่งที่สอง หรืออยู่กับสมาชิกครอบครัวที่คุณไว้ใจ
ทีนี้ลองไล่ดูสถานการณ์ความล้มเหลว ไฟไหม้บ้านคร่าทั้งโทรศัพท์ที่ใช้ประจำวันและโทรศัพท์เครื่องเย็นไป? กุญแจดอกที่ 3 บวกกับอุปกรณ์ที่ซื้อมาทดแทนก็กู้การควบคุมแบบ 2-of-3 กลับคืนมาได้ ขโมยพบ seed สำรอง? ลำพังมันเซ็นอะไรไม่ได้ และคุณก็ค่อย ๆ ย้ายเงินไปยังกระเป๋าใหม่ตามจังหวะเวลาของคุณเองได้อย่างใจเย็น โทรศัพท์ถูกขโมยที่สนามบิน? คำตอบเดียวกัน ในมัลติซิกแบบ 2-of-3 การสูญเสียกุญแจดอกใดดอกหนึ่งเป็นเรื่องที่รอดได้ และการขโมยกุญแจดอกใดดอกหนึ่งไปก็ไร้ค่า — ความเสี่ยงสองอย่างที่ดึงกันไปคนละทางภายใต้ seed ชุดเดียว บัดนี้ถูกซับไว้ทั้งคู่ด้วยโครงสร้างเดียวกัน
เป้าหมายไม่ใช่การทำให้การสูญเสียกุญแจเป็นไปไม่ได้ แต่คือการทำให้การสูญเสียเดี่ยว ๆ ครั้งใดก็รอดได้ และการขโมยเดี่ยว ๆ ครั้งใดก็ไร้ประโยชน์
ต้นทุนตามจริง
มัลติซิกไม่ได้มาฟรี ๆ การใช้จ่ายทุกครั้งต้องการลายเซ็นที่สอง ซึ่งเพิ่มขั้นตอนการประสานงานเข้ามา — พอทนได้สำหรับเงินออม แต่น่ารำคาญสำหรับเงินค่ากาแฟ นั่นจึงเป็นเหตุที่กระเป๋าร้อน (hot wallet) กุญแจดอกเดียวเล็ก ๆ ยังคงมีที่ทางอันชอบธรรมเคียงข้าง vault มัลติซิก บนบางเชน ธุรกรรมมัลติซิกเสียค่าธรรมเนียมมากกว่าเล็กน้อย และตอนนี้คุณมี seed phrase สามชุดที่ต้องเก็บให้ดีแทนที่จะเป็นชุดเดียว; ความมีวินัยไม่ได้หายไป มันเพียงกระจายตัวออก สิ่งที่เปลี่ยนไปคือผลของความผิดพลาด: ข้อผิดพลาดที่เคยถึงตายกลายเป็นเหตุการณ์ที่ซ่อมแซมได้
ยังมีประโยชน์ที่เงียบกว่านั้นอีกด้วย เพราะกุญแจสามารถเป็นของคนละคนได้ มัลติซิกจึงเป็นรากฐานตามธรรมชาติสำหรับการสืบทอดมรดก: ทายาทสามารถถือกุญแจได้ตั้งแต่วันนี้โดยที่ยังใช้จ่ายไม่ได้ในวันนี้ และไม่มีใครต้องแชร์ seed phrase ในขณะที่ยังมีชีวิตอยู่เลย เรื่องนี้สมควรมีบทความเป็นของตัวเอง — แต่สำหรับตอนนี้ ประเด็นนี้ก็ยืนได้ด้วยตัวมันเอง หากมูลค่าสุทธิทั้งหมดของคุณบนเชนขึ้นอยู่กับคำชุดหนึ่งที่ต้องคงความลับและปลอดภัยไปพร้อมกัน คำถามจึงไม่ใช่ว่าการจัดวางเช่นนั้นจะล้มเหลวได้หรือไม่ แต่คือมันจะล้มเหลวไปทางไหนก่อน
คำถามที่พบบ่อย
จะเกิดอะไรขึ้นหากมีคนพบ seed phrase ของฉัน?
เขาจะควบคุมกระเป๋าได้อย่างสมบูรณ์ seed phrase สร้าง private key ทุกตัวขึ้นมาใหม่ได้ ดังนั้นผู้ที่พบมันจึงสามารถโอนทุกอย่างไปยังที่อยู่ที่ตนควบคุมได้ภายในไม่กี่นาที และการโอนบนเชนก็ย้อนกลับไม่ได้ การย้ายเงินไปยังกระเป๋าใหม่ทันทีเป็นการป้องกันเพียงอย่างเดียว — และก็ต่อเมื่อคุณค้นพบการรั่วไหลนั้นทันเวลาเท่านั้น
การสำรอง seed phrase ด้วยโลหะเพียงพอหรือไม่?
โลหะแก้ปัญหาเรื่องความทนทาน — ไฟไหม้ น้ำท่วม และหมึกที่เลือนหาย — แต่ไม่ได้แก้เรื่องการรักษาความลับหรือการกระจุกตัว แผ่นเหล็กก็ยังคงเป็นสำเนากระเป๋าของคุณที่สมบูรณ์และใช้จ่ายได้ ซึ่งวางอยู่ในที่แห่งเดียวที่ค้นเจอได้ มันเป็นส่วนประกอบที่ดีของแผนการจัดเก็บ แต่เป็นตัวแทนที่แย่สำหรับการกำจัดจุดล้มเหลวเพียงจุดเดียวให้หมดไปโดยสิ้นเชิง
มัลติซิกหมายความว่าฉันจะไม่มี seed phrase อีกต่อไปใช่ไหม?
ไม่ใช่ — คุณมีหลายชุด ในมัลติซิกมาตรฐาน กุญแจของผู้ลงนามร่วมแต่ละดอกคือ seed phrase แบบ BIP39 ของตัวเอง ที่สร้างและเก็บรักษาแยกกันอย่างอิสระ ความแตกต่างคือไม่มีชุดใดชุดหนึ่งในนั้นที่ใช้จ่ายเงินได้ หรือแช่แข็งเงินได้ด้วยการสูญหาย; มีเพียง threshold เท่านั้น เช่น 2-of-3 ที่มีอำนาจนั้น
passphrase แบบ BIP39 ("คำที่ 25") ไม่ได้เป็นการป้องกันที่เพียงพอแล้วหรือ?
passphrase ช่วยป้องกันกรณีมีคนพบ seed ที่เขียนไว้ ซึ่งเป็นคุณค่าที่แท้จริง แต่มันเพิ่มสิ่งที่สองที่คุณอาจทำหายได้: ลืม passphrase แล้วลำพัง seed เพียงอย่างเดียวก็กู้คืนอะไรไม่ได้ มันทำให้ที่ซ่อนลึกขึ้น; แต่มันไม่ได้กำจัดจุดล้มเหลวเพียงจุดเดียวแบบที่กุญแจมัลติซิกอิสระทำได้
หากคุณอยากเปลี่ยนโครงสร้างมากกว่าจะคอยอัปเกรดที่ซ่อนไปเรื่อย ๆ MultiSig ของ Ownbitตั้งค่ามัลติซิกแบบ 2-of-3 กระจายไปที่โทรศัพท์ของคุณ โทรศัพท์สำรองแบบออฟไลน์ และ seed สำรอง — โดยกุญแจทุกดอกเป็นวลี BIP39 มาตรฐานที่คุณกู้คืนได้โดยไม่ต้องพึ่งเซิร์ฟเวอร์ของเรา หน้าเวิร์กโฟลว์กระเป๋าเย็นแสดงการตั้งค่าการลงนามแบบออฟไลน์ด้วย QR ทีละขั้นตอน