กระเป๋า Multisig ทำงานยังไง
กุญแจดอกเดียวคือจุดล้มเหลวจุดเดียว กระเป๋า multisig กระจายอำนาจใช้จ่ายไปยังกุญแจหลายดอก แล้วปล่อยให้ภาษาสคริปต์ของ Bitcoin เองเป็นผู้บังคับว่าต้องมีกี่ดอกเห็นพ้องกันก่อนเหรียญจะขยับได้
🔑
แล็ปท็อป
🔑
ฮาร์ดแวร์
🔑
สำรอง
→
🔓
ใช้จ่ายได้
ห้องนิรภัยนี้เก็บบิตคอยน์ไว้หลังกุญแจสามดอก แต่ใช้ลายเซ็นเพียงสองดอกก็ใช้จ่ายได้ ทำกุญแจหายไปหนึ่งดอกเงินก็ยังปลอดภัย ถูกขโมยไปหนึ่งดอกโจรก็ยังขยับอะไรไม่ได้ กติกานี้ไม่ได้ถูกบังคับโดยบริษัทไหน แต่ถูกเขียนไว้ในตัวธุรกรรมเองและถูกตรวจซ้ำโดยโหนดทุกตัวในเครือข่าย
กระเป๋า multisig คืออะไร
กระเป๋า Bitcoin ทั่วไปถูกปกป้องด้วยกุญแจส่วนตัวเพียงดอกเดียว ตัวเลขก้อนนั้นคือระบบความปลอดภัยทั้งหมด ใครถือไว้ก็ใช้จ่ายได้ ใครทำหายก็เสียเงินไปตลอดกาล ไม่มีลิงก์รีเซ็ตรหัสผ่าน ไม่มีฝ่ายบริการลูกค้า
กระเป๋า multisig (multi-signature) แทนกุญแจดอกเดียวนั้นด้วยกุญแจ N ดอก พร้อมกติกาว่าต้องมีอย่างน้อย M ดอกร่วมเซ็นก่อนเหรียญจะเคลื่อนได้ เขียนย่อว่า M-of-N เช่น 2-of-3, 3-of-5 หรือ 2-of-2 กุญแจแต่ละดอกจะอยู่คนละที่ คนละอุปกรณ์ หรือถือโดยคนละคนก็ได้
เป็นเกณฑ์ ไม่ใช่ต้องครบทุกดอก
ห้องนิรภัย 2-of-3 ไม่ต้องใช้ครบสามดอก ดอกไหนก็ได้สองดอกก็พอ
กุญแจอิสระต่อกัน
แต่ละดอกเป็นกุญแจส่วนตัวคนละชุด มี seed phrase ของตัวเอง ถูกเจาะไปหนึ่งดอกก็ไม่บอกอะไรเกี่ยวกับดอกอื่นเลย
บังคับใช้ด้วยฉันทามติ
กติกาอยู่ในสคริปต์ Bitcoin ที่ล็อกเหรียญไว้ และโหนดทุกตัวตรวจซ้ำ ไม่มีผู้ดูแลทรัพย์สิน ไม่มีนโยบายบริษัท ไม่ต้องเชื่อใจใคร
ทำงานยังไง ทีละขั้น
มีสามอย่างที่ต้องเกิดขึ้น กติกาถูกฝังลงในที่อยู่ ผู้ร่วมเซ็นแต่ละคนเซ็นธุรกรรมชุดเดียวกัน และเครือข่ายตรวจสอบลายเซ็นที่รวบรวมมาได้
สคริปต์เป็นตัวกำหนดกติกา
ที่อยู่ multisig ถูกสร้างจากโปรแกรมสั้น ๆ ที่เรียกว่า redeem script (หรือ witness script สำหรับ SegWit) ซึ่งไล่รายชื่อกุญแจสาธารณะกับเกณฑ์ที่ต้องการ แล้วปิดท้ายด้วยโอปโค้ด OP_CHECKMULTISIG
OP_2 // เกณฑ์ M = 2
<02a1b2...c3> // กุญแจสาธารณะของผู้ร่วมเซ็นคนที่ 1
<03d4e5...f6> // กุญแจสาธารณะของผู้ร่วมเซ็นคนที่ 2
<02789a...bc> // กุญแจสาธารณะของผู้ร่วมเซ็นคนที่ 3
OP_3 // จำนวนกุญแจทั้งหมด N = 3
OP_CHECKMULTISIGสคริปต์นั้นจะถูกแฮช — HASH160 สำหรับที่อยู่ P2SH ที่ขึ้นต้นด้วย 3 หรือ SHA-256 สำหรับที่อยู่ P2WSH ที่ขึ้นต้นด้วย bc1q — แล้วค่าแฮชนั้นก็กลายเป็นที่อยู่ ใครจะโอนเข้ามาก็ได้โดยไม่รู้ด้วยซ้ำว่าเป็น multisig เพราะสิ่งที่เขาเห็นมีแค่ค่าแฮช
ผู้ร่วมเซ็นแต่ละคนเซ็นธุรกรรมชุดเดียวกัน
เวลาจะใช้จ่าย จะมีคนร่างธุรกรรมที่ยังไม่ได้เซ็นขึ้นมาก่อนว่าจะใช้เหรียญไหน ส่งไปที่ไหน จ่ายค่าธรรมเนียมเท่าไร จากนั้นผู้ร่วมเซ็นทุกคนเซ็นธุรกรรมชุดนั้นเป๊ะ ๆ ด้วยกุญแจส่วนตัวของตัวเอง โดยใช้ ECDSA บนเส้นโค้ง secp256k1 ซึ่งเป็นวิธีเดียวกับกระเป๋ากุญแจเดี่ยว
ตัวร่างเดินทางระหว่างผู้ร่วมเซ็นในรูปแบบ PSBT (Partially Signed Bitcoin Transaction, BIP 174) อุปกรณ์แต่ละเครื่องเติมลายเซ็นของตัวเองแล้วส่งต่อ กุญแจส่วนตัวไม่เคยออกจากอุปกรณ์และไม่เคยมาเจอกัน
1. ผู้ประสานงาน -> สร้าง PSBT ที่ยังไม่ได้เซ็น
2. ฮาร์ดแวร์วอลเล็ต -> เติมลายเซ็นที่ 1 -> PSBT (1 จาก 2)
3. กุญแจในแล็ปท็อป -> เติมลายเซ็นที่ 2 -> PSBT (2 จาก 2)
4. ใครก็ได้ -> รวบรวมให้สมบูรณ์แล้วกระจายออกสู่เครือข่ายเครือข่ายตรวจสอบ
ธุรกรรมที่ใช้จ่ายจะเปิดเผย redeem script พร้อมลายเซ็นที่รวบรวมมา โหนดทุกตัวจะแฮชสคริปต์เพื่อยืนยันว่าตรงกับที่อยู่ แล้วรัน OP_CHECKMULTISIG ซึ่งไล่ตรวจรายการลายเซ็นเทียบกับรายการกุญแจสาธารณะ และต้องได้ลายเซ็นที่ถูกต้อง M ดอก โดยเรียงตามลำดับเดียวกับที่กุญแจถูกไล่ไว้
input script: OP_0 '<sig1>' '<sig2>' '<redeemScript>'
hash(redeemScript) ตรงกับค่าแฮชในที่อยู่ ? -> ใช่
พบลายเซ็นที่ถูกต้องกี่ดอก ? -> 2 จาก 3
2 >= เกณฑ์ที่ต้องการ (2) ? -> ผ่านโอนบิตคอยน์เข้ากระเป๋า multisig ยังไง
การรับเงินเข้ากระเป๋า multisig เป็นส่วนที่น่าเบื่อที่สุด และนั่นแหละคือข้อดี สำหรับคนที่โอนมาให้คุณ มันคือการโอนธรรมดาไปยังที่อยู่ธรรมดาอันหนึ่ง
สร้างและสำรองกระเป๋าให้เสร็จก่อนเหรียญแรกจะมาถึง
ผู้ร่วมเซ็นแต่ละคนสร้างกุญแจของตัวเองบนอุปกรณ์ของตัวเอง จากนั้นแลกกุญแจสาธารณะกัน (ในทางปฏิบัติคือ extended public key) แล้วทุกอุปกรณ์ประกอบนิยามกระเป๋าชุดเดียวกันขึ้นมา ได้แก่ เกณฑ์ที่ต้องใช้ กุญแจสาธารณะทุกดอก และเส้นทางการอนุพัทธ์ นิยามชุดนี้เรียกว่า wallet descriptor
เก็บ descriptor ไว้ทุกที่ที่คุณเก็บ seed phrase คือติดไว้กับฮาร์ดแวร์วอลเล็ตทุกตัว ไว้ในที่สำรองทุกแห่ง และพิมพ์เก็บคู่กับชุดคำ จากนั้นตรวจว่าทุกอุปกรณ์แสดงที่อยู่แรกตรงกัน
ส่งที่อยู่ให้เขาเหมือนที่อยู่ทั่วไป
ที่อยู่สำหรับรับเงินก็แค่ค่าแฮชค่าหนึ่ง ผู้โอนเอาไปวางในฟอร์มถอนเงินของ exchange หรือในกระเป๋าของเขาแล้วกดโอน เขาไม่ต้องมีระบบรองรับ multisig และดูไม่ออกด้วยซ้ำว่ากระเป๋าคุณเป็น multisig เพราะที่อยู่ P2SH ก็หน้าตาเหมือนที่อยู่ขึ้นต้นด้วย 3 ทั่วไป และ P2WSH ก็เหมือนที่ขึ้นต้นด้วย bc1q ทั่วไป
to 3KSnTx3G8wRbYQpyE9q4KdqqwEMaBejDEe
amount 0.05000000 BTC
fee 2 sat/vB
// กระเป๋าของผู้โอนไม่ต้องรองรับ multisig
// และไม่มีทางรู้ค่า M, N หรือกุญแจสาธารณะของคุณเลยไม่มีอะไรพิเศษในธุรกรรมนี้เลย การถอนจาก exchange การปิดช่อง Lightning หรือเพื่อนโอนเงินคืน ก็เป็นแบบเดียวกันหมด
เหรียญไปอยู่ใน UTXO ที่ถูกล็อกด้วยสคริปต์ของคุณ
เมื่อธุรกรรมได้รับการยืนยัน เครือข่ายจะเก็บ output ที่ยังไม่ถูกใช้ไว้ก้อนหนึ่ง โดยสคริปต์ที่ล็อกมันบอกแค่ว่า ใครก็ตามที่เปิดเผยสคริปต์ซึ่งแฮชแล้วได้ค่านี้ พร้อมลายเซ็นที่ถูกต้องมากพอ จึงจะใช้จ่ายได้ ไม่มีใคร รวมถึงตัวคุณเอง ที่ขยับมันด้วยวิธีอื่นได้
utxo
value 0.05000000 BTC
scriptPubKey OP_HASH160 [ค่าแฮชสคริปต์ 20 ไบต์] OP_EQUAL
ปลดล็อกด้วย redeem script + ลายเซ็นที่ถูกต้อง M ดอกกระเป๋าของคุณรู้ว่า output ก้อนนั้นเป็นของคุณก็เพราะ descriptor บอกว่าต้องเฝ้าดูที่อยู่ไหนบ้าง การเก็บ descriptor แบบดูอย่างเดียวไว้ในมือถือหรือแล็ปท็อป ก็พอให้เห็นเงินเข้าได้โดยไม่ต้องถือกุญแจสักดอก
สร้างที่อยู่สำหรับรับบิตคอยน์ยังไง
กระเป๋า multisig ไม่ได้มีที่อยู่เดียว แต่มีสิ่งที่เรียกว่า descriptor ซึ่งประกอบด้วยเกณฑ์ที่ต้องใช้ extended public key ของผู้ร่วมเซ็นทุกคนพร้อมเส้นทางต้นทาง และเครื่องหมายไวลด์การ์ดปิดท้าย เจ้าไวลด์การ์ดนี่เองที่เปลี่ยนกระเป๋าหนึ่งใบให้ผลิตที่อยู่ได้ไม่จำกัด
wsh(sortedmulti(2,
[a1b2c3d4/48h/0h/0h/2h]xpub6E...uK/0/*,
[e5f6a7b8/48h/0h/0h/2h]xpub6C...7p/0/*,
[c9d0e1f2/48h/0h/0h/2h]xpub6D...m3/0/*
))
// [fingerprint/path] บอกว่ากุญแจดอกนี้อยู่ในอุปกรณ์ไหน
// /0/* คือสายสำหรับรับเงิน ส่วน /1/* คือสายเงินทอน
// ดัชนี 0, 1, 2 ... แต่ละค่าให้ที่อยู่ที่ต่างกันโดยสิ้นเชิงจะสร้างที่อยู่ลำดับที่ 5 ผู้ร่วมเซ็นทุกคนก็อนุพัทธ์กุญแจลูกลำดับที่ 5 จาก extended key ของตัวเอง แล้วกระเป๋าประกอบสคริปต์ M-of-N จากกุญแจสาธารณะสามดอกที่ได้ ดัชนีเดียวกัน สคริปต์เดียวกัน ที่อยู่เดียวกัน เกิดขึ้นบนทุกอุปกรณ์โดยไม่ต้องคุยกันเลย
Wallet descriptor (ย่อไว้ ของจริงจะมี xpub เต็ม)
···
ที่อยู่รับเงินที่อนุพัทธ์ออกมา
···
extended key สามชุดถูกสร้างขึ้นในเบราว์เซอร์ของคุณ แต่ละแถวคือการอนุพัทธ์ตาม BIP32 จริงที่ดัชนีถัดไปบนกุญแจทั้งสามชุด แล้วประกอบเป็นสคริปต์ 2-of-3 และแฮชออกมาเป็นที่อยู่ P2SH
ตัวอย่างด้านบนทำแบบนั้นจริง ๆ extended key สามชุดถูกสร้างในเบราว์เซอร์ของคุณ และแต่ละแถวคือการอนุพัทธ์ตามมาตรฐาน BIP32 ที่ดัชนีถัดไป แล้วแฮชออกมาเป็นที่อยู่ P2SH จริง สังเกตว่าที่อยู่ที่อยู่ติดกันไม่มีอะไรเหมือนกันเลย นั่นคือสิ่งที่ต้องการ เพราะคนนอกจะดูไม่ออกว่าทั้งหมดเป็นของกระเป๋าใบเดียวกัน
ลองเอง: ใช้จ่ายจากห้องนิรภัย 2-of-3
ด้านล่างคือห้องนิรภัย multisig ที่ทำงานได้จริง คู่กุญแจสามชุดถูกสร้างขึ้นในเบราว์เซอร์ของคุณ redeem script และที่อยู่ P2SH ถูกคำนวณจากกุญแจเหล่านั้นจริง ๆ และปุ่มเซ็นแต่ละปุ่มสร้างลายเซ็น ECDSA จริงบนธุรกรรมนั้น เก็บลายเซ็นที่ถูกต้องให้ครบเกณฑ์แล้วธุรกรรมจะผ่าน จากนั้นลองแก้ยอดเงินดูว่าเกิดอะไรขึ้น
ที่อยู่ห้องนิรภัย (P2SH คำนวณจากสคริปต์ด้านล่าง)
···
Redeem script
···
ธุรกรรมที่จะเซ็น
0.25000000 BTC
→ bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq
ยังต้องการลายเซ็นที่ถูกต้องอีก 2 ดอก ก่อนจะกระจายธุรกรรมนี้ออกสู่เครือข่ายได้
เลือก M กับ N ยังไง
เกณฑ์นี้คือปุ่มหมุนระหว่างความล้มเหลวสองแบบ M สูงทำให้ขโมยยากขึ้น M ต่ำทำให้ทำกุญแจหายแล้วยังกู้คืนได้ ลองเลื่อนแถบเพื่อดูการแลกเปลี่ยนทั้งสองทาง
2-of-3
กุญแจที่เน้นสีคือจำนวนขั้นต่ำที่ต้องใช้ในการใช้จ่าย
กุญแจที่โจรต้องขโมย
2
ผู้โจมตีต้องได้กุญแจ 2 ดอกจากทั้งหมด 3 ดอก น้อยกว่านั้นเงินก็ยังถูกล็อกอยู่
กุญแจที่ทำหายได้
1
คุณทำกุญแจหายได้ 1 ดอกจาก 3 ดอก แล้วยังกู้เงินคืนได้ทั้งหมด
รูปแบบที่ใช้กันบ่อย
เทคโนโลยีเบื้องหลัง
Multisig ไม่ใช่สิ่งประดิษฐ์ชิ้นเดียว แต่คือโครงสร้างพื้นฐานของ Bitcoin ราวครึ่งโหลที่ซ้อนทับกันอยู่ และส่วนใหญ่คุณก็ใช้มันอยู่แล้วในกระเป๋ากุญแจเดี่ยวธรรมดา
secp256k1 และ ECDSA
คู่กุญแจของผู้ร่วมเซ็นทุกคนและลายเซ็นทุกดอก ใช้คณิตศาสตร์เส้นโค้งวงรีชุดเดียวกับกระเป๋ากุญแจเดี่ยวเป๊ะ ๆ multisig ไม่ได้เพิ่มการเข้ารหัสแบบใหม่ตรงนี้เลย เพียงแต่ต้องการลายเซ็นมากกว่าหนึ่งดอก
Bitcoin Script และ OP_CHECKMULTISIG
กติกาเรื่องเกณฑ์คือโปรแกรมในภาษาแบบสแต็กของ Bitcoin โดย OP_CHECKMULTISIG จะไล่ตรวจรายการลายเซ็นเทียบกับรายการกุญแจสาธารณะ และผ่านก็ต่อเมื่อตรวจถูกต้องครบ M ดอก
P2SH, P2WSH และ P2TR
ชนิดของ output เป็นตัวกำหนดว่าสคริปต์ถูกผูกเข้ากับที่อยู่อย่างไร และถูกเปิดเผยตอนใช้จ่ายอย่างไร P2SH แฮชด้วย HASH160 ส่วน P2WSH ของ SegWit ใช้ SHA-256 และย้ายสคริปต์ไปไว้ใน witness ขณะที่ Taproot ซ่อนมันได้ทั้งก้อน
BIP32 และ descriptor
การอนุพัทธ์แบบลำดับชั้นเปลี่ยน seed phrase หนึ่งชุดให้ผลิตกุญแจได้ไม่จำกัด ส่วน descriptor เป็นตัวบันทึกนโยบายที่ผูกกุญแจเหล่านั้นเข้าด้วยกัน ทั้งเกณฑ์ ลำดับกุญแจ และเส้นทางการอนุพัทธ์
PSBT
รูปแบบไฟล์มาตรฐานสำหรับธุรกรรมที่เซ็นไปได้ครึ่งทาง มันคือสิ่งที่ทำให้ฮาร์ดแวร์วอลเล็ตแบบตัดขาดจากเครือข่าย มือถือ และแล็ปท็อป ร่วมมือกันเซ็นธุรกรรมเดียวได้โดยไม่ต้องแลกกุญแจส่วนตัวกันเลย
Schnorr และ MuSig2
Taproot เพิ่มลายเซ็นแบบ Schnorr ซึ่งรวมกันได้ เมื่อใช้ MuSig2 กลุ่มผู้ร่วมเซ็นจะผลิตลายเซ็นเดียวที่บนเชนดูเหมือนการใช้จ่ายด้วยกุญแจเดี่ยว ขนาดเล็กกว่า ถูกกว่า และไม่เปิดเผยนโยบาย
แต่ละชิ้นล้วนเป็นมาตรฐานที่เผยแพร่ไว้ นี่คือเหตุผลที่ฮาร์ดแวร์วอลเล็ตต่างยี่ห้อกันสามารถร่วมเซ็นธุรกรรมเดียวกันได้:
BIP 11 ธุรกรรมมาตรฐานแบบ m-of-n 2011
BIP 16 P2SH — จ่ายไปยังค่าแฮชของสคริปต์ 2012
BIP 32 กระเป๋าแบบลำดับชั้นเชิงกำหนด
BIP 45 เส้นทางอนุพัทธ์สำหรับหลายฝ่าย
BIP 48 เส้นทางอนุพัทธ์แยกตามชนิดสคริปต์
BIP 67 การเรียงกุญแจเชิงกำหนด (sortedmulti)
BIP 141 segregated witness, P2WSH
BIP 174 PSBT — ธุรกรรมที่เซ็นบางส่วน
BIP 341 Taproot
BIP 327 การรวมกุญแจแบบ MuSig2
BIP 380+ output script descriptorความเสี่ยง และมันกัดเราตรงไหน
Multisig กำจัดจุดล้มเหลวจุดเดียวออกไป แล้วแทนที่ด้วยจุดเล็ก ๆ หลายจุด และการสูญเงินใน multisig เกือบทุกกรณีมาจากความผิดพลาดในการใช้งาน ไม่ใช่ลายเซ็นที่ถูกเจาะ
ทำ descriptor หาย
สาเหตุการสูญเงินทั้งก้อนที่พบบ่อยที่สุด ลำพัง seed phrase สร้างกระเป๋า multisig กลับมาไม่ได้ เพราะต้องมีเกณฑ์ กุญแจสาธารณะทุกดอก และเส้นทางอนุพัทธ์ที่ถูกต้องด้วย ให้เก็บ descriptor ไว้คู่กับที่สำรองทุกชุด
ตั้งเกณฑ์ไว้ตึงจนไม่เหลือที่หายใจ
2-of-2 และ 3-of-3 ไม่มีเผื่อไว้เลย อุปกรณ์พังหนึ่งตัว ที่สำรองหายหนึ่งชุด หรือหุ้นส่วนหนึ่งคนไม่ยอมร่วมมือ เหรียญก็ถูกแช่แข็งตลอดกาล ถ้าต้องการเผื่อไว้ N ต้องมากกว่า M
กุญแจที่พังพร้อมกัน
กุญแจสามดอกในบ้านหลังเดียวไหม้ไปพร้อมกันในไฟกองเดียว ฮาร์ดแวร์วอลเล็ตสามตัวจากผู้ผลิตเดียวกันมีบั๊กเฟิร์มแวร์ตัวเดียวกัน ที่สำรองสามชุดในบัญชีคลาวด์เดียวล่มด้วยรหัสผ่านที่ถูกขโมยรหัสเดียว สิ่งที่คุณซื้อจริง ๆ คือความเป็นอิสระต่อกัน จึงต้องกระจายทั้งสถานที่ ผู้ผลิต และผู้ถือ
ผู้ประสานงานที่ถูกเจาะสลับที่อยู่ปลายทาง
มัลแวร์ปลอมลายเซ็นไม่ได้ แต่แสดงปลายทางผิด ๆ ให้คุณดูก่อนกดเซ็นได้ นี่คือเหตุผลที่อุปกรณ์ร่วมเซ็นทุกตัวต้องมีหน้าจอของตัวเอง และทำไมต้องตรวจที่อยู่กับยอดเงินบนตัวอุปกรณ์ ไม่ใช่บนหน้าจอคอมพิวเตอร์
ค่าธรรมเนียมสูงขึ้นและชิ้นส่วนเยอะขึ้น
input ของ multisig พกลายเซ็นหลายดอกและสคริปต์ทั้งก้อนไปด้วย จึงใหญ่กว่า input แบบกุญแจเดี่ยวมาก บางทีค่าธรรมเนียมต่างกันหลายเท่า การรวม UTXO ก้อนเล็ก ๆ จำนวนมากจากกระเป๋า multisig จึงแพงขึ้นเร็วมาก
ความเป็นส่วนตัวและความซับซ้อนที่รั่วออกไป
ก่อนยุค Taproot การใช้จ่ายจะเปิดเผยนโยบายของคุณบนเชน ใคร ๆ ก็เห็นว่าเป็น 2-of-3 การใช้ที่อยู่ซ้ำก็เชื่อมโยงเงินของคุณเข้าด้วยกัน และผู้ร่วมเซ็นทุกคนที่เพิ่มเข้ามาคือคนหรือบริการอีกหนึ่งรายที่อาจหายไป ถูกบีบบังคับ หรือสมคบกันได้
ทำไมเรื่องนี้ถึงสำคัญกับ Bitcoin
Multisig เปลี่ยน “ห้ามทำกุญแจหาย” จากความเสี่ยงร้ายแรงจุดเดียว ให้กลายเป็นโจทย์วิศวกรรมที่ออกแบบรับมือได้
ถือเองโดยไม่มีจุดล้มเหลวจุดเดียว
2-of-3 ที่กระจายไว้ในตู้เซฟที่บ้าน ฮาร์ดแวร์วอลเล็ต และที่สำรองไกลบ้าน รอดได้ทั้งไฟไหม้บ้าน อุปกรณ์ถูกขโมย หรือโดนย่องเบา อย่างใดอย่างหนึ่งโดยที่เหรียญไม่หาย
คลังเงินขององค์กร
3-of-5 ที่กระจายในหมู่ผู้บริหาร แปลว่าไม่มีพนักงานคนเดียวขยับเงินบริษัทได้ และการลาออกหรือถูกเจาะของคนเดียวก็ไม่ทำให้คลังเงินถูกล็อกตาย
มรดกและการกู้คืน
มอบกุญแจหนึ่งดอกให้คนในครอบครัวหรือบริการช่วยกู้คืน เขาใช้จ่ายเองไม่ได้ แต่เมื่อรวมกับตัวสำรองของคุณก็กู้เงินคืนได้หากคุณไม่อยู่แล้ว
Taproot และ MuSig2
ตั้งแต่ Taproot (2021) ผู้ร่วมเซ็นสามารถรวมกุญแจเข้าด้วยกันเป็นลายเซ็นเดียวได้ บนเชนจะดูเหมือนการใช้จ่ายด้วยกุญแจเดี่ยวธรรมดา ค่าธรรมเนียมถูกกว่าและไม่เปิดเผยนโยบายการเซ็นที่อยู่เบื้องหลัง
บทเรียนที่เกี่ยวข้อง