ลองถามวิศวกรความปลอดภัยสิบคนให้ตัดสินคำถาม MPC กับ multisig แล้วคุณจะได้ยินการแบ่งฝ่ายที่คุ้นเคย: ผู้ให้บริการเทคโนโลยีการเก็บรักษาสินทรัพย์เอนเอียงไปทาง MPC ส่วนผู้คร่ำหวอดในวงการ Bitcoin เอนเอียงไปทาง multisig และทั้งสองฝ่ายต่างพูดกันคนละเรื่อง การเปรียบเทียบนี้ควรได้รับการพิจารณาที่ดีกว่านั้น เพราะทั้งสองแนวทางแก้ปัญหาเดียวกัน — ไม่ควรมีบุคคล อุปกรณ์ หรือเซิร์ฟเวอร์ใดเพียงลำพังที่สามารถย้ายเงินได้ด้วยตัวเอง — แต่แก้ในจุดที่ต่างกันโดยพื้นฐาน MPC (multi-party computation) แบ่งตัวกุญแจเอง โดยใช้การเข้ารหัสนอกเชน ส่วน multisig แบ่งอำนาจการอนุมัติ โดยใช้กฎที่บล็อกเชนเองเป็นผู้บังคับใช้
ทางเลือกในการออกแบบเพียงข้อเดียวนี้เป็นตัวกำหนดความแตกต่างในทางปฏิบัติแทบทุกเรื่อง ตั้งแต่ค่าธรรมเนียมที่คุณต้องจ่าย สิ่งที่คนภายนอกสามารถตรวจสอบได้ สิ่งที่จะเกิดขึ้นเมื่อผู้ให้บริการหายไป ไปจนถึงว่าใครจะต้องรับผิดชอบหลังจากเกิดลายเซ็นที่ผิดพลาด ไม่มีแนวทางใดที่เหนือกว่าอีกแนวทางอย่างเด็ดขาด ณ เวลาที่เขียนบทความนี้ในเดือนเมษายน 2024 ทั้งสองแบบต่างปกป้องสินทรัพย์มูลค่าหลายหมื่นล้านดอลลาร์ และทั้งสองแบบต่างก็เคยก่อให้เกิดความล้มเหลวที่ราคาแพงมาแล้ว นี่คือการเปรียบเทียบในเวอร์ชันที่ตรงไปตรงมา
สองวิธีในการแบ่งอำนาจการใช้เงิน
โดยทั่วไปกระเป๋าแบบ MPC สร้างขึ้นบน threshold signature scheme (TSS) ซึ่งจะแบ่ง private key ดอกเดียวออกเป็นชิ้นส่วนทางคณิตศาสตร์ (share) ที่ถือโดยฝ่ายหรืออุปกรณ์ต่าง ๆ ในการลงนาม ผู้ถือ share จะรันโปรโตคอลแบบโต้ตอบร่วมกันเพื่อคำนวณลายเซ็นธรรมดาเพียงชุดเดียวออกมาพร้อมกัน private key ฉบับเต็มไม่เคยมีอยู่ในที่ใดที่หนึ่งเลยในช่วงเวลาใด ๆ — แม้แต่ตอนที่สร้างกระเป๋าขึ้นมา บล็อกเชนมองเห็นเพียงที่อยู่ธรรมดาและลายเซ็นธรรมดา และไม่มีทางรู้เลยว่ามี quorum เข้ามาเกี่ยวข้อง
multisig เดินไปในทางตรงกันข้าม ผู้ร่วมแต่ละคนถือกุญแจที่สมบูรณ์และเป็นอิสระของตนเอง และกฎการใช้เงิน — เช่น 2-of-3 — ถูกเข้ารหัสไว้ในที่ที่เครือข่ายมองเห็นและบังคับใช้ได้ ไม่ว่าจะเป็นใน Bitcoin script ซึ่งรองรับ multisig แบบเนทีฟมาตั้งแต่ปี 2012 หรือในสมาร์ตคอนแทรกต์บนเชนอย่าง Ethereum multisig แบบ 2-of-3 จะไม่ปล่อยเงินออกไปจนกว่ากุญแจสองในสามดอกที่ลงทะเบียนไว้จะสร้างลายเซ็นที่ถูกต้องของตัวเองออกมาคนละชุด quorum ในที่นี้ไม่ใช่คำสัญญาที่ให้ไว้โดยซอฟต์แวร์ที่คุณรันเอง แต่เป็นกฎที่กลไกฉันทามติของเชนเป็นผู้บังคับใช้
ทั้งสองโมเดลถูกขายภายใต้คำเดียวกัน — “กระเป๋า” — ซึ่งบดบังความจริงว่าสมมติฐานด้านความไว้วางใจนั้นต่างกันเพียงใด ในแบบหนึ่ง หลักประกันมาจากการนำการเข้ารหัสขั้นสูงมาสร้างเป็นระบบจริง ซึ่งคนภายนอกไม่สามารถตรวจสอบได้ ส่วนอีกแบบหนึ่งมาจากกฎฉันทามติที่ทุกคนตรวจสอบได้
MPC ย้าย quorum เข้าไปอยู่ในการเข้ารหัส แล้วขอให้คุณไว้วางใจในการนำไปสร้างเป็นระบบจริง ส่วน multisig เขียน quorum ลงไปในเชน แล้วเปิดให้ใครก็ตามตรวจสอบได้
ข้อดีของ MPC
ข้อได้เปรียบของ MPC นั้นมีอยู่จริง และเป็นเหตุผลว่าทำไมงานเก็บรักษาสินทรัพย์ระดับสถาบันจำนวนมากจึงทำงานบนมัน
- รองรับได้หลายเชนแทบจะฟรี การสร้างระบบ threshold-ECDSA เพียงชุดเดียวโดยหลักการแล้วครอบคลุมทุกเชนที่รับลายเซ็น ECDSA ได้ ไม่ต้องเขียน ตรวจสอบ และดีพลอยสัญญาแยกสำหรับแต่ละเชน — ซึ่งเป็นต้นทุนจริงของผลิตภัณฑ์ multisig ที่ต้องนำโมเดลของตนไปสร้างใหม่บนทุกเครือข่ายที่รองรับ
- ที่อยู่ดูเป็นปกติ กระเป๋าแบบ MPC จ่ายค่าธรรมเนียมเท่ากับลายเซ็นเดี่ยว และไม่เปิดเผยอะไรเกี่ยวกับนโยบายของมันบนเชนเลย ก่อนที่ taproot จะเปิดใช้งานในปี 2021 การใช้เงินแบบ multisig บน Bitcoin มีขนาดใหญ่กว่าและแพงกว่าการใช้เงินแบบลายเซ็นเดี่ยวอย่างเห็นได้ชัด ส่วน MPC ไม่เคยมีปัญหานั้น
- หมุนเวียน share ได้ การรีเฟรชเชิงรุก (proactive refresh) ช่วยให้ผู้ถือสุ่มค่า share ของตนใหม่ได้โดยไม่ต้องย้ายเงินหรือเปลี่ยนที่อยู่รับเงิน ผู้โจมตีจึงต้องเจาะ share ให้ครบ quorum ภายในรอบการหมุนเวียนรอบเดียว แทนที่จะค่อย ๆ ทำในช่วงเวลาหลายปี
- ไม่มีความเสี่ยงจากสมาร์ตคอนแทรกต์ ไม่มีอะไรถูกดีพลอยบนเชน จึงไม่มีโค้ดสัญญาให้ถูกเจาะ เหตุการณ์ Parity ในปี 2017 — บั๊กในไลบรารี multisig ที่ใช้ร่วมกันซึ่งทำให้ ETH มูลค่าหลายร้อยล้านดอลลาร์ถูกแช่แข็ง — คืออุทาหรณ์ที่ผู้ให้บริการ MPC ทุกรายหยิบยกมาอ้าง และก็เป็นการอ้างที่สมเหตุสมผล
จุดที่ MPC ล้มเหลว
จุดอ่อนของมันก็เป็นเชิงโครงสร้างไม่แพ้กัน และมักถูกโฆษณาน้อยกว่า
การเข้ารหัสนั้นยากอย่างแท้จริง threshold ECDSA เป็นโปรโตคอลแบบโต้ตอบหลายรอบที่มีจุดพลิกผันแหลมคม และความผิดพลาดก็เคยหลุดขึ้นไปถึงระบบใช้งานจริงมาแล้ว ในปี 2023 นักวิจัยด้านความปลอดภัยได้เปิดเผยการโจมตีแบบดึงกุญแจออกมา (key extraction) ที่ใช้ได้จริงต่อการสร้างระบบ threshold-signing หลายชุดที่ถูกใช้งานอย่างแพร่หลาย — เป็นข้อบกพร่องในโค้ด ไม่ใช่ในคณิตศาสตร์ที่อยู่เบื้องหลัง แต่ผู้ใช้กระเป๋าที่ได้รับผลกระทบก็ตกอยู่ในความเสี่ยงอยู่ดี สมมติฐานหลักของผู้ใช้ multisig คือ “เชนตรวจสอบลายเซ็นอย่างถูกต้อง” ส่วนสมมติฐานหลักของผู้ใช้ MPC คือ “ผู้ให้บริการของฉันสร้างโปรโตคอลการเข้ารหัสอันละเอียดอ่อนได้อย่างถูกต้อง” สมมติฐานทั้งสองนี้ไม่ได้มีขนาดเท่ากันเลย
ไม่มีใครจากภายนอกตรวจสอบ quorum ได้ ที่อยู่แบบ MPC ดูเหมือนที่อยู่อื่น ๆ ทั่วไป ซึ่งหมายความว่า threshold ที่โฆษณาไว้ในสื่อการตลาดนั้นไม่สามารถตรวจสอบบนเชนได้ เหตุการณ์ Multichain ในเดือนกรกฎาคม 2023 ทำให้เรื่องนี้เป็นรูปธรรม: เงินราว 125 ล้านดอลลาร์ถูกย้ายออกจากที่อยู่ของโปรเจกต์ และคำแถลงของทีมในเวลาต่อมาบ่งชี้ว่าเซิร์ฟเวอร์ที่เก็บวัตถุดิบกุญแจของโปรเจกต์อยู่ภายใต้การควบคุมโดยพฤตินัยของคนเพียงคนเดียวมาโดยตลอด ไม่ว่าแผนภาพสถาปัตยกรรมจะสัญญาไว้อย่างไร ความเป็นจริงในการดำเนินงานกลับมีจุดล้มเหลวเพียงจุดเดียว — และไม่มีคนภายนอกคนใดตรวจจับสิ่งนั้นได้จากเชน
การกู้คืนมักต้องผ่านผู้ให้บริการ ระบบ MPC ที่ใช้งานจริงส่วนใหญ่ผูกกับผู้ให้บริการเฉพาะราย: share อยู่ในรูปแบบเฉพาะที่เป็นกรรมสิทธิ์ การลงนามต้องใช้บริการประสานงานของผู้ให้บริการ และการกู้คืนขึ้นอยู่กับว่าเครื่องมือของผู้ให้บริการยังคงมีอยู่ต่อไป ผู้ให้บริการบางรายมีตัวเลือกส่งออกแบบออฟไลน์ แต่หลายรายไม่มี หากการกู้คืนได้โดยไม่ต้องพึ่งผู้ให้บริการเป็นเรื่องสำคัญสำหรับคุณ จงขอให้เขาสาธิตให้ดูก่อนที่จะเอาเงินเข้ากระเป๋า ไม่ใช่หลังจากนั้น
ความรับผิดชอบตรวจสอบได้น้อยกว่า ผลลัพธ์ของพิธีลงนามแบบ MPC คือลายเซ็นรวมเพียงชุดเดียว เชนไม่สามารถแสดงได้ว่าผู้ร่วมคนใดเป็นผู้อนุมัติธุรกรรม การระบุตัวตนเท่าที่มีอยู่นั้นถูกเก็บไว้ในบันทึก (log) ของผู้ให้บริการ ซึ่งผู้ให้บริการเป็นผู้ควบคุม
ข้อดีของ multisig — และต้นทุนที่ตรงไปตรงมาของมัน
ในการเปรียบเทียบ MPC กับ multisig นั้น multisig บนเชนพลิกกลับคุณสมบัติเหล่านี้แทบทั้งหมด นโยบายเป็นสาธารณะและถูกบังคับใช้ด้วยฉันทามติ ดังนั้นผู้ตรวจสอบบัญชี ผู้ร่วมก่อตั้ง หรือศาล จึงสามารถยืนยัน quorum ได้โดยไม่ต้องเชื่อแดชบอร์ดของใคร ทุกการอนุมัติคือลายเซ็นที่แยกจากกันซึ่งมาจากกุญแจที่แยกจากกัน ดังนั้นหลังเกิดเหตุการณ์ คุณจะรู้แน่ชัดว่ากุญแจดอกใดเป็นผู้ลงนาม และเนื่องจากกุญแจเหล่านี้เป็นกุญแจธรรมดา — ใน MultiSig ของ Ownbit ผู้ร่วมทุกคนคือ seed phrase มาตรฐานแบบ BIP39 — การกู้คืนจึงไม่ได้ขึ้นอยู่กับการดำรงอยู่ต่อไปของบริษัทใด multisig บน Bitcoin ปกป้องเงินด้วยวิธีนี้มานานกว่าทศวรรษแล้ว
ต้นทุนก็เป็นรูปธรรมไม่แพ้กัน ลายเซ็นที่มากขึ้นหมายถึงธุรกรรมที่ใหญ่ขึ้นและค่าธรรมเนียมที่สูงขึ้น แม้ว่า taproot จะช่วยลดช่องว่างนั้นบน Bitcoin ลงแล้วก็ตาม นโยบายที่ผู้ตรวจสอบบัญชีชื่นชอบก็เป็นสิ่งที่ฝ่ายตรงข้ามมองเห็นได้เช่นกัน: กระเป๋าแบบ 2-of-3 ประกาศตัวเองว่ามันคืออะไร multisig ต้องถูกสร้างขึ้นแยกกันในแต่ละเชน — Bitcoin script, สัญญาบน EVM, ระบบเนทีฟของ TRON, โปรแกรมบน Solana — และคุณภาพก็แตกต่างกันไปในแต่ละการสร้างระบบ และบนเชนที่มีสมาร์ตคอนแทรกต์ ตัวสัญญาเองก็เป็นพื้นที่ที่ถูกโจมตีได้ ซึ่งเป็นเหตุผลว่าทำไมโค้ดสัญญา multisig จึงควรเป็นโอเพนซอร์สและตรวจสอบได้โดยอิสระ Ownbit เผยแพร่สัญญา multisig ของตนด้วยเหตุผลนี้เอง
MPC กับ multisig: เลือกอย่างไร
เลือก MPC เมื่อเวิร์กโฟลว์คือตัวผลิตภัณฑ์: โต๊ะเทรดที่ผลักดันการลงนามอัตโนมัติหลายร้อยครั้งต่อวันข้ามเชนหลายสิบเชน โดยมีทีมปฏิบัติการ สัญญากับผู้ให้บริการ และ SLA ในสภาพแวดล้อมเช่นนั้น การลงนามที่ไม่ยึดติดกับเชนใดเชนหนึ่งและการหมุนเวียน share ก็คุ้มค่ากับความซับซ้อนของมันอย่างแท้จริง และการพึ่งพาผู้ให้บริการก็เป็นความสัมพันธ์ทางธุรกิจที่เจรจากันไว้ ไม่ใช่อุบัติเหตุ ตรรกะเดียวกันนี้ครอบคลุมถึงกระดานเทรดและผู้ประมวลผลการชำระเงิน ซึ่งปริมาณการลงนามทำให้การตรวจทานโดยมนุษย์ทีละธุรกรรมเป็นเรื่องที่ไม่สามารถทำได้จริงในทุกโมเดล
เลือก multisig เมื่อนโยบายต้องตรวจสอบได้โดยคนที่ไม่ได้ไว้ใจกันอย่างเต็มที่ — ผู้ร่วมก่อตั้ง หุ้นส่วนธุรกิจ สมาชิกครอบครัว — หรือต้องอยู่ยืนยาวกว่าทุกบริษัทที่เกี่ยวข้อง หากหุ้นส่วนสองคนต้องการหลักฐาน ไม่ใช่คำรับรอง ว่าไม่มีใครสามารถย้ายเงินของคลังได้เพียงลำพัง multisig แบบ 2-of-3 บนเชนก็มอบสิ่งนั้นให้ — และทั้งสองคนต่างสามารถยืนยันข้อตกลงนี้ได้ด้วย block explorer แม้เวลาผ่านไปหลายปี โดยไม่ต้องขออนุญาตจากใคร สำหรับองค์กรที่ต้องการโครงสร้างเพิ่มเติมบน quorum นั้น มัลติซิกสำหรับองค์กร เพิ่มบทบาทเจ้าของและผู้ลงนาม น้ำหนักของผู้ลงนาม วงเงินการใช้จ่าย และไวต์ลิสต์ของที่อยู่
มีอีกสองประเด็นที่ช่วยให้การเลือกนี้ตรงไปตรงมา ประการแรก ทั้งสองแนวทางสามารถประกอบร่วมกันได้: ผู้ลงนามคนหนึ่งภายใน multisig บนเชนอาจเป็นการตั้งค่าแบบ MPC ในตัวเองก็ได้ และบางทีมก็ใช้รูปแบบผสมนี้จริง ๆ ประการที่สอง ทั้งสองแนวทางรักษาโรคที่ต้นตอเดียวกัน — seed phrase ชุดเดียวในฐานะจุดล้มเหลวเพียงจุดเดียว — แต่แทนที่มันด้วยสิ่งที่ต่างกัน: multisig แทนที่ด้วย seed phrase มาตรฐานหลายชุดที่คุณสำรองข้อมูลได้ตามใจชอบ ส่วน MPC แทนที่ด้วย share ในรูปแบบของผู้ให้บริการที่คุณสำรองข้อมูลตามเงื่อนไขของผู้ให้บริการ
บทสรุปที่ตรงไปตรงมาของ MPC กับ multisig จึงเป็นเช่นนี้: MPC ซื้อความยืดหยุ่นในการดำเนินงานและความเป็นส่วนตัว แล้วจ่ายด้วยความสามารถในการตรวจสอบและการพึ่งพาผู้ให้บริการ ส่วน multisig ซื้อความสามารถในการตรวจสอบและความเป็นอิสระ แล้วจ่ายด้วยค่าธรรมเนียม ความเป็นส่วนตัว และงานวิศวกรรมที่ต้องทำแยกในแต่ละเชน จงตัดสินใจว่าคุณอยากจ่ายด้วยสกุลเงินแบบใดมากกว่ากัน — เงินจะเป็นของคุณอย่างแท้จริงก็ต่อเมื่อรูปแบบความล้มเหลวของมันเป็นสิ่งที่คุณเข้าใจ
คำถามที่พบบ่อย
MPC ปลอดภัยกว่า multisig หรือไม่?
ไม่มีแบบใดปลอดภัยกว่ากันอย่างเบ็ดเสร็จ ทั้งสองล้มเหลวคนละแบบ MPC ขจัดความเสี่ยงจากสัญญาบนเชน แต่กระจุกความไว้วางใจไว้ที่การสร้างโปรโตคอลและโครงสร้างพื้นฐานของผู้ให้บริการ และ quorum ของมันตรวจสอบจากภายนอกไม่ได้ ส่วน multisig ทำให้ quorum ตรวจสอบได้แบบสาธารณะและถูกบังคับใช้โดยเชน แต่มีค่าธรรมเนียมสูงกว่า และบนเชนที่มีสมาร์ตคอนแทรกต์ก็เพิ่มความเสี่ยงจากสัญญาเข้ามา จงตัดสินการตั้งค่าแต่ละแบบจากรูปแบบความล้มเหลวที่เลวร้ายที่สุดของมัน ไม่ใช่จากการตลาดที่ดีที่สุด
กระเป๋าแบบ MPC มี seed phrase หรือไม่?
โดยทั่วไปไม่มีในความหมายมาตรฐาน กุญแจมีอยู่ในรูปของ share ที่กระจายกันเท่านั้น จึงไม่มีวลี BIP39 ชุดเดียวให้จดบันทึก นั่นขจัดจุดล้มเหลวเพียงจุดเดียวไปได้ แต่การสำรองข้อมูลและการกู้คืนก็จะเป็นไปตามรูปแบบและเครื่องมือเฉพาะที่เป็นกรรมสิทธิ์ของผู้ให้บริการ แทนที่จะเป็นมาตรฐานเปิด จงถามว่าคุณจะกู้คืนได้อย่างไรหากผู้ให้บริการหายไป ก่อนที่จะไว้วางใจใช้บริการรายใด
คุณสามารถกู้คืนกระเป๋าแบบ multisig ได้โดยไม่ต้องพึ่งบริษัทที่สร้างมันหรือไม่?
ได้ หากมันสร้างขึ้นบนมาตรฐาน multisig บนเชนถูกนิยามด้วยกุญแจธรรมดาบวกกับสคริปต์หรือสัญญาสาธารณะ ดังนั้นซอฟต์แวร์ใด ๆ ที่เข้ากันได้จึงสามารถประกอบมันขึ้นใหม่และใช้เงินจากมันได้ กุญแจ multisig ของ Ownbit เป็น seed phrase มาตรฐานแบบ BIP39 สัญญาเป็นโอเพนซอร์ส และมีคู่มือการกู้คืนด้วยตนเองสำหรับสถานการณ์แบบนี้โดยเฉพาะ
MPC และ multisig ใช้ร่วมกันได้หรือไม่?
ได้ ทั้งสองทำงานอยู่คนละชั้น ดังนั้นผู้ร่วมคนหนึ่งใน multisig บนเชนจึงสามารถถือกุญแจของตนในรูปของ share แบบ MPC ที่แบ่งกระจายไว้ในอุปกรณ์หลายเครื่องได้ บางสถาบันผสานคลัสเตอร์การลงนามแบบ MPC สำหรับการดำเนินงานประจำวันเข้ากับ multisig บนเชนสำหรับ cold storage ชั้นลึกที่สุด โดยใช้แต่ละแนวทางในจุดที่การแลกเปลี่ยนข้อดีข้อเสียของมันเหมาะสมที่สุด
หากคุณลงเอยที่ปลายด้านที่ตรวจสอบได้ของการแลกเปลี่ยนข้อดีข้อเสียนี้ Ownbit MultiSig คือวิธีที่ใช้ได้จริงในการลองใช้มัน: 2-of-3 กระจายบนโทรศัพท์สองเครื่องและอุปกรณ์ของสมาชิกครอบครัวหนึ่งคน โดยกุญแจทุกดอกเป็น seed phrase มาตรฐาน สัญญาเป็นโอเพนซอร์ส และมีทดลองใช้ฟรี 7 วันสำหรับผู้ใช้ใหม่ กุญแจและสินทรัพย์ของคุณยังคงเป็นของคุณไม่ว่าสถานะสมาชิกจะเป็นอย่างไร