What is Secure Multiparty Computation (MPC)?
Secure Multiparty Computation เป็นวิธีที่หลายฝ่ายร่วมกันคำนวณบางอย่างโดยไม่เปิดเผยข้อมูล input ของแต่ละฝ่าย ทุกคนมีส่วนร่วม ไม่มีใครดูข้อมูลลับ และผลลัพธ์สุดท้ายก็ออกมาอย่างปลอดภัย ลองนึกถึงเพื่อนๆ ที่แบ่งบิลอาหารค่ำ ซึ่งแอปจะบอกคุณถึงจำนวนเงินที่ต้องจ่าย โดยที่ไม่มีใครเห็นยอดสั่งของคุณ
MPC คือ“ช้ากว่าหรือปลอดภัยน้อยกว่าการใช้คีย์เดียว” ไม่ใช่จริงทั้งหมด มันขจัดความเสี่ยงของผู้ดูแลคนเดียวโดยกระจายความไว้วางใจผ่านผู้คนหรืออุปกรณ์ และ MPC รุ่นใหม่ก็เร็วพอสำหรับวอลเล็ตจริงและแลกเปลี่ยนจริง
How Secure Multiparty Computation (MPC) works
เรื่องสั้น: treasury ต้องการลายเซ็นเพื่อเคลื่อนไฟล์ funds ผู้ร่วมทีมหลายคนถือชิ้นส่วนของความลับ พวกเขารันโปรโตคอลสั้นๆ และลายเซ็นที่ถูกต้องปรากฏบนเชน เรื่องแปลก: พวกเขาไม่ทำการรวมความลับเป็นหนึ่งเดียว private key.
- Invite: มีคนตั้งกลุ่ม เลือกจำนวนการอนุมัติที่ต้องการ และเพิ่มอุปกรณ์
- Split: ความลับถูกแบ่งเป็น shares และแจกจ่ายเพื่อให้ได้การอนุมัติจาก threshold เท่านั้น
- Compute: เมื่อธุรกรรมต้องการการอนุมัติ แต่ละฝ่ายรันรอบข้อความสั้นๆ เพื่อสร้าง partial signatures
- Verify: ระบบตรวจสอบว่าชิ้นส่วนถูกต้องและมาจากบุคคลหรืออุปกรณ์ที่ถูกต้อง
- Sign: ชิ้นส่วนรวมเข้ากลายเป็นลายเซ็นมาตรฐานหนึ่งชุดที่เครือข่ายยอมรับ โดยที่อุปกรณ์เดียวไม่เคยเห็นความลับทั้งหมด
นั่นคือจุดประสงค์: ควบคุมโดยไม่เปิดเผยความลับ
Why Secure Multiparty Computation (MPC) Matters
แล้วคุณจะได้อะไรจากมัน?
- Benefit: ลดความล้มเหลวจาก single keeper และเรื่องราวขุด seed phrase น่ากลัวลง ในขณะที่ยังคงสวมบทบาท self custody
- Perspective: เข้ากับทัศนคติด้านความปลอดภัยของวันนี้: แบ่งความรับผิดชอบ ลด blast radius ทำให้สามารถกู้คืนได้
- Relevance: คุณจะเห็น MPC ใน wallets, exchanges, และ DAOs นอกจากนี้ยังร่วมกับ privacy layers เพื่อให้ Private Transactions โดยไม่เสียลายลายเซ็นมาตรฐาน
เมื่อคุณทดสอบกระเป๋า MPC (MPC wallet) ให้วาง shares บนอุปกรณ์และเครือข่ายที่ต่างกัน ตั้ง threshold ที่เหมาะสม และรัน dry run ด้วยเงินทุนขนาดเล็ก คุณต้องการให้การอนุมัติผ่านความรู้สึกธรรมดา
Key Characteristics of Secure Multiparty Computation (MPC)
อะไรที่ทำให้มันโดดเด่น:
- Secrecy: ไม่มีฝ่ายใดเห็นความลับทั้งหมด แม้กระทั่งกลุ่มก็ยังออกผลลัพธ์ที่ถูกต้อง
- Thresholds: คุณสามารถกำหนดการอนุมัติได้หลากหลาย เช่น two of three หรือ three of five เพื่อการอนุมัติที่ยืดหยุ่น
- Resilience: ถูกรบกวนด้วยอุปกรณ์หนึ่งชิ้น คุณยังไม่ถูกล็อคเอาต์ถ้า threshold ยังสามารถเข้าถึงได้
- Portable: ผลลัพธ์สุดท้ายคือลายเซ็นมาตรฐานที่เครือข่ายยอมรับ
- Scaling: ประสิทธิภาพสำคัญ ดู Scalability ว่าการทำ batch และ secure enclaves ลด latency อย่างไร
- Policy: คุณสามารถเพิ่มกฎ เช่น ขีดจำกัดการใช้จ่าย, time locks, หรือการอนุมัติเพิ่มสำหรับการเคลื่อนไหวใหญ่
Variations
MPC มีหลายรสนิยมที่คุณอาจพบเจอ:
- TSS: Threshold signature schemes ที่สร้างลายเซ็นปกติหนึ่งชุดจาก partials หลายชุด
- Shamir: Secret sharing ที่แบ่งความลับเป็นชิ้นๆ หลายชิ้นด้วย threshold ที่เลือกขึ้นมาเพื่อสร้างใหม่
- Garbled: Circuit based MPC สำหรับการคำนวณส่วนตัวทั่วไป ไม่ใช่แค่ signing
- Hybrid: MPC ผสมผสานกับ hardware enclaves หรือ secure elements สำหรับการป้องกันเพิ่มเติม
- Network: Multi org setups ที่ shares อยู่กับทีมต่างๆ หรือ custodians
Secure Multiparty Computation (MPC) ลดความเสี่ยงจาก single keeper แต่ไม่ทำให้กิจกรรม blockchain มองไม่เห็น และถ้าคุณกำลังให้บริการ ให้สอดคล้องกฎการอนุมัติกับความต้องการด้านการตรวจสอบและ regulations.
Example
แพลตฟอร์มแลกเปลี่ยนตั้งทีมอิสระสามทีมเพื่ออนุมัติการถอนเงิน เมื่อสองทีมอนุมัติ MPC จะสร้างลายเซ็นที่ถูกต้องและธุรกรรมจะผ่าน
Fun Fact
MPC เกิดจากปัญหามหาเศรษฐีของ Andrew Yao ในทศวรรษที่แปดสิบ เป็น thought experiment เล่นๆ เกี่ยวกับสองคนที่เรียนรู้ว่าใครรวยกว่ากันโดยไม่เปิดเผยมูลค่าทรัพย์สินสุทธิของแต่ละฝ่าย
Wrap-Up
สรุปตรงไปตรงมา: แบ่งปันความไว้วางใจ รักษาคณิตศาสตร์ และหยุดให้หนึ่งอุปกรณ์เป็นจุดล้มเหลวเพียงจุดเดียว