Beyond Zero-Knowledge: มีอะไรต่อไปในการเข้ารหัสแบบตั้งโปรแกรมได้

กลางJan 01, 2024
บทความนี้จะแนะนำเทคโนโลยีการเข้ารหัสแบบตั้งโปรแกรมได้เป็นหลัก เช่น MPC, FHE, IO นอกเหนือจากประวัติของ ZK
Beyond Zero-Knowledge: มีอะไรต่อไปในการเข้ารหัสแบบตั้งโปรแกรมได้

การเข้ารหัสแบบตั้งโปรแกรมได้

แม้ว่าการเข้ารหัสจะมีมานานนับพันปีแล้ว แต่การเข้ารหัสแบบตั้งโปรแกรมได้ถือเป็นเทคโนโลยีสมัยใหม่ อธิบายว่าเป็น “การเข้ารหัสเพื่อวัตถุประสงค์ทั่วไป … [หรือ] ภาษาที่สื่อความหมายสำหรับการอ้างสิทธิ์” เป็นแนวคิดที่ว่าการเข้ารหัสแบบดั้งเดิมเช่นการพิสูจน์ ZK สามารถทำให้มีความยืดหยุ่นและปรับเปลี่ยนได้เพียงพอที่นักพัฒนาซอฟต์แวร์สามารถตั้งโปรแกรมฟังก์ชันเกือบทุกอย่างนอกเหนือจากนั้นได้ อาจมีห่วงโซ่ของตรรกะที่ไม่ขาดตอนตั้งแต่คนที่คลิกปุ่มบนเว็บไซต์ไปจนถึงการพิสูจน์ทางคณิตศาสตร์ที่รับประกันความปลอดภัยของการดำเนินการเข้ารหัส

https://youtu.be/qAfprVCBhdQ?t=1024

ในขณะที่การเข้ารหัสแบบดั้งเดิมอาศัยชุดฟังก์ชันการทำงานคงที่ ซึ่งจำเป็นต้องมีผู้เขียนการเข้ารหัสที่มีทักษะในการสร้างระบบเฉพาะสำหรับกลไกใหม่ทั้งหมด การเข้ารหัสแบบตั้งโปรแกรมได้ช่วยให้นักพัฒนาปรับใช้คุณสมบัติการเข้ารหัสและฟังก์ชันการทำงานในภาษาที่ใกล้เคียงกับสิ่งที่พวกเขาเข้าใจอยู่แล้ว ช่วยให้นักพัฒนาที่ไม่ใช่ผู้เชี่ยวชาญด้านการเข้ารหัสมีอินเทอร์เฟซที่คุ้นเคยมากขึ้น

การพิสูจน์ ZK เกิดขึ้นครั้งแรกในปี 1989 แต่ยังคงเป็นเชิงทฤษฎีเป็นส่วนใหญ่ จนถึงปี 2012 เมื่อมีการค้นพบการพิสูจน์ ZK ประเภทหนึ่งที่เรียกว่า zk-SNARK พื้นฐานใหม่นี้ทำให้การพิสูจน์ ZK สามารถพิสูจน์หรือรับรองความถูกต้องของฟังก์ชันหรือการคำนวณตามอำเภอใจได้เกือบทั้งหมด

เนื่องจาก zkSNARKS เป็นไปได้ ทรัพยากรและความสามารถได้หลั่งไหลเข้าสู่การสร้าง zCash, zkRollups, zkEVM และโฮสต์ของแอปพลิเคชันอื่นๆ ที่ขึ้นต้นด้วยตัวอักษร z ปรากฎว่าระบบกระจายอำนาจเช่น Ethereum และบล็อกเชนโดยทั่วไปเป็นแรงจูงใจที่สมบูรณ์แบบในการดึงดูดผู้คนที่สนใจในวิทยาการเข้ารหัสลับ โดยเปลี่ยนสาขาการวิจัยที่ครั้งหนึ่งเคยทำไม่ได้ให้กลายเป็นระบบนิเวศที่กระตือรือร้นพร้อมแอปพลิเคชันสำหรับผู้ใช้ปลายทางจริง

ไม่มีการรับประกันว่าการประมวลผลหลายฝ่าย (MPC), การเข้ารหัส Homomorphic อย่างสมบูรณ์ (FHE) และ Obfuscation ที่แยกแยะไม่ได้ (iO) จะเป็นไปตามเส้นทางเดียวกันกับ ZK โดยจะใช้งานได้จริง ปรับให้เหมาะสม และมีวัตถุประสงค์ทั่วไปมากขึ้นเมื่อเวลาผ่านไป แต่ในระยะเริ่มแรกนี้ มันเป็นไปได้อย่างแน่นอน

หากคุณคิดว่าการเข้ารหัสแบบตั้งโปรแกรมได้นั้นเป็นคอมพิวเตอร์ดิจิทัลประเภทหนึ่ง ซึ่งสร้างขึ้นบนสมมติฐานบางประการที่อนุญาตให้มีคุณสมบัติและการรับประกันบางอย่าง แสดงว่าเรายังอยู่ในขั้นตอนของฮาร์ดแวร์ เรายังคงพยายามหาวิธีที่ดีที่สุดในการสร้างลอจิคัลเกตหรือวงจรสำหรับคอมพิวเตอร์เครื่องใหม่นี้

การเปรียบเทียบที่ค่อนข้างเข้าใจง่าย

เพื่อให้เข้าใจภาพรวมทั่วไปของการเข้ารหัสแบบโปรแกรมได้ดีขึ้น เรามาเริ่มด้วยการประมาณคร่าวๆ ว่า MPC, FHE และ IO มีความสัมพันธ์กับ ZK และความสัมพันธ์ระหว่างกันคร่าวๆ กันอย่างไร ในส่วนนี้และทุกส่วนที่ตามมา เราจะแลกความแตกต่าง ความแม่นยำ และความเป็นทางการ เพื่อความเรียบง่ายและการเข้าถึงได้

วิธีที่ง่ายที่สุดในการให้เหตุผลเกี่ยวกับการเข้ารหัสคือข้อมูลใดที่ถูกซ่อนหรือเป็นความลับ และสิ่งที่ระบบพิสูจน์หรือเปิดเผย

คุณยังอาจคิดว่าแต่ละระบบเหล่านี้ยืนหยัดเพื่อเป็นเพื่อนร่วมกันในจินตนาการได้ วิกิพีเดียเรียกเพื่อนคนนี้ว่า "โทนี่" โทนี่ไม่มีข้อผิดพลาด ไม่เน่าเปื่อย และน่าเชื่อถือโดยสิ้นเชิง งานของโทนี่คือการรักษาความลับ ในตารางด้านล่าง ให้คิดว่า "องค์ประกอบส่วนตัว" เป็นความลับที่โทนี่สามารถไว้วางใจได้ "กรณีการใช้งาน" เป็นงานที่โทนี่สามารถทำงานได้ดีพอสมควร และ "การปฏิบัติจริง" คือความชำนาญที่โทนี่สามารถปฏิบัติงานเหล่านี้ในปัจจุบันได้

ตารางด้านบนมีจุดประสงค์เพื่อให้แนวคิดคร่าวๆ สำหรับด้านต่างๆ ของการเข้ารหัสแบบตั้งโปรแกรมได้ ตอนนี้ เรามาเจาะลึกลงไปอีกหน่อยแล้วทบทวนสิ่งที่ MPC, FHE และ iO ทำพร้อมกับเกร็ดความรู้ที่น่าสนใจเกี่ยวกับแต่ละสาขา

การคำนวณหลายฝ่าย (MPC)

Multi-Party Computation (MPC) ช่วยให้หลายฝ่ายสามารถร่วมกันคำนวณฟังก์ชันที่ตกลงร่วมกันได้โดยไม่ต้องเปิดเผยข้อมูลใดๆ แก่ผู้เข้าร่วมคนอื่นๆ เมื่อใช้ MPC การคำนวณแบบเดียวกันจะนำไปใช้กับข้อมูลของทุกคน แต่ข้อมูลของแต่ละฝ่ายจะถูกเก็บเป็นความลับ ค่ากลางก็จะเป็นความลับเช่นกัน มีเพียงผลลัพธ์เท่านั้นที่ถูกเปิดเผยในตอนท้าย

ตรงกันข้ามกับ ZK, MPC คือการทำงานร่วมกัน ช่วยให้ฝ่ายต่างๆ ทำงานร่วมกันในการคำนวณเดียวกัน โดยแต่ละฝ่ายให้ข้อมูลของตนเอง เพื่อให้ได้ผลลัพธ์ร่วมกันที่ทุกคนต้องการ

เราสามารถเปรียบเทียบ ZK และ MPC ในบริบทของระบบ AI เพื่อให้เข้าใจบริบทมากขึ้น ZK สามารถรับรองความถูกต้องหรือยืนยันชิ้นส่วนข้อมูลที่มาจากบุคคลจริงหรือจากโทรศัพท์ของบุคคลได้ดี กนง. ดีกว่าสำหรับการฝึกอบรมระบบ AI เนื่องจากบุคคล กลุ่ม หรือองค์กรต่างๆ สามารถแบ่งปันข้อมูลที่ละเอียดอ่อนกับระบบ AI ได้ แต่เชื่อมั่นว่าข้อมูลจะไม่ถูกเปิดเผยต่อบุคคลอื่น

ปัญหาเศรษฐี

แอนดรูว์ เหยา คิดเกี่ยวกับ MPC ในปี 1982 เพื่อแก้ปัญหาการทดลองทางความคิดที่เรียกว่า "ปัญหาเศรษฐี" ซึ่งเศรษฐีสองคนอยากรู้ว่าใครรวยกว่ากันโดยไม่ต้องบอกกันว่ามีเงินเท่าไหร่ วิธีแก้ปัญหาคือการใช้วงจรที่อ่านไม่ออก ซึ่งตาม Vitalik Buterin ผู้อธิบายแนวคิดการเข้ารหัสบ่อยครั้ง ก็เป็นหนึ่งในวิธีพื้นฐานที่สุดในการพันศีรษะของคุณกับ MPC

[ก่อนที่จะเรียนรู้เกี่ยวกับวงจรที่อ่านไม่ออก คุณจำเป็นต้องรู้ว่าวงจรเลขคณิตโดยทั่วไปคืออะไร หากคุณยังใหม่ต่อแนวคิดเรื่องวงจร มีคำอธิบายง่ายๆ ที่นี่]

MPC เป็นกระบวนการโต้ตอบหลายขั้นตอน โดยเศรษฐี #1 (อลิซเดอะการ์เบลอร์) ต้องสร้างวงจรก่อน ป้อนมูลค่าสุทธิของเธอ จากนั้นแปลงเป็นรูปแบบที่อ่านไม่ออกหรือเข้ารหัสก่อนที่จะส่งต่อให้กับเศรษฐี #2 (Bob the Evaluator ). เมื่อ Bob ได้เป็นเจ้าของวงจร หน้าที่ของเขาคือเพิ่มมูลค่าสุทธิของตัวเอง จากนั้นประเมินหรือดำเนินการวงจรเพื่อให้แน่ใจว่าถูกต้อง ในที่สุด บ็อบถอดรหัสผลลัพธ์สุดท้าย และตัวอย่าง เรียนรู้ว่าอลิซรวยกว่า แต่ไม่เคยเรียนรู้ว่าแท้จริงแล้วอลิซรวยกว่ามาก และเขาไม่ควรตั้งสมมติฐาน

ปัญหาของเศรษฐีและวงจรที่อ่านไม่ออกเป็นวิธีแก้ปัญหามีความสำคัญอย่างยิ่งต่อการพัฒนา MPC ในช่วงแรก แต่การใช้งานมีจำกัด ปัญหาที่ซับซ้อนและละเอียดยิ่งขึ้นเรียกว่าปัญหาเศรษฐีสังคมนิยม ตรวจสอบว่าเศรษฐีทั้งสองคนรวยเท่ากันหรือไม่ แทนที่จะเปิดเผยว่าใครมีเงินมากกว่ากัน ความแตกต่างเล็กน้อยนี้ขยายฟังก์ชันการทำงานของ MPC ได้อย่างมาก แต่จำเป็นต้องมีโซลูชันและเทคนิคการเข้ารหัสลับที่ซับซ้อนมากขึ้นที่อยู่นอกเหนือขอบเขตของบทความนี้

การเข้ารหัสแบบ Homomorphic อย่างสมบูรณ์ (FHE)

การเข้ารหัสแบบ Homomorphic อย่างสมบูรณ์ (FHE) ช่วยให้สามารถคำนวณข้อมูลที่เข้ารหัสได้ สามารถทำหน้าที่กับข้อมูลที่เข้ารหัสได้เหมือนกับว่ายังไม่ได้เข้ารหัส ผลลัพธ์ของฟังก์ชันจะถูกถอดรหัสโดยฝ่ายที่มีรหัสลับเท่านั้น หากเราคิดว่าการเข้ารหัสเป็นกล่องดำที่ซ่อนความลับ FHE จะตรวจสอบให้แน่ใจว่าข้อมูลและการคำนวณของข้อมูลนั้นยังคงอยู่ในกล่องดำนั้น

แม้ว่าจะไม่มีการทดลองทางความคิดที่มีชื่อเสียงเช่นปัญหาเศรษฐีสำหรับ MPC แต่ FHE สามารถแก้ไขจุดอ่อนด้านความปลอดภัยขั้นพื้นฐานได้: “ความจำเป็นในการถอดรหัสก่อนประมวลผลข้อมูล”

https://www.zama.ai/post/the-revolution-of-fhe

ในบริบทของ AI FHE จะเก็บข้อมูลทั้งหมดระหว่างผู้ใช้ (ผู้ถือคีย์ลับ) และระบบ AI ที่เข้ารหัสไว้ ผู้ใช้โต้ตอบกับระบบตามปกติ แต่ผู้ใช้สามารถมั่นใจได้ว่า AI ไม่เคย "เรียนรู้" อะไรเกี่ยวกับข้อมูลที่ได้รับ การโต้ตอบทั้งหมดจะถูกเข้ารหัส AI ไม่เคยเรียนรู้สิ่งที่คุณพิมพ์หรือถาม รูปภาพที่คุณส่ง หรือใครเป็นคนส่ง แต่ยังคงสามารถตอบสนองราวกับว่ารู้ข้อมูล

หากใช้งานได้ FHE จะเป็นหนึ่งในเทคโนโลยีการรักษาความเป็นส่วนตัวที่ทรงพลังที่สุดที่มีอยู่ และใครจะรู้? ภายใน 10 ปี เราอาจมี FHE-EVM ด้วยซ้ำ

การจัดการเสียงรบกวน

เมื่อเปรียบเทียบกับ MPC และ ZK แล้ว FHE อยู่ในช่วงท้ายของสเปกตรัมที่เป็นทฤษฎีมากกว่าหรือในทางปฏิบัติน้อยกว่าในขณะนี้ เทคโนโลยีนี้ถือว่าเป็นไปได้ในปี 2009 เมื่อ Craig Gentry ค้นพบวิธีจัดการกับเสียงรบกวน

การดำเนินการ FHE มีการใช้คอมพิวเตอร์อย่างเข้มข้นเนื่องจากมีการเพิ่ม “สัญญาณรบกวน” ในระหว่างกระบวนการเข้ารหัสเพื่อเพิ่มความปลอดภัย สัญญาณรบกวนใน FHE คือค่าสุ่มเล็กๆ ที่เพิ่มให้กับข้อความธรรมดา (ข้อมูลที่ไม่ได้รับการเข้ารหัส) ก่อนที่จะเปลี่ยนเป็นข้อความไซเฟอร์เท็กซ์ (ข้อมูลที่เข้ารหัส) การดำเนินการแต่ละครั้งจะเพิ่มเสียงรบกวน แม้ว่าการดำเนินการบวกและการลบจะทำให้เกิดเสียงรบกวนเพิ่มขึ้นเล็กน้อย แต่การคูณมีราคาแพงกว่าในการคำนวณ ซึ่งส่งผลให้เสียงรบกวนเพิ่มขึ้นอย่างมาก ดังนั้นเมื่อความซับซ้อนของโปรแกรมเพิ่มขึ้น สัญญาณรบกวน – พื้นที่ที่จำเป็นในการรองรับสัญญาณรบกวนและทรัพยากรการคำนวณที่จำเป็นในการประมวลผลสัญญาณรบกวน – ก็สะสม

ความก้าวหน้าของ Gentry คือเทคนิคที่เรียกว่าการบูตสแตรปปิ้ง ซึ่งสามารถลดสัญญาณรบกวนและช่วยให้สามารถคำนวณข้อมูลที่เข้ารหัสในระบบ FHE ได้มากขึ้น Bootstrapping ใช้ไซเฟอร์เท็กซ์และถอดรหัสแบบโฮโมมอร์ฟิก ซึ่งหมายถึงการลดระดับสัญญาณรบกวนบนข้อมูลที่เข้ารหัสโดยไม่เปิดเผยว่าข้อมูลนั้นคืออะไร ผลลัพธ์ที่ได้คือไซเฟอร์เท็กซ์ที่มีสัญญาณรบกวนที่กำหนดไว้ล่วงหน้าต่ำกว่ามาก ซึ่งช่วยให้เราสามารถคำนวณไซเฟอร์เท็กซ์เพิ่มเติมได้ โดยทั่วไปการบูตสแตรปปิ้งช่วยให้เราหลีกเลี่ยงความต้องการพื้นที่ที่สูงขึ้นสำหรับการเติบโตของสัญญาณรบกวนเนื่องจากความซับซ้อนของการคำนวณเพิ่มขึ้น เราสามารถจำกัดพื้นที่ให้เหลือเพียงไม่กี่การดำเนินการและบูตสแตรปซ้ำๆ เพื่อคำนวณการคำนวณขนาดใหญ่โดยพลการโดยไม่กระทบต่อข้อมูลต้นฉบับ

ขึ้นอยู่กับโครงร่าง FHE การบูตสแตรปอาจใช้เวลาหลายนาทีหรือมิลลิวินาที หากการบูตสแตรปช้าลง ค่าใช้จ่ายในการคำนวณสามารถกระจายออกไปได้โดยนำไปใช้กับไซเฟอร์เท็กซ์หลายรายการพร้อมกัน หากการบูตสแตรปเร็วกว่า ก็มักจะมาพร้อมกับการแลกเปลี่ยนการทำงานกับข้อความธรรมดาชิ้นเล็กๆ เท่านั้น (ปกติคือ 8 บิต) ในแต่ละครั้งเพื่อให้มีประสิทธิภาพต่อไป

Obfuscation ที่ไม่สามารถแยกแยะได้ (iO)

ถ้า FHE เปลี่ยนองค์ประกอบทั้งหมดของการคำนวณให้เป็นกล่องดำ iO จะเปลี่ยนการคำนวณให้กลายเป็นกล่องดำ

Indistinguishability Obfuscation (iO) ถือเป็นระบบการเข้ารหัสที่ทรงพลังที่สุดภายในขอบเขตของความเป็นไปได้ทางทฤษฎี ในบทความหนึ่ง iO ได้รับการอธิบายว่าเป็น "เครื่องมือหลักที่สามารถสร้างโปรโตคอลการเข้ารหัสลับอื่น ๆ ได้เกือบทั้งหมด" และผู้เชี่ยวชาญด้านการเข้ารหัสเรียกว่า "อัญมณีมงกุฎ" และ "การเข้ารหัสลับแบบดั้งเดิมที่ควบคุมสิ่งเหล่านั้นทั้งหมด"

ตามที่ Amit Sahai ศาสตราจารย์เป็นที่รู้จักในการอธิบายการพิสูจน์ ZK ให้กับเด็กๆ และเป็นหนึ่งในนักวิจัยที่คิดค้นวิธีการสร้าง iO บนสมมติฐานที่มีรากฐานมาอย่างดี iO ทำงานบนกระบวนทัศน์ที่แตกต่างโดยพื้นฐานจากระบบการเข้ารหัสลับก่อนหน้านี้ IO ถือว่าฝ่ายตรงข้ามสามารถอ่านใจคุณได้อยู่แล้ว (คำอุปมาสำหรับคอมพิวเตอร์ของคุณ) ความลับของคุณเป็นที่รู้อยู่แล้วจึงไม่สามารถซ่อนได้ สิ่งเดียวที่คุณทำได้คือทำให้สับสนในสิ่งที่ฝ่ายตรงข้ามมองเห็นอยู่แล้ว

https://youtu.be/v2RR_c5hn1E

จุดประสงค์ของ iO คือการทำให้สองฟังก์ชันหรือการคำนวณไม่ชัดเจนเท่าๆ กัน หากคุณเปลี่ยนการคำนวณสองรายการให้อยู่ในรูปแบบที่แยกจากกันไม่ได้ คุณสามารถซ่อนวิธีการทำงานของโปรแกรมได้ หากคุณไม่สามารถบอกความแตกต่างระหว่างสองโปรแกรมได้ คุณจะไม่รู้ว่าโปรแกรมใดในสองโปรแกรมที่กำลังดำเนินการอยู่ และไม่มีข้อมูลใดที่สามารถอนุมานได้จากโปรแกรมใดโปรแกรมหนึ่ง นอกจากว่าทั้งสองโปรแกรมมีฟังก์ชันเดียวกัน ทั้งสองโปรแกรมใช้อินพุตเดียวกันและสร้างเอาต์พุตเหมือนกัน แต่ iO ทำให้ไม่มีใครสามารถทราบได้ว่าทำอย่างไร

ด้วย iO คุณสามารถปกปิดโครงสร้างของฟังก์ชันทุกประเภทได้ รวมถึงฟังก์ชันเกือบทั้งหมดที่ประกอบกันเป็นการเข้ารหัสด้วย กล่าวอีกนัยหนึ่ง ด้วยการปิดบังเกือบทุกอย่าง คุณจะเข้าถึงการเข้ารหัสแบบตั้งโปรแกรมได้ที่มีจุดประสงค์ทั่วไปที่สุด ซึ่งสามารถตั้งโปรแกรมพื้นฐานอื่น ๆ ไว้ด้านบนได้

ในทางเทคนิคแล้ว มีกล่องดำที่ใหญ่กว่า iO จริงๆ แล้วมันถูกเรียกว่าการทำให้งงงวยกล่องดำ แต่สิ่งนั้นก็ยังเป็นไปไม่ได้

สมมติฐานที่มีรากฐานอย่างดี

ไม่มีใครรู้วิธีสร้าง iO จนถึงปี 2013 เมื่อมีการเสนอแผนที่หลายเส้นโดย Garg, Gentry, Halevi, Raykova, Sahai, Waters โปรแกรมคอมพิวเตอร์สามารถถูกทำลายได้เหมือนชิ้นส่วนปริศนา แล้วถูกบดบังโดยใช้แผนที่หลายเส้น ชิ้นส่วนที่ถูกบดบังสามารถประกอบกลับคืนได้เพื่อให้มีฟังก์ชันการทำงานเหมือนกับโปรแกรมต้นฉบับโดยไม่เปิดเผยการทำงานภายใน

แผนที่หลายเส้นเป็นลักษณะทั่วไปของแผนที่สองเส้นหรือการจับคู่ที่ใช้ในการเข้ารหัส Elliptic Curves (ECC) แม้ว่าแผนที่ไบลิเนียร์จะเป็นพื้นฐานของรูปแบบการเข้ารหัสที่มีอยู่ เช่น ลายเซ็น BLS แต่ก็ไม่ซับซ้อนหรือแสดงออกเพียงพอสำหรับ iO และในขณะที่แผนที่หลายเส้นสามารถรองรับ iO ได้ โครงสร้างพีชคณิตที่พัฒนาขึ้นใหม่นี้ถูกโจมตีได้ง่ายและไม่ปลอดภัย ดังนั้นการใช้แผนที่หลายเส้นโดยทั่วไปจึงไม่เป็นที่พอใจสำหรับนักเข้ารหัส สนามก็ติดอีกแล้ว

จากนั้นในปี 2020 Jain, Lin และ Sahai เสนอวิธีแก้ปัญหาที่แม้จะแปลกและใหม่ แต่ก็ง่ายพอสำหรับนักเข้ารหัสในการให้เหตุผล และแทนที่จะอาศัยสมมติฐานที่พัฒนาขึ้นใหม่ เช่น แผนที่แบบหลายเชิงเส้น iO เวอร์ชันนี้สามารถสร้างขึ้นบน สมมติฐานมาตรฐานและรากฐานที่ดีที่มีการศึกษามานานหลายทศวรรษ เช่น การเรียนรู้พร้อมข้อผิดพลาด (LWE) ด้วยความก้าวหน้าครั้งล่าสุดนี้ iO ก็กลับมาเป็นไปได้อีกครั้ง จอกศักดิ์สิทธิ์ยังคงอยู่ไม่ไกลเกินเอื้อม

ถิ่นทุรกันดารเปลี่ยว

ระบบการเข้ารหัสแต่ละระบบประกอบด้วยสมมติฐานทางคณิตศาสตร์และเทคนิคการเข้ารหัสที่แตกต่างกัน ไม่มีความก้าวหน้าเพียงครั้งเดียวที่สามารถแก้ไขปัญหาทั้งหมดในระบบได้ ในทางกลับกัน การค้นพบเป็นไปตามขั้นตอนเล็กๆ น้อยๆ และการก้าวกระโดดครั้งใหญ่ที่ไม่อาจคาดเดาได้ ซึ่งเปลี่ยนแปลงสมมติฐานและเทคนิคที่มีอยู่ ซึ่งจะนำไปสู่ความก้าวหน้าและการค้นพบที่มากขึ้น และสำหรับทุกๆ การค้นพบที่ได้ผล ยังมีอีกหลายคนที่ไม่ได้ผล

ในการนำเสนอเรื่อง iO Sahai บรรยายถึงพื้นที่ดังกล่าวว่าอยู่ใน “ถิ่นทุรกันดารเปลี่ยว” โดยที่ยังไม่ชัดเจนว่าอะไรคือสิ่งที่ไม่เข้าใจ และปัญหาที่ถูกต้องในการแก้ไขคืออะไร

ทีมอย่าง PSE ทำงานในด้านปฏิบัติหรือประยุกต์ของการเข้ารหัสแบบตั้งโปรแกรมได้เป็นหลัก โดยมุ่งเน้นไปที่พื้นฐานอย่าง ZK และ MPC พร้อมด้วยสมมติฐานที่มีรากฐานมาอย่างดี ผ่านการทดสอบการต่อสู้ ค่อนข้างปรับให้เหมาะสม และคิดว่าปลอดภัยและมีประสิทธิภาพ แม้ว่าจะมีการปรับปรุงให้เหมาะสมอีกมาก แต่ขณะนี้ ZK ก็อยู่ในขอบเขตของการใช้งานจริงอย่างมั่นคง แต่ก็มีช่วงหนึ่งที่ ZK ถูกกักขังอยู่ในถิ่นทุรกันดารเปลี่ยว

เพื่อเพิ่มจำนวนเครื่องมือการรักษาความเป็นส่วนตัว รับประกันความปลอดภัย ตรวจสอบการอ้างสิทธิ์ และเปิดใช้งานการเข้ารหัสที่โลกสามารถเข้าถึงได้ อย่างน้อยที่สุด เราควรหรี่ตามองไปยังขอบฟ้าของสิ่งที่กำลังจะเกิดขึ้น เพราะไม่มีใครสามารถคาดเดาได้ว่าอะไร จะใช้งานได้จริงในอีก 10 ปีข้างหน้า

การนำเสนอของ Sahai รวมถึงคำพูดจากบทความ Nature ปี 2003 โดย Steven Weinberg ที่เรียกว่า Four Golden Lessons ซึ่งเน้นอีกเหตุผลหนึ่งที่ต้องแก้ไขสิ่งที่ทำไม่ได้ในปัจจุบัน

“ตอนที่ผมสอนที่สถาบันเทคโนโลยีแมสซาชูเซตส์ในช่วงปลายทศวรรษ 1960 นักเรียนคนหนึ่งบอกฉันว่าเขาต้องการเข้าสู่ทฤษฎีสัมพัทธภาพทั่วไปมากกว่าสาขาวิชาที่ฉันกำลังทำอยู่ ซึ่งเป็นฟิสิกส์อนุภาคเบื้องต้น เพราะหลักการของแบบแรกนั้นเป็นที่รู้จักกันดี ในขณะที่อย่างหลังดูเหมือนจะยุ่งเหยิงสำหรับเขา ฉันตกใจที่เขาเพิ่งให้เหตุผลดีๆ ในการทำสิ่งที่ตรงกันข้าม... คำแนะนำของฉันคือไปจัดการเรื่องยุ่งๆ นั่นแหละคือที่ที่ต้องลงมือทำ”

การเข้ารหัสแบบตั้งโปรแกรมได้กำลังได้รับการสำรวจโดยทีมต่างๆ รวมถึง PSE และ 0xPARC ซึ่งเป็นผู้จัดงานร่วมของกิจกรรม 2 วันที่เรียกว่าการประชุมการเข้ารหัสแบบโปรแกรมได้ ซึ่งจะจัดขึ้นที่อิสตันบูล ประเทศตุรกี ในวันที่ 16 และ 17 พฤศจิกายน 2023

มาทักทายกัน!

หรือค้นหา PSE ออนไลน์บน Discord

ข้อสงวนสิทธิ์:

  1. บทความนี้พิมพ์ซ้ำจาก [การสำรวจความเป็นส่วนตัวและมาตราส่วน] ลิขสิทธิ์ทั้งหมดเป็นของผู้เขียนต้นฉบับ [kichong] หากมีการคัดค้านการพิมพ์ซ้ำนี้ โปรดติดต่อทีมงาน Gate Learn แล้วพวกเขาจะจัดการโดยเร็วที่สุด
  2. การปฏิเสธความรับผิด: มุมมองและความคิดเห็นที่แสดงในบทความนี้เป็นเพียงของผู้เขียนเท่านั้น และไม่ถือเป็นคำแนะนำในการลงทุนใดๆ
  3. การแปลบทความเป็นภาษาอื่นดำเนินการโดยทีมงาน Gate Learn เว้นแต่จะกล่าวถึง ห้ามคัดลอก แจกจ่าย หรือลอกเลียนแบบบทความที่แปลแล้ว

Beyond Zero-Knowledge: มีอะไรต่อไปในการเข้ารหัสแบบตั้งโปรแกรมได้

กลางJan 01, 2024
บทความนี้จะแนะนำเทคโนโลยีการเข้ารหัสแบบตั้งโปรแกรมได้เป็นหลัก เช่น MPC, FHE, IO นอกเหนือจากประวัติของ ZK
Beyond Zero-Knowledge: มีอะไรต่อไปในการเข้ารหัสแบบตั้งโปรแกรมได้

การเข้ารหัสแบบตั้งโปรแกรมได้

แม้ว่าการเข้ารหัสจะมีมานานนับพันปีแล้ว แต่การเข้ารหัสแบบตั้งโปรแกรมได้ถือเป็นเทคโนโลยีสมัยใหม่ อธิบายว่าเป็น “การเข้ารหัสเพื่อวัตถุประสงค์ทั่วไป … [หรือ] ภาษาที่สื่อความหมายสำหรับการอ้างสิทธิ์” เป็นแนวคิดที่ว่าการเข้ารหัสแบบดั้งเดิมเช่นการพิสูจน์ ZK สามารถทำให้มีความยืดหยุ่นและปรับเปลี่ยนได้เพียงพอที่นักพัฒนาซอฟต์แวร์สามารถตั้งโปรแกรมฟังก์ชันเกือบทุกอย่างนอกเหนือจากนั้นได้ อาจมีห่วงโซ่ของตรรกะที่ไม่ขาดตอนตั้งแต่คนที่คลิกปุ่มบนเว็บไซต์ไปจนถึงการพิสูจน์ทางคณิตศาสตร์ที่รับประกันความปลอดภัยของการดำเนินการเข้ารหัส

https://youtu.be/qAfprVCBhdQ?t=1024

ในขณะที่การเข้ารหัสแบบดั้งเดิมอาศัยชุดฟังก์ชันการทำงานคงที่ ซึ่งจำเป็นต้องมีผู้เขียนการเข้ารหัสที่มีทักษะในการสร้างระบบเฉพาะสำหรับกลไกใหม่ทั้งหมด การเข้ารหัสแบบตั้งโปรแกรมได้ช่วยให้นักพัฒนาปรับใช้คุณสมบัติการเข้ารหัสและฟังก์ชันการทำงานในภาษาที่ใกล้เคียงกับสิ่งที่พวกเขาเข้าใจอยู่แล้ว ช่วยให้นักพัฒนาที่ไม่ใช่ผู้เชี่ยวชาญด้านการเข้ารหัสมีอินเทอร์เฟซที่คุ้นเคยมากขึ้น

การพิสูจน์ ZK เกิดขึ้นครั้งแรกในปี 1989 แต่ยังคงเป็นเชิงทฤษฎีเป็นส่วนใหญ่ จนถึงปี 2012 เมื่อมีการค้นพบการพิสูจน์ ZK ประเภทหนึ่งที่เรียกว่า zk-SNARK พื้นฐานใหม่นี้ทำให้การพิสูจน์ ZK สามารถพิสูจน์หรือรับรองความถูกต้องของฟังก์ชันหรือการคำนวณตามอำเภอใจได้เกือบทั้งหมด

เนื่องจาก zkSNARKS เป็นไปได้ ทรัพยากรและความสามารถได้หลั่งไหลเข้าสู่การสร้าง zCash, zkRollups, zkEVM และโฮสต์ของแอปพลิเคชันอื่นๆ ที่ขึ้นต้นด้วยตัวอักษร z ปรากฎว่าระบบกระจายอำนาจเช่น Ethereum และบล็อกเชนโดยทั่วไปเป็นแรงจูงใจที่สมบูรณ์แบบในการดึงดูดผู้คนที่สนใจในวิทยาการเข้ารหัสลับ โดยเปลี่ยนสาขาการวิจัยที่ครั้งหนึ่งเคยทำไม่ได้ให้กลายเป็นระบบนิเวศที่กระตือรือร้นพร้อมแอปพลิเคชันสำหรับผู้ใช้ปลายทางจริง

ไม่มีการรับประกันว่าการประมวลผลหลายฝ่าย (MPC), การเข้ารหัส Homomorphic อย่างสมบูรณ์ (FHE) และ Obfuscation ที่แยกแยะไม่ได้ (iO) จะเป็นไปตามเส้นทางเดียวกันกับ ZK โดยจะใช้งานได้จริง ปรับให้เหมาะสม และมีวัตถุประสงค์ทั่วไปมากขึ้นเมื่อเวลาผ่านไป แต่ในระยะเริ่มแรกนี้ มันเป็นไปได้อย่างแน่นอน

หากคุณคิดว่าการเข้ารหัสแบบตั้งโปรแกรมได้นั้นเป็นคอมพิวเตอร์ดิจิทัลประเภทหนึ่ง ซึ่งสร้างขึ้นบนสมมติฐานบางประการที่อนุญาตให้มีคุณสมบัติและการรับประกันบางอย่าง แสดงว่าเรายังอยู่ในขั้นตอนของฮาร์ดแวร์ เรายังคงพยายามหาวิธีที่ดีที่สุดในการสร้างลอจิคัลเกตหรือวงจรสำหรับคอมพิวเตอร์เครื่องใหม่นี้

การเปรียบเทียบที่ค่อนข้างเข้าใจง่าย

เพื่อให้เข้าใจภาพรวมทั่วไปของการเข้ารหัสแบบโปรแกรมได้ดีขึ้น เรามาเริ่มด้วยการประมาณคร่าวๆ ว่า MPC, FHE และ IO มีความสัมพันธ์กับ ZK และความสัมพันธ์ระหว่างกันคร่าวๆ กันอย่างไร ในส่วนนี้และทุกส่วนที่ตามมา เราจะแลกความแตกต่าง ความแม่นยำ และความเป็นทางการ เพื่อความเรียบง่ายและการเข้าถึงได้

วิธีที่ง่ายที่สุดในการให้เหตุผลเกี่ยวกับการเข้ารหัสคือข้อมูลใดที่ถูกซ่อนหรือเป็นความลับ และสิ่งที่ระบบพิสูจน์หรือเปิดเผย

คุณยังอาจคิดว่าแต่ละระบบเหล่านี้ยืนหยัดเพื่อเป็นเพื่อนร่วมกันในจินตนาการได้ วิกิพีเดียเรียกเพื่อนคนนี้ว่า "โทนี่" โทนี่ไม่มีข้อผิดพลาด ไม่เน่าเปื่อย และน่าเชื่อถือโดยสิ้นเชิง งานของโทนี่คือการรักษาความลับ ในตารางด้านล่าง ให้คิดว่า "องค์ประกอบส่วนตัว" เป็นความลับที่โทนี่สามารถไว้วางใจได้ "กรณีการใช้งาน" เป็นงานที่โทนี่สามารถทำงานได้ดีพอสมควร และ "การปฏิบัติจริง" คือความชำนาญที่โทนี่สามารถปฏิบัติงานเหล่านี้ในปัจจุบันได้

ตารางด้านบนมีจุดประสงค์เพื่อให้แนวคิดคร่าวๆ สำหรับด้านต่างๆ ของการเข้ารหัสแบบตั้งโปรแกรมได้ ตอนนี้ เรามาเจาะลึกลงไปอีกหน่อยแล้วทบทวนสิ่งที่ MPC, FHE และ iO ทำพร้อมกับเกร็ดความรู้ที่น่าสนใจเกี่ยวกับแต่ละสาขา

การคำนวณหลายฝ่าย (MPC)

Multi-Party Computation (MPC) ช่วยให้หลายฝ่ายสามารถร่วมกันคำนวณฟังก์ชันที่ตกลงร่วมกันได้โดยไม่ต้องเปิดเผยข้อมูลใดๆ แก่ผู้เข้าร่วมคนอื่นๆ เมื่อใช้ MPC การคำนวณแบบเดียวกันจะนำไปใช้กับข้อมูลของทุกคน แต่ข้อมูลของแต่ละฝ่ายจะถูกเก็บเป็นความลับ ค่ากลางก็จะเป็นความลับเช่นกัน มีเพียงผลลัพธ์เท่านั้นที่ถูกเปิดเผยในตอนท้าย

ตรงกันข้ามกับ ZK, MPC คือการทำงานร่วมกัน ช่วยให้ฝ่ายต่างๆ ทำงานร่วมกันในการคำนวณเดียวกัน โดยแต่ละฝ่ายให้ข้อมูลของตนเอง เพื่อให้ได้ผลลัพธ์ร่วมกันที่ทุกคนต้องการ

เราสามารถเปรียบเทียบ ZK และ MPC ในบริบทของระบบ AI เพื่อให้เข้าใจบริบทมากขึ้น ZK สามารถรับรองความถูกต้องหรือยืนยันชิ้นส่วนข้อมูลที่มาจากบุคคลจริงหรือจากโทรศัพท์ของบุคคลได้ดี กนง. ดีกว่าสำหรับการฝึกอบรมระบบ AI เนื่องจากบุคคล กลุ่ม หรือองค์กรต่างๆ สามารถแบ่งปันข้อมูลที่ละเอียดอ่อนกับระบบ AI ได้ แต่เชื่อมั่นว่าข้อมูลจะไม่ถูกเปิดเผยต่อบุคคลอื่น

ปัญหาเศรษฐี

แอนดรูว์ เหยา คิดเกี่ยวกับ MPC ในปี 1982 เพื่อแก้ปัญหาการทดลองทางความคิดที่เรียกว่า "ปัญหาเศรษฐี" ซึ่งเศรษฐีสองคนอยากรู้ว่าใครรวยกว่ากันโดยไม่ต้องบอกกันว่ามีเงินเท่าไหร่ วิธีแก้ปัญหาคือการใช้วงจรที่อ่านไม่ออก ซึ่งตาม Vitalik Buterin ผู้อธิบายแนวคิดการเข้ารหัสบ่อยครั้ง ก็เป็นหนึ่งในวิธีพื้นฐานที่สุดในการพันศีรษะของคุณกับ MPC

[ก่อนที่จะเรียนรู้เกี่ยวกับวงจรที่อ่านไม่ออก คุณจำเป็นต้องรู้ว่าวงจรเลขคณิตโดยทั่วไปคืออะไร หากคุณยังใหม่ต่อแนวคิดเรื่องวงจร มีคำอธิบายง่ายๆ ที่นี่]

MPC เป็นกระบวนการโต้ตอบหลายขั้นตอน โดยเศรษฐี #1 (อลิซเดอะการ์เบลอร์) ต้องสร้างวงจรก่อน ป้อนมูลค่าสุทธิของเธอ จากนั้นแปลงเป็นรูปแบบที่อ่านไม่ออกหรือเข้ารหัสก่อนที่จะส่งต่อให้กับเศรษฐี #2 (Bob the Evaluator ). เมื่อ Bob ได้เป็นเจ้าของวงจร หน้าที่ของเขาคือเพิ่มมูลค่าสุทธิของตัวเอง จากนั้นประเมินหรือดำเนินการวงจรเพื่อให้แน่ใจว่าถูกต้อง ในที่สุด บ็อบถอดรหัสผลลัพธ์สุดท้าย และตัวอย่าง เรียนรู้ว่าอลิซรวยกว่า แต่ไม่เคยเรียนรู้ว่าแท้จริงแล้วอลิซรวยกว่ามาก และเขาไม่ควรตั้งสมมติฐาน

ปัญหาของเศรษฐีและวงจรที่อ่านไม่ออกเป็นวิธีแก้ปัญหามีความสำคัญอย่างยิ่งต่อการพัฒนา MPC ในช่วงแรก แต่การใช้งานมีจำกัด ปัญหาที่ซับซ้อนและละเอียดยิ่งขึ้นเรียกว่าปัญหาเศรษฐีสังคมนิยม ตรวจสอบว่าเศรษฐีทั้งสองคนรวยเท่ากันหรือไม่ แทนที่จะเปิดเผยว่าใครมีเงินมากกว่ากัน ความแตกต่างเล็กน้อยนี้ขยายฟังก์ชันการทำงานของ MPC ได้อย่างมาก แต่จำเป็นต้องมีโซลูชันและเทคนิคการเข้ารหัสลับที่ซับซ้อนมากขึ้นที่อยู่นอกเหนือขอบเขตของบทความนี้

การเข้ารหัสแบบ Homomorphic อย่างสมบูรณ์ (FHE)

การเข้ารหัสแบบ Homomorphic อย่างสมบูรณ์ (FHE) ช่วยให้สามารถคำนวณข้อมูลที่เข้ารหัสได้ สามารถทำหน้าที่กับข้อมูลที่เข้ารหัสได้เหมือนกับว่ายังไม่ได้เข้ารหัส ผลลัพธ์ของฟังก์ชันจะถูกถอดรหัสโดยฝ่ายที่มีรหัสลับเท่านั้น หากเราคิดว่าการเข้ารหัสเป็นกล่องดำที่ซ่อนความลับ FHE จะตรวจสอบให้แน่ใจว่าข้อมูลและการคำนวณของข้อมูลนั้นยังคงอยู่ในกล่องดำนั้น

แม้ว่าจะไม่มีการทดลองทางความคิดที่มีชื่อเสียงเช่นปัญหาเศรษฐีสำหรับ MPC แต่ FHE สามารถแก้ไขจุดอ่อนด้านความปลอดภัยขั้นพื้นฐานได้: “ความจำเป็นในการถอดรหัสก่อนประมวลผลข้อมูล”

https://www.zama.ai/post/the-revolution-of-fhe

ในบริบทของ AI FHE จะเก็บข้อมูลทั้งหมดระหว่างผู้ใช้ (ผู้ถือคีย์ลับ) และระบบ AI ที่เข้ารหัสไว้ ผู้ใช้โต้ตอบกับระบบตามปกติ แต่ผู้ใช้สามารถมั่นใจได้ว่า AI ไม่เคย "เรียนรู้" อะไรเกี่ยวกับข้อมูลที่ได้รับ การโต้ตอบทั้งหมดจะถูกเข้ารหัส AI ไม่เคยเรียนรู้สิ่งที่คุณพิมพ์หรือถาม รูปภาพที่คุณส่ง หรือใครเป็นคนส่ง แต่ยังคงสามารถตอบสนองราวกับว่ารู้ข้อมูล

หากใช้งานได้ FHE จะเป็นหนึ่งในเทคโนโลยีการรักษาความเป็นส่วนตัวที่ทรงพลังที่สุดที่มีอยู่ และใครจะรู้? ภายใน 10 ปี เราอาจมี FHE-EVM ด้วยซ้ำ

การจัดการเสียงรบกวน

เมื่อเปรียบเทียบกับ MPC และ ZK แล้ว FHE อยู่ในช่วงท้ายของสเปกตรัมที่เป็นทฤษฎีมากกว่าหรือในทางปฏิบัติน้อยกว่าในขณะนี้ เทคโนโลยีนี้ถือว่าเป็นไปได้ในปี 2009 เมื่อ Craig Gentry ค้นพบวิธีจัดการกับเสียงรบกวน

การดำเนินการ FHE มีการใช้คอมพิวเตอร์อย่างเข้มข้นเนื่องจากมีการเพิ่ม “สัญญาณรบกวน” ในระหว่างกระบวนการเข้ารหัสเพื่อเพิ่มความปลอดภัย สัญญาณรบกวนใน FHE คือค่าสุ่มเล็กๆ ที่เพิ่มให้กับข้อความธรรมดา (ข้อมูลที่ไม่ได้รับการเข้ารหัส) ก่อนที่จะเปลี่ยนเป็นข้อความไซเฟอร์เท็กซ์ (ข้อมูลที่เข้ารหัส) การดำเนินการแต่ละครั้งจะเพิ่มเสียงรบกวน แม้ว่าการดำเนินการบวกและการลบจะทำให้เกิดเสียงรบกวนเพิ่มขึ้นเล็กน้อย แต่การคูณมีราคาแพงกว่าในการคำนวณ ซึ่งส่งผลให้เสียงรบกวนเพิ่มขึ้นอย่างมาก ดังนั้นเมื่อความซับซ้อนของโปรแกรมเพิ่มขึ้น สัญญาณรบกวน – พื้นที่ที่จำเป็นในการรองรับสัญญาณรบกวนและทรัพยากรการคำนวณที่จำเป็นในการประมวลผลสัญญาณรบกวน – ก็สะสม

ความก้าวหน้าของ Gentry คือเทคนิคที่เรียกว่าการบูตสแตรปปิ้ง ซึ่งสามารถลดสัญญาณรบกวนและช่วยให้สามารถคำนวณข้อมูลที่เข้ารหัสในระบบ FHE ได้มากขึ้น Bootstrapping ใช้ไซเฟอร์เท็กซ์และถอดรหัสแบบโฮโมมอร์ฟิก ซึ่งหมายถึงการลดระดับสัญญาณรบกวนบนข้อมูลที่เข้ารหัสโดยไม่เปิดเผยว่าข้อมูลนั้นคืออะไร ผลลัพธ์ที่ได้คือไซเฟอร์เท็กซ์ที่มีสัญญาณรบกวนที่กำหนดไว้ล่วงหน้าต่ำกว่ามาก ซึ่งช่วยให้เราสามารถคำนวณไซเฟอร์เท็กซ์เพิ่มเติมได้ โดยทั่วไปการบูตสแตรปปิ้งช่วยให้เราหลีกเลี่ยงความต้องการพื้นที่ที่สูงขึ้นสำหรับการเติบโตของสัญญาณรบกวนเนื่องจากความซับซ้อนของการคำนวณเพิ่มขึ้น เราสามารถจำกัดพื้นที่ให้เหลือเพียงไม่กี่การดำเนินการและบูตสแตรปซ้ำๆ เพื่อคำนวณการคำนวณขนาดใหญ่โดยพลการโดยไม่กระทบต่อข้อมูลต้นฉบับ

ขึ้นอยู่กับโครงร่าง FHE การบูตสแตรปอาจใช้เวลาหลายนาทีหรือมิลลิวินาที หากการบูตสแตรปช้าลง ค่าใช้จ่ายในการคำนวณสามารถกระจายออกไปได้โดยนำไปใช้กับไซเฟอร์เท็กซ์หลายรายการพร้อมกัน หากการบูตสแตรปเร็วกว่า ก็มักจะมาพร้อมกับการแลกเปลี่ยนการทำงานกับข้อความธรรมดาชิ้นเล็กๆ เท่านั้น (ปกติคือ 8 บิต) ในแต่ละครั้งเพื่อให้มีประสิทธิภาพต่อไป

Obfuscation ที่ไม่สามารถแยกแยะได้ (iO)

ถ้า FHE เปลี่ยนองค์ประกอบทั้งหมดของการคำนวณให้เป็นกล่องดำ iO จะเปลี่ยนการคำนวณให้กลายเป็นกล่องดำ

Indistinguishability Obfuscation (iO) ถือเป็นระบบการเข้ารหัสที่ทรงพลังที่สุดภายในขอบเขตของความเป็นไปได้ทางทฤษฎี ในบทความหนึ่ง iO ได้รับการอธิบายว่าเป็น "เครื่องมือหลักที่สามารถสร้างโปรโตคอลการเข้ารหัสลับอื่น ๆ ได้เกือบทั้งหมด" และผู้เชี่ยวชาญด้านการเข้ารหัสเรียกว่า "อัญมณีมงกุฎ" และ "การเข้ารหัสลับแบบดั้งเดิมที่ควบคุมสิ่งเหล่านั้นทั้งหมด"

ตามที่ Amit Sahai ศาสตราจารย์เป็นที่รู้จักในการอธิบายการพิสูจน์ ZK ให้กับเด็กๆ และเป็นหนึ่งในนักวิจัยที่คิดค้นวิธีการสร้าง iO บนสมมติฐานที่มีรากฐานมาอย่างดี iO ทำงานบนกระบวนทัศน์ที่แตกต่างโดยพื้นฐานจากระบบการเข้ารหัสลับก่อนหน้านี้ IO ถือว่าฝ่ายตรงข้ามสามารถอ่านใจคุณได้อยู่แล้ว (คำอุปมาสำหรับคอมพิวเตอร์ของคุณ) ความลับของคุณเป็นที่รู้อยู่แล้วจึงไม่สามารถซ่อนได้ สิ่งเดียวที่คุณทำได้คือทำให้สับสนในสิ่งที่ฝ่ายตรงข้ามมองเห็นอยู่แล้ว

https://youtu.be/v2RR_c5hn1E

จุดประสงค์ของ iO คือการทำให้สองฟังก์ชันหรือการคำนวณไม่ชัดเจนเท่าๆ กัน หากคุณเปลี่ยนการคำนวณสองรายการให้อยู่ในรูปแบบที่แยกจากกันไม่ได้ คุณสามารถซ่อนวิธีการทำงานของโปรแกรมได้ หากคุณไม่สามารถบอกความแตกต่างระหว่างสองโปรแกรมได้ คุณจะไม่รู้ว่าโปรแกรมใดในสองโปรแกรมที่กำลังดำเนินการอยู่ และไม่มีข้อมูลใดที่สามารถอนุมานได้จากโปรแกรมใดโปรแกรมหนึ่ง นอกจากว่าทั้งสองโปรแกรมมีฟังก์ชันเดียวกัน ทั้งสองโปรแกรมใช้อินพุตเดียวกันและสร้างเอาต์พุตเหมือนกัน แต่ iO ทำให้ไม่มีใครสามารถทราบได้ว่าทำอย่างไร

ด้วย iO คุณสามารถปกปิดโครงสร้างของฟังก์ชันทุกประเภทได้ รวมถึงฟังก์ชันเกือบทั้งหมดที่ประกอบกันเป็นการเข้ารหัสด้วย กล่าวอีกนัยหนึ่ง ด้วยการปิดบังเกือบทุกอย่าง คุณจะเข้าถึงการเข้ารหัสแบบตั้งโปรแกรมได้ที่มีจุดประสงค์ทั่วไปที่สุด ซึ่งสามารถตั้งโปรแกรมพื้นฐานอื่น ๆ ไว้ด้านบนได้

ในทางเทคนิคแล้ว มีกล่องดำที่ใหญ่กว่า iO จริงๆ แล้วมันถูกเรียกว่าการทำให้งงงวยกล่องดำ แต่สิ่งนั้นก็ยังเป็นไปไม่ได้

สมมติฐานที่มีรากฐานอย่างดี

ไม่มีใครรู้วิธีสร้าง iO จนถึงปี 2013 เมื่อมีการเสนอแผนที่หลายเส้นโดย Garg, Gentry, Halevi, Raykova, Sahai, Waters โปรแกรมคอมพิวเตอร์สามารถถูกทำลายได้เหมือนชิ้นส่วนปริศนา แล้วถูกบดบังโดยใช้แผนที่หลายเส้น ชิ้นส่วนที่ถูกบดบังสามารถประกอบกลับคืนได้เพื่อให้มีฟังก์ชันการทำงานเหมือนกับโปรแกรมต้นฉบับโดยไม่เปิดเผยการทำงานภายใน

แผนที่หลายเส้นเป็นลักษณะทั่วไปของแผนที่สองเส้นหรือการจับคู่ที่ใช้ในการเข้ารหัส Elliptic Curves (ECC) แม้ว่าแผนที่ไบลิเนียร์จะเป็นพื้นฐานของรูปแบบการเข้ารหัสที่มีอยู่ เช่น ลายเซ็น BLS แต่ก็ไม่ซับซ้อนหรือแสดงออกเพียงพอสำหรับ iO และในขณะที่แผนที่หลายเส้นสามารถรองรับ iO ได้ โครงสร้างพีชคณิตที่พัฒนาขึ้นใหม่นี้ถูกโจมตีได้ง่ายและไม่ปลอดภัย ดังนั้นการใช้แผนที่หลายเส้นโดยทั่วไปจึงไม่เป็นที่พอใจสำหรับนักเข้ารหัส สนามก็ติดอีกแล้ว

จากนั้นในปี 2020 Jain, Lin และ Sahai เสนอวิธีแก้ปัญหาที่แม้จะแปลกและใหม่ แต่ก็ง่ายพอสำหรับนักเข้ารหัสในการให้เหตุผล และแทนที่จะอาศัยสมมติฐานที่พัฒนาขึ้นใหม่ เช่น แผนที่แบบหลายเชิงเส้น iO เวอร์ชันนี้สามารถสร้างขึ้นบน สมมติฐานมาตรฐานและรากฐานที่ดีที่มีการศึกษามานานหลายทศวรรษ เช่น การเรียนรู้พร้อมข้อผิดพลาด (LWE) ด้วยความก้าวหน้าครั้งล่าสุดนี้ iO ก็กลับมาเป็นไปได้อีกครั้ง จอกศักดิ์สิทธิ์ยังคงอยู่ไม่ไกลเกินเอื้อม

ถิ่นทุรกันดารเปลี่ยว

ระบบการเข้ารหัสแต่ละระบบประกอบด้วยสมมติฐานทางคณิตศาสตร์และเทคนิคการเข้ารหัสที่แตกต่างกัน ไม่มีความก้าวหน้าเพียงครั้งเดียวที่สามารถแก้ไขปัญหาทั้งหมดในระบบได้ ในทางกลับกัน การค้นพบเป็นไปตามขั้นตอนเล็กๆ น้อยๆ และการก้าวกระโดดครั้งใหญ่ที่ไม่อาจคาดเดาได้ ซึ่งเปลี่ยนแปลงสมมติฐานและเทคนิคที่มีอยู่ ซึ่งจะนำไปสู่ความก้าวหน้าและการค้นพบที่มากขึ้น และสำหรับทุกๆ การค้นพบที่ได้ผล ยังมีอีกหลายคนที่ไม่ได้ผล

ในการนำเสนอเรื่อง iO Sahai บรรยายถึงพื้นที่ดังกล่าวว่าอยู่ใน “ถิ่นทุรกันดารเปลี่ยว” โดยที่ยังไม่ชัดเจนว่าอะไรคือสิ่งที่ไม่เข้าใจ และปัญหาที่ถูกต้องในการแก้ไขคืออะไร

ทีมอย่าง PSE ทำงานในด้านปฏิบัติหรือประยุกต์ของการเข้ารหัสแบบตั้งโปรแกรมได้เป็นหลัก โดยมุ่งเน้นไปที่พื้นฐานอย่าง ZK และ MPC พร้อมด้วยสมมติฐานที่มีรากฐานมาอย่างดี ผ่านการทดสอบการต่อสู้ ค่อนข้างปรับให้เหมาะสม และคิดว่าปลอดภัยและมีประสิทธิภาพ แม้ว่าจะมีการปรับปรุงให้เหมาะสมอีกมาก แต่ขณะนี้ ZK ก็อยู่ในขอบเขตของการใช้งานจริงอย่างมั่นคง แต่ก็มีช่วงหนึ่งที่ ZK ถูกกักขังอยู่ในถิ่นทุรกันดารเปลี่ยว

เพื่อเพิ่มจำนวนเครื่องมือการรักษาความเป็นส่วนตัว รับประกันความปลอดภัย ตรวจสอบการอ้างสิทธิ์ และเปิดใช้งานการเข้ารหัสที่โลกสามารถเข้าถึงได้ อย่างน้อยที่สุด เราควรหรี่ตามองไปยังขอบฟ้าของสิ่งที่กำลังจะเกิดขึ้น เพราะไม่มีใครสามารถคาดเดาได้ว่าอะไร จะใช้งานได้จริงในอีก 10 ปีข้างหน้า

การนำเสนอของ Sahai รวมถึงคำพูดจากบทความ Nature ปี 2003 โดย Steven Weinberg ที่เรียกว่า Four Golden Lessons ซึ่งเน้นอีกเหตุผลหนึ่งที่ต้องแก้ไขสิ่งที่ทำไม่ได้ในปัจจุบัน

“ตอนที่ผมสอนที่สถาบันเทคโนโลยีแมสซาชูเซตส์ในช่วงปลายทศวรรษ 1960 นักเรียนคนหนึ่งบอกฉันว่าเขาต้องการเข้าสู่ทฤษฎีสัมพัทธภาพทั่วไปมากกว่าสาขาวิชาที่ฉันกำลังทำอยู่ ซึ่งเป็นฟิสิกส์อนุภาคเบื้องต้น เพราะหลักการของแบบแรกนั้นเป็นที่รู้จักกันดี ในขณะที่อย่างหลังดูเหมือนจะยุ่งเหยิงสำหรับเขา ฉันตกใจที่เขาเพิ่งให้เหตุผลดีๆ ในการทำสิ่งที่ตรงกันข้าม... คำแนะนำของฉันคือไปจัดการเรื่องยุ่งๆ นั่นแหละคือที่ที่ต้องลงมือทำ”

การเข้ารหัสแบบตั้งโปรแกรมได้กำลังได้รับการสำรวจโดยทีมต่างๆ รวมถึง PSE และ 0xPARC ซึ่งเป็นผู้จัดงานร่วมของกิจกรรม 2 วันที่เรียกว่าการประชุมการเข้ารหัสแบบโปรแกรมได้ ซึ่งจะจัดขึ้นที่อิสตันบูล ประเทศตุรกี ในวันที่ 16 และ 17 พฤศจิกายน 2023

มาทักทายกัน!

หรือค้นหา PSE ออนไลน์บน Discord

ข้อสงวนสิทธิ์:

  1. บทความนี้พิมพ์ซ้ำจาก [การสำรวจความเป็นส่วนตัวและมาตราส่วน] ลิขสิทธิ์ทั้งหมดเป็นของผู้เขียนต้นฉบับ [kichong] หากมีการคัดค้านการพิมพ์ซ้ำนี้ โปรดติดต่อทีมงาน Gate Learn แล้วพวกเขาจะจัดการโดยเร็วที่สุด
  2. การปฏิเสธความรับผิด: มุมมองและความคิดเห็นที่แสดงในบทความนี้เป็นเพียงของผู้เขียนเท่านั้น และไม่ถือเป็นคำแนะนำในการลงทุนใดๆ
  3. การแปลบทความเป็นภาษาอื่นดำเนินการโดยทีมงาน Gate Learn เว้นแต่จะกล่าวถึง ห้ามคัดลอก แจกจ่าย หรือลอกเลียนแบบบทความที่แปลแล้ว
เริ่มตอนนี้
สมัครและรับรางวัล
$100