เขียนโดย: SHEKAR RAMASWAMY เรียบเรียงโดย: Cointime.com 237
เพื่อลดอุปสรรคในการเข้าสู่ระบบนิเวศ cryptocurrency หลายบริษัทกำลังทำงานเกี่ยวกับโซลูชันที่ทำให้การจัดการคีย์ส่วนตัวเป็นเรื่องง่าย โซลูชันเหล่านี้จำนวนมากอ้างว่าไม่ใช่การดูแล แต่โซลูชันเหล่านี้สามารถเข้าถึงและทำคีย์ส่วนตัวของผู้ใช้หายได้ พวกเขาใช้ประโยชน์จากพื้นที่สีเทาทางกฎหมายและวางตำแหน่งตัวเองอย่างไม่ถูกต้องเป็นจุดกึ่งกลางระหว่างความปลอดภัยและประสบการณ์ของผู้ใช้...
แนวทางสำหรับบริการที่ไม่ใช่การดูแลจำเป็นต้องได้รับการปรับปรุงเพื่อระบบนิเวศของสกุลเงินดิจิทัลที่ปลอดภัยยิ่งขึ้น โดยเฉพาะอย่างยิ่ง จำเป็นต้องมีกฎที่เข้มงวดมากขึ้นในการกำหนดบริการที่ไม่มีการจัดการ หากมีคนเลือกใช้บริการที่ไม่ใช่การดูแลทรัพย์สิน พวกเขาควรจะอุ่นใจได้อย่างเต็มที่เมื่อรู้ว่ากุญแจส่วนตัวของพวกเขานั้นปลอดภัยอย่างถาวรจากความเสี่ยงของบุคคลที่สาม บทความนี้สรุปว่าบริการที่ไม่มีการจัดการควรมีข้อกำหนดสามประการ:
ผู้ใช้สามารถเข้าถึงคีย์ส่วนตัวได้
บริการไม่สามารถเข้าถึงคีย์ส่วนตัวได้
บริการไม่สูญเสียรหัสส่วนตัว
การคำนวณหลายฝ่าย (MPC) เป็นเทคนิคการเข้ารหัสที่สามารถใช้เพื่อบรรลุข้อกำหนดทั้งสามนี้
กนง.ทำงานอย่างไร?
โดยสรุป การใช้ #fancymath (คณิตศาสตร์ขั้นสูง) สามารถแบ่งคีย์ส่วนตัวออกเป็น "การแชร์" หลายรายการและแจกจ่ายระหว่างฝ่ายที่เชื่อถือได้โดยที่ฝ่ายใดฝ่ายหนึ่งไม่เคยเห็นคีย์ส่วนตัวแบบเต็ม การตั้งค่าที่ใช้กันทั่วไปคือ "รูปแบบ MPC 2 ต่อ 3" ดังนี้:
1 แชร์ถูกจัดเก็บไว้ในอุปกรณ์ของผู้ใช้
1 หุ้นถือโดยบุคคลที่สาม โดยปกติจะเป็นกระเป๋าเงิน
การแชร์ข้อมูลสำรอง 1 รายการจะส่งถึงผู้ใช้ทางอีเมลในกรณีที่ทำอุปกรณ์หาย
ในสถานการณ์สมมตินี้มีทั้งหมด 3 หุ้น แต่ละการแบ่งปันสามารถลงนามวัตถุธุรกรรมได้บางส่วน (เนื่องจากการแบ่งปันเป็นเพียงส่วนหนึ่งของคีย์ส่วนตัว) จากหุ้น 3 หุ้น หุ้นอย่างน้อย 2 หุ้นต้องมีลายเซ็นบางส่วน ซึ่งสามารถรวมเป็นลายเซ็นเต็มรูปแบบ ส่งไปยังบล็อกเชน กระบวนการทั้งหมดถือเป็นอัลกอริทึม MPC
เมื่อผู้ใช้ต้องการดำเนินการ พวกเขาจะใช้กระเป๋าเงินเพื่อลงนามธุรกรรมตามปกติ ภายใต้ประทุน กระเป๋าเงินไม่สามารถเข้าถึงคีย์ส่วนตัวแบบเต็มได้ แต่ใช้โปรโตคอล MPC เพื่อลงนามธุรกรรมโดยไม่ต้องรวมหุ้น (เพิ่มเติมด้านล่าง) ดังนั้นกระเป๋าเงินของบุคคลที่สามจะไม่สามารถ "เห็น" การแบ่งปันครั้งที่สองหรือสามบนเซิร์ฟเวอร์ของตนได้ ทำให้ไม่สามารถเข้าครอบครองบัญชีของผู้ใช้ได้
แม้ว่าอุปกรณ์ของผู้ใช้จะถูกขโมยหรือถูกแฮ็กจากบุคคลที่สาม ผู้ใช้ยังคงควบคุมได้เนื่องจากมีเพียง 1 ใน 3 ของส่วนแบ่งที่เสียไป แน่นอน ถ้าสองสิ่งนี้เกิดขึ้นพร้อมกัน คุณก็มีปัญหา
เป็นที่น่าสังเกตว่าวิธีการนี้เป็นไปตามเกณฑ์ของเราสำหรับโซลูชันที่ไม่มีการจัดการ:
1. ผู้ใช้สามารถรับ 2/3 ของคีย์ส่วนตัวได้โดยใช้บุคคลที่สามหรือคีย์สำรอง
2. บุคคลที่สามไม่สามารถเข้าถึงคีย์ส่วนตัวได้เนื่องจากมีเพียง 1 แชร์เท่านั้น
3. บุคคลที่สามจะไม่สูญเสียคีย์ส่วนตัวเพราะมีเพียง 1 แชร์
MPC Smart Contract Wallet (SCW)
เราได้พูดคุยเกี่ยวกับวิธีการที่กระเป๋าเงินสัญญาอัจฉริยะมอบประสบการณ์การใช้งานที่ดีขึ้นผ่านคุณสมบัติต่างๆ เช่น การทำธุรกรรมกับผู้ใช้หลายคนและการจำกัดการใช้จ่าย อย่างไรก็ตาม ท้ายที่สุด พวกเขายังคงเป็นสัญญาอัจฉริยะและต้องมี EOA เพื่อเริ่มการทำธุรกรรม:
Ethereum Virtual Machine (EVM) รองรับธุรกรรมที่เซ็นชื่อด้วยคีย์ส่วนตัวเท่านั้น เนื่องจากสัญญาอัจฉริยะไม่มีคีย์ส่วนตัว จึงไม่สามารถสร้างธุรกรรมได้! ดังนั้น เฉพาะ EOA เท่านั้นที่สามารถสร้างธุรกรรมที่เรียกใช้สัญญาอัจฉริยะได้
เพื่อเป็นการเตือนความจำ นี่คือไดอะแกรมของวิธีการทำงานของกระเป๋าเงินสัญญาอัจฉริยะ:
ในขณะที่ MPC ไม่สามารถแก้ปัญหา "ยังคงต้องการ EOA" ได้อย่างสมบูรณ์ แต่ก็ทำให้กระบวนการเริ่มต้นการทำธุรกรรมปลอดภัยและง่ายขึ้น ผู้ใช้ไม่จำเป็นต้องไว้วางใจให้บุคคลที่สามถือคีย์ส่วนตัวในนามของพวกเขาอีกต่อไป และไม่ต้องกังวลเกี่ยวกับวิธีการปกป้องคีย์ส่วนตัว ตอนนี้เราได้รับประโยชน์ดังต่อไปนี้:
แม้ว่ารูปภาพนี้จะซับซ้อนกว่าภาพก่อนหน้า แต่ความซับซ้อนได้ถูกแยกออกไปในการนำไปใช้งาน เพื่อไม่ให้รบกวนผู้ใช้ปลายทาง ผลลัพธ์ที่สำคัญคือประสบการณ์ผู้ใช้ที่เหมาะสมยิ่งขึ้น
โดยสรุป ควรใช้ MPC และ SCW ร่วมกันเพื่อมอบประสบการณ์ Web3 ที่ดีที่สุด บางคนกำลังดำเนินการเรื่องนี้อยู่ เช่น การทำงานร่วมกันของ Portal และ ZeroDev
อ่านเพิ่มเติม
บางคน (รวมถึง Vitalik!) ให้เหตุผลว่า SCW ดีกว่า MPC อย่างมาก และไม่ควรผสมทั้งสองอย่างเข้าด้วยกัน ตรวจสอบทวีตเหล่านี้และเข้าร่วมการโต้วาที
ความคิดเห็นทั้งหมด