หมายเหตุบรรณาธิการ: บทความนี้มาจาก Ambi Labs (รหัส: secbitlabs)หมายเหตุบรรณาธิการ: บทความนี้มาจาก
I know that I know nothing
Ambi Labs (รหัส: secbitlabs)
ผู้แต่ง: Guo Yu ทำซ้ำโดย Odaily โดยได้รับอนุญาต
ผมเชื่อว่าหลายคนเคยได้ยินการพิสูจน์ความรู้ที่ไม่มีศูนย์ แต่มีเพียงไม่กี่คนที่เคยได้ยินเรื่องการจำลอง แต่การจำลองเป็นกุญแจสำคัญในการทำความเข้าใจความรู้ที่ไม่มีศูนย์ความเข้าใจครั้งแรกของ "ความรู้เป็นศูนย์" และ "การพิสูจน์"บทความแรกของเรา "
ความเข้าใจครั้งแรกของ "ความรู้เป็นศูนย์" และ "การพิสูจน์"
หากคุณอธิบายจากมุมมองของสัญชาตญาณ เพื่อพิสูจน์ว่ามีการรั่วไหลของข้อมูลในระบบโต้ตอบ คุณเพียงแค่ต้องพิสูจน์ว่าบิตใดทำให้เกิดการรั่วไหลของข้อมูล แต่ถ้าคุณต้องการพิสูจน์ว่าไม่มีการรั่วไหลของข้อมูล คุณก็ ต้องเผชิญกับการไหลของข้อมูลทั้งหมด บิตทั้งหมดที่พูด บิตที่มีเลขตั้งแต่ 1, 2, 3, 4, 5, ... ไม่เปิดเผยข้อมูลใดๆ กรรมการ ยากมั้ย?
บทความนี้มีประมาณ 8,000 คำ แสบสมองเล็กน้อย
ชื่อเรื่องรอง
คำจำกัดความความปลอดภัยและการแยกไม่ออก
ประการแรก ระบบโต้ตอบ ซึ่งก็คือบทสนทนา จะต้องได้รับการพิสูจน์ว่า "ความรู้เป็นศูนย์" ท้ายที่สุด การเข้ารหัสสมัยใหม่นั้นสร้างขึ้นจากระบบที่เป็นทางการที่เข้มงวด ก่อนการพิสูจน์ จำเป็นต้องชี้แจงว่า "สมมติฐานด้านความปลอดภัย" คืออะไร สมมติฐานด้านความปลอดภัยที่เรียกว่า เรากล่าวว่าการแยกอำนาจของระบบนั้นแม่นยำอย่างยิ่ง และผู้ใช้แต่ละคนสามารถเห็นเฉพาะข้อมูลที่ได้รับอนุญาตเท่านั้น แต่สิ่งนี้ขึ้นอยู่กับสมมติฐานด้านความปลอดภัย: บัญชีผู้ดูแลระบบยังไม่ถูกถอดรหัส อีกตัวอย่างหนึ่งคือในซอฟต์แวร์ Mobile Banking ฟังก์ชันการโอนสามารถทำได้ผ่านรหัสยืนยันตัวตนทาง SMS เท่านั้น นอกจากนี้ยังขึ้นอยู่กับสมมติฐานด้านความปลอดภัย: ซิมการ์ดโทรศัพท์มือถือของคุณไม่ได้ถูกโคลน หากเราเจาะลึกลงไปในทุกระบบที่เรารู้สึกว่าปลอดภัย จะมีข้อสันนิษฐานด้านความปลอดภัยจำนวนมากที่ดูเหมือนจะไม่มั่นคงนัก กุญแจส่วนตัวของ Bitcoin ปลอดภัยหรือไม่? นอกจากนี้ยังมีข้อสันนิษฐานด้านความปลอดภัยมากมายสำหรับบัญชี Bitcoin: ประการแรก ความจำของคุณไม่เป็นที่รู้จักของผู้อื่น อัลกอริทึมการเข้ารหัสสำหรับการจัดเก็บคีย์ส่วนตัวในกระเป๋าเงินมือถือนั้นแข็งแกร่งพอ อัลกอริทึมการสืบทอดคีย์เป็นปกติ และอื่น ๆ
การพูดคุยเกี่ยวกับความปลอดภัยโดยไม่มีข้อสันนิษฐานด้านความปลอดภัยถือเป็นการทำลายล้าง ทุกอย่างปลอดภัย หลังจากการพิสูจน์ทางคณิตศาสตร์ ทุกคนสามารถมั่นใจได้ว่าความปลอดภัยของอัลกอริทึม/แผนงานนี้ขึ้นอยู่กับ "สมมติฐานด้านความปลอดภัย" ที่ชัดเจน
ก่อนการพิสูจน์ยังขาดสิ่งหนึ่ง นั่นคือ "นิยามความปลอดภัย" ในระบบความรู้ความเข้าใจของคนส่วนใหญ่ ความปลอดภัยคือกล่องที่ทุกอย่างสามารถติดตั้งได้ ทุกคนควรเตือนตัวเองให้ดี เมื่อพูดถึงคำว่า ความปลอดภัย คุณเคยคิดบ้างไหมว่าความปลอดภัยคืออะไร? จะถือว่าปลอดภัยได้อย่างไร?
"ความปลอดภัย" จำเป็นต้องมีคำจำกัดความที่เข้มงวดในแง่คณิตศาสตร์
นักวิทยาศาสตร์ผู้ยิ่งใหญ่ Claude Shannon ได้ให้คำจำกัดความของความปลอดภัยจากมุมมองของทฤษฎีสารสนเทศที่เชื่อถือได้มาก [2]:
การรักษาความปลอดภัยที่สมบูรณ์แบบ: สมมติว่าคุณเป็นผู้โจมตี คุณจะไม่สามารถรับข้อมูลที่มีค่าใดๆ ผ่านไซเฟอร์เท็กซ์ได้ และวิธีเดียวที่จะถอดรหัสได้คือต้องพึ่งพาการปิดตา

ลองคิดดูสิ ทุกคน คำจำกัดความนี้น่าสนใจมาก คุณไม่สามารถรับข้อมูลผ่าน ciphertext ได้ ซึ่งหมายความว่าคุณไม่ได้รับพลังในการคำนวณเพิ่มเติม ซึ่งสามารถช่วยให้คุณคำนวณข้อความล้วนในเวลาอันสั้น
แต่คำจำกัดความนี้สมบูรณ์แบบมากจนเป็นเรื่องยากสำหรับอัลกอริทึมการเข้ารหัสที่ใช้เพื่อให้ตรงตามข้อกำหนดด้านความปลอดภัยนี้ ต่อมา Goldwasser, Micali และคนอื่นๆ ได้เขียน "การเข้ารหัสที่น่าจะเป็นไปได้" แบบคลาสสิกอีกอันหนึ่ง [2] ที่ได้รับการบันทึกไว้ในประวัติศาสตร์
ในบทความนี้ แนวคิดดังกล่าวถูกกำหนด: ความปลอดภัยทางความหมาย การรักษาความปลอดภัยเชิงความหมายที่เรียกว่าการผ่อนคลายข้อกำหนดบางประการเกี่ยวกับคำจำกัดความของการรักษาความปลอดภัยที่สมบูรณ์แบบ
ความปลอดภัยเชิงความหมาย: สมมติว่าคุณเป็นผู้โจมตี คุณจะไม่สามารถคำนวณข้อมูลที่มีค่าใดๆ ผ่านไซเฟอร์เท็กซ์ในเวลาพหุนามได้
อันนี้ดูน่าเชื่อถือกว่ามาก คำถามต่อไปคือ จะเข้าใจแนวคิดของ "ข้อมูลที่คำนวณไม่ได้" ได้อย่างไร ดูเหมือนว่าข้อมูลควรวัดความหมายของข้อมูลคืออะไร?
ตกลง หลังจากเข้าใจ "การแยกแยะไม่ออก" ให้กลับไปที่ "ความรู้เป็นศูนย์" จะพิสูจน์ได้อย่างไรว่าระบบโต้ตอบเป็น "ความรู้เป็นศูนย์" ขั้นแรก เราต้องกำหนดแนวคิดของความรู้เป็นศูนย์
หมายเหตุ: ความสามารถในการจำแนกแยกแยะไม่ได้ในแง่ของความน่าจะเป็น ในเชิงวิชาการ สามารถแบ่งออกได้เป็น "แยกไม่ออกโดยสิ้นเชิง" "แยกไม่ออกทางสถิติ" และ "แยกไม่ออกทางคอมพิวเตอร์" ในบทความนี้ เราไม่จำเป็นต้องเข้าใจความแตกต่างระหว่างแนวคิดเหล่านี้ในขณะนี้
ชื่อเรื่องรอง
พบกับเครื่องจำลอง
เริ่มกันที่รูสมอง ลองนึกภาพว่าในเอกภพคู่ขนาน มีโลกคู่ขนานสองโลก ใบหนึ่งเรียกว่า "โลกในอุดมคติ" (Ideal World) และอีกใบเรียกว่า "โลกจริง" (Real World) เราแต่ละคนสามารถเล่นอย่างมีความสุขในสองโลกคู่ขนาน แต่คนธรรมดาในสองโลกไม่สามารถรับรู้หรือสื่อสารกันได้
สมมติว่า "คุณ" เป็นโปรแกรมถอดรหัสที่ทรงพลังมาก และ "คุณ" ไม่ใช่คนธรรมดาที่มีความสามารถในการเดินทางระหว่างจักรวาลคู่ขนาน และอลิซมีคำตอบสำหรับแผนที่สามสี เป้าหมายของคุณคือการได้รับคำตอบของแผนที่สามสีโดยคุยกับอลิซ สำหรับขั้นตอนการสนทนา โปรดดูโปรโตคอล "ปัญหาแผนที่สามสี" ในบทความก่อนหน้า .
ต่อจากจินตนาการ อลิซมีตัวตนอยู่ใน "โลกแห่งความจริง" เท่านั้น ใน "โลกแห่งอุดมคติ" อลิซถูก "แทนที่" ด้วยบุคคลที่หน้าตาและเสียงเหมือนกันทุกประการ และเราเรียกว่า Zlice สองเท่า ต่อไป ใส่ "คุณ" ทั้งสองโลกพร้อมกัน แต่อย่าให้รู้ว่าคุณอยู่ในโลกไหน คู่ผสมของคุณทั้งคู่กำลังเผชิญหน้ากับคนที่ดูเหมือน "อลิซ"

ขอย้ำอีกครั้งว่าใน "โลกแห่งความจริง" คนที่คุยกับคุณคืออลิซตัวจริงและซื่อสัตย์ ส่วนใน "โลกแห่งอุดมคติ" คนที่คุยกับคุณคือ Zlice (อลิซตัวปลอม) แม้ว่า Zlice จะมีรูปร่างหน้าตาและภาษาเหมือนกันก็ตาม เช่นเดียวกับอลิซ เหมือนกัน แต่ความแตกต่างคือ Zlice ไม่รู้ "ความรู้" นั่นคือไม่รู้คำตอบของปัญหาสามสี
จากนั้นในทั้งสองโลก คู่หูทั้งสองของคุณจะพูดคุยกับอลิซตัวจริงและตัวปลอมพร้อมกัน สิ่งมหัศจรรย์ก็เกิดขึ้น ในที่สุด ใน 2 โลก อวตารของท่านทั้งสองก็เชื่อ และหลังจากท้า n รอบก็ไม่มีใครโกง นั่นคือ อวตารทั้งสองของ "ท่าน" เชื่อว่าอีกฝ่ายมีจริง ได้รู้ "คำตอบ" กล่าวอีกนัยหนึ่ง "คุณ" ไม่มีความสามารถในการ "แยกแยะ" ว่าคุณอยู่ใน "โลกแห่งความจริง" หรือ "โลกแห่งอุดมคติ" และแน่นอน คุณไม่มีความสามารถในการ "แยกแยะ" ว่าคุณกำลังคุยกับ อลิซหรือ Zlice ไม่เพียงเท่านั้น สำหรับคนกินแตงโม ถ้าฉันใส่ "ฉัน" เป็นผู้สังเกตการณ์ในโลกใด ฉันก็จะ "แยกไม่ออก" เหมือนคุณว่าคนที่หน้าเหมือน "อลิส" ตรงหน้ามีจริงหรือ ไม่. ปลอม.
นี่คือข้อสรุปที่แสบร้อนในสมอง:
เหตุใดระบบโต้ตอบนี้จึงเป็น "ศูนย์ความรู้"
เพราะซลิซไม่มีความรู้ใดๆ เลย และเธอก็แยกไม่ออกจากอลิซ
ให้ฉันอธิบายในอีกทางหนึ่ง เพราะทั้งคุณและฉันไม่สามารถแยกแยะได้ว่าเราอยู่ในโลกใด กระบวนการโต้ตอบระหว่างสองโลกแทบจะแยกไม่ออก และไม่มีความรู้ในโลกใดโลกหนึ่ง ดังนั้นเราจึงกล่าวว่าข้อตกลงปฏิสัมพันธ์นี้ - "ปัญหาแผนที่สามสี" คือ "ศูนย์ความรู้"
นอกจากนี้ยังมีหลักฐานที่นี่ โลกในอุดมคติจะต้องสร้างได้ด้วยอัลกอริธึม จากนั้น มี "พระเจ้า" ที่ "จำลอง" โลกในอุดมคติผ่านอัลกอริทึมและสร้างอัลกอริทึมที่เรียกว่า Zlice เธอไม่มี "ความรู้" เป็นอินพุต นั่นคือ "ความรู้เป็นศูนย์" นอกจากนี้ " "โลกในอุดมคติ" ก็เหมือนกับ "โลกแห่งความเป็นจริง"
ลองนึกภาพว่าในระหว่างการสนทนาของคุณ หากข้อมูลของ Alice รั่วไหล คุณก็จะสามารถแยกแยะได้ทันทีว่าบุคคลตรงหน้าคือ Alice หรือ Zlice ตัวจริง เป็นไปไม่ได้ที่ Zlice จะแสร้งทำข้อมูลรั่วไหล ดังนั้นจึงสามารถสรุปได้ว่า:
อลิซตัวจริงไม่ได้เปิดเผยข้อมูลใดๆ
ทีนี้ เราใช้แนวคิดของ "เครื่องจำลอง" เพื่อนิยาม "ความรู้เป็นศูนย์"
ต่อไปเราจะเริ่มเข้าสู่ลิงค์ของการพิสูจน์ความรู้เป็นศูนย์
Save World State as Snapshot X
ชื่อเรื่องรอง
แยกโลกทั้งสองออกจากกัน
กระบวนการที่ไม่มีความรู้ของการพิสูจน์นั้นเทียบเท่ากับการสร้าง (การค้นหา) อัลกอริทึม "การจำลอง" ที่อนุญาตให้เครื่องจำลองจำลองโลกในอุดมคติโดยที่ "ไม่มีความรู้" หากอัลกอริธึมนี้มีอยู่และโลกทั้งสองแยกไม่ออก แสดงว่าการพิสูจน์นั้นเสร็จสมบูรณ์

เดี๋ยวนะ บางที "คุณ" อาจจะรู้สึกว่ามีบางอย่างผิดปกติ
จริงๆ แล้วมีประเด็นสำคัญอยู่ตรงนี้ คือ การยืมภาพนิ่งจากภาพยนตร์เรื่อง "Inception" มาใช้ มีบางสิ่งใน "โลกแห่งอุดมคติ" ที่แตกต่างจาก "โลกแห่งความจริง" โดยพื้นฐาน สิ่งนี้เป็นกุญแจสำคัญในการแยกแยะโลกทั้งสอง และทำให้เรา "มองไม่เห็น" สิ่งนี้ไม่ใช่ลูกข่างในฝัน แต่เป็น "มหาอำนาจ" ประเภทหนึ่ง มหาอำนาจที่ Simulator Simulator ครอบครอง
ตัวอย่างเช่นมหาอำนาจดังกล่าว: "ย้อนเวลากลับไป"
คำอธิบายภาพ
(ภาพด้านบนเป็นภาพนิ่งจากภาพยนตร์เรื่อง "Groundhog Day" ทุกครั้งที่ตัวเอกตื่นขึ้นจะกลับไปในเช้าวันที่ 2 กุมภาพันธ์ เพื่อให้เขาใช้ชีวิตในวันเดียวกันเสมอ)
เดี๋ยวก่อน ผู้อ่าน เราไม่ได้พูดถึงการแยกแยะไม่ได้เหรอ? ทำไมโลกทั้งสองต้องแยกกันอีก? "ฉันสับสน". อย่าตื่นตระหนก สิ่งที่เรียกว่าการแยกแยะไม่ได้นั้นมุ่งเป้าไปที่การรับรู้ของแต่ละบุคคลในโลกอุดมคติ และ "ความแตกต่าง" สำหรับเทพเจ้าที่อยู่นอกโลก
ลองนึกภาพว่ารอบๆ ตัวเรา ถ้ามีคนที่สามารถเดินทางข้ามเวลาและอวกาศได้ หรือย้อนเวลากลับไปเมื่อ 1 ปีก่อนได้ คนธรรมดาอย่างเราๆ ก็จะงงไปหมด (เมิง) กับ (บี) และไม่สามารถ ที่จะรับรู้ จากนั้น หาก "ตัวจำลอง" สามารถล่วงรู้ "การย้อนเวลา" ใน "โลกอุดมคติ" ที่เขาสร้างขึ้นได้ เขาก็สามารถบรรลุสิ่งมหัศจรรย์บางอย่างได้ ดังนั้น จึงหลอก "คุณ" ว่าเป็นผู้ตรวจสอบเช่นเดียวกับผู้สังเกตการณ์ "ฉัน" สำหรับ "คุณ" คุณเข้าใจว่าใน "โลกแห่งอุดมคติ" เวลาสามารถย้อนกลับไปได้ แต่ใน "โลกแห่งความจริง" เห็นได้ชัดว่าเป็นไปไม่ได้ที่อลิซตัวจริงจะมีพลังพิเศษ แม้ว่าเธอและฉันจะบอกไม่ได้ว่าเราอยู่ในโลกไหน แต่อย่างน้อยเราก็รู้ว่าใน "โลกแห่งความเป็นจริง" ของทั้งสองโลกนั้น อลิซที่อยู่ฝั่งตรงข้ามหลอกเราไม่ได้ แน่นอนว่าเราไม่สามารถบอกได้ว่าอันไหน โลกที่เราอยู่..
ประการแรก "ความรู้เป็นศูนย์" คือการปกป้องผลประโยชน์ของอลิซ เนื่องจากอลิซไม่ต้องการเปิดเผยข้อมูลเพิ่มเติมกับบ็อบในระหว่างขั้นตอนการโต้ตอบ ไม่ต้องการให้บ็อบรู้ความลับของเธอ และไม่ต้องการให้บ็อบวิเคราะห์แม้แต่ก ข้อมูลชิ้นเล็กชิ้นน้อย แล้วจะมั่นใจได้อย่างไร? "เครื่องจำลอง" ขึ้นมาบนเวทีในเวลานี้ มันสามารถจำลอง "โลกในอุดมคติ" ที่มีลักษณะเหมือนกับโลกแห่งความจริงทุกประการ จากนั้น "เครื่องจำลอง" ก็สามารถหลอกคู่ต่อสู้คนใดก็ได้ในโลกนี้อย่างง่ายดาย ทำให้มันเป็นไปไม่ได้สำหรับ เพื่อบอกว่าตนอยู่ในโลกแห่งความจริงหรือโลกแห่งอุดมคติ เนื่องจาก "เครื่องจำลอง" ไม่มีความลับอยู่ในมือ "โลกในอุดมคติ" จึงไม่มีความรู้ และเนื่องจากความแตกต่างของทั้งสองโลก เราจึงสรุปได้ว่าโปรโตคอลการโต้ตอบของอลิซคือ "ความรู้เป็นศูนย์"
มาดูตัวอย่างปัญหาการระบายสีแผนที่ 3 ที่กล่าวถึงในบทความก่อนหน้านี้ [1]
ชื่อเรื่องรอง

หลักฐานที่ไม่มีความรู้ของปัญหาการระบายสีแผนที่สามสี
เรียกคืน "แผนที่ระบบโต้ตอบปัญหาสามสี":
ขั้นตอนที่ 1: อลิซเปลี่ยนคำตอบการระบายสีแผนที่ทั้งหมด จากนั้นปิดจุดยอดทั้งหมดด้วยกระดาษ แล้วมอบให้บ็อบ
ขั้นตอนที่ 2: Bob สุ่มเลือกขอบ
ขั้นตอนที่ 3: อลิซเปิดกระดาษที่จุดยอดทั้งสองด้านของขอบที่ระบุ บ๊อบตรวจสอบว่าสีของจุดทั้งสองเหมือนกันหรือไม่ หากต่างกันแสดงว่าผ่าน และถ้าเหมือนกันแสดงว่าไม่ผ่าน

กลับไปที่ขั้นตอนแรกและทำซ้ำ n ครั้ง

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

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

ขั้นแรก เครื่องจำลองจะเลียนแบบอลิซและปิดจุดยอดแต่ละจุดด้วยกระดาษแผ่นหนึ่ง แล้วส่งไปให้บ๊อบ

บ็อบเลือกข้อได้เปรียบโดยการสุ่มและท้าทายผู้พิสูจน์

เครื่องจำลองไม่สามารถเปิดกระดาษได้ในขณะนี้ เนื่องจากสีที่ปลายทั้งสองด้านของขอบนี้เป็นสีเทา

ในเวลานี้ ซิมูเลเตอร์กำลังจะใช้ "พลังพิเศษ" ของมัน เขาใช้ทักษะในการย้อนเวลาและกลับสู่ขั้นตอนแรกของบทสนทนา

ขณะนี้เครื่องจำลองอยู่ในขั้นตอนแรก โดยเขาจะย้อมปลายขอบด้านล่างเป็นสีต่างๆ หุ้มกระดาษใหม่ และส่งไปให้ Bob
ในเวลานี้ Bob ไม่สามารถรับรู้ได้ว่าเวลาได้ย้อนกลับไปยังขั้นตอนแรก สำหรับเขา ทุกอย่างยังใหม่อยู่ และเขา "พูดตามตรง" ที่เลือกขอบด้านล่างอีกครั้ง
ขณะนี้ เครื่องจำลองสามารถเปิดกระดาษได้อย่างปลอดภัยและให้ Bob ตรวจสอบ บ๊อบกำลังจะถูกหลอกอย่างชัดเจน จากนั้นบ็อบทำขั้นตอนนี้ซ้ำแล้วซ้ำอีก และแต่ละครั้งที่เครื่องจำลองสามารถหลอกบ็อบได้ด้วยการย้อนเวลากลับไป
บ๊อบที่ไม่ซื่อสัตย์
ในขั้นตอนการพิสูจน์ข้างต้น มีข้อสันนิษฐานที่ค่อนข้างหนักแน่นว่า Bob จะเลือกขอบเดิมทุกครั้งที่ย้อนเวลา จะเกิดอะไรขึ้นถ้าบ๊อบเปลี่ยนไปใช้ด้านอื่นทุกครั้ง? ไม่เป็นไร ถ้า Bob เลือกฝั่งอื่นหลังจากที่ Simulator ใช้การย้อนเวลาเป็นครั้งแรก จากนั้น Simulator อาจทำให้สีสับสนและรันการย้อนเวลาได้อีกครั้ง หลังจากย้อนเวลาหลายครั้ง Bob มีโอกาสสูง ขอบที่เครื่องจำลองจะย้อมจะถูกเลือกในครั้งเดียว จากนั้นเครื่องจำลองจะไปขั้นตอนที่สามและเปิดกระดาษ
ชื่อเรื่องรอง
อาลีบาบา ถ้ำและงาเปิด
ในบรรดาบทความวิทยาศาสตร์ยอดนิยมของจีนหลายบทความที่อธิบายเรื่อง "Zero-Knowledge Proof" บนอินเทอร์เน็ต มีตัวอย่างที่แพร่หลายไปทั่ว นั่นคือ เรื่องราวของอาลีบาบากับพวกโจร น่าเสียดายที่เรื่องราวต่าง ๆ นี้บอกเล่าเพียงครึ่งเดียวเท่านั้น จากนั้นฉันจะเล่าเรื่อง "Alibaba" และ "Forty Thieves" ที่แตกต่างกัน:

นานมาแล้ว ณ เมืองแห่งหนึ่งชื่อแบกแดด มีชายคนหนึ่งชื่ออาลีบาบาอาศัยอยู่ ทุกวันอาลีบาบาจะไปตลาดเพื่อซื้อของ
วันหนึ่ง อาลีบาบาถูกโจรขโมยกระเป๋าสตางค์ของเขาไป เขาจึงไล่ตามโจรไปจนถึงทางเข้าถ้ำ แล้วโจรก็หายไป อาลีบาบาพบทางแยกสองทางที่ทางเข้าถ้ำ ดังแสดงในรูปด้านล่าง
อาลีบาบาไม่รู้ว่าหัวขโมยกำลังไปทางไหน ดังนั้น เขาจึงตัดสินใจดูทางแยก "ซ้าย" ในไม่ช้า อาลีบาบาก็พบว่าทางตันและไม่มีร่องรอยของหัวขโมยเลย จากนั้นเขาก็ไปที่ทางแยก "ขวา" เพื่อตรวจสอบอีกครั้ง มันเป็นทางตัน และไม่มีร่องรอยของขโมย อาลีบาบาพูดกับตัวเองว่า "โจรเหี้ยๆ หายไปไหน"
วันต่อมา อาลีบาบาไปตลาดเพื่อซื้อของอีกครั้ง ครั้งนี้มีโจรขโมยตะกร้าของเขาไปอีกครั้ง อาลีบาบาไล่ตามโจรไปที่ทางเข้าถ้ำเดียวกับเมื่อวาน แล้วโจรก็หายไปอีกครั้ง ไปที่ "ขวา" “ส้อมไปดูก็ไม่พบขโมยแล้วไปทางซ้ายดูก็ไม่มีขโมยเช่นกัน นี่เป็นเรื่องแปลกมาก
วันที่สาม วันที่สี่ ... วันที่สี่สิบ เรื่องเดิม ๆ ก็เกิดขึ้น อาลีบาบาไล่ล่าโจรคนที่สี่สิบไปยังถ้ำลึกลับและโจรก็หายไป อาลีบาบาคิดว่าต้องมีกลไกอยู่ในถ้ำนี้ ดังนั้นเขาจึงซ่อนตัวที่ปลายส้อม "ขวา" และรออย่างอดทนเป็นเวลานาน ". ในเวลานี้ กำแพงเปิดออก หลังจากที่โจรวิ่งเข้ามา กำแพงก็ปิดลงอีกครั้ง ในเวลานี้ เหยื่อรายอื่นไล่ตามเข้ามา หลังจากค้นหาอยู่นานก็ไม่พบอะไร
จากนั้นอาลีบาบาลองใช้คาถาหลังจากที่พวกเขาไปแล้ว และได้ผลดีมาก และอาลีบาบาพบว่ากำแพงนำไปสู่ถนนด้านซ้าย ต่อมาอาลีบาบาพบวิธีที่จะแทนที่คาถานั้น และเขียนคาถาใหม่และตำแหน่งของถ้ำบนกระดาษแผ่นหนึ่ง
หมายเหตุ ณ จุดนี้ เรื่องราวยังไม่จบ....(คำบรรยาย) หลังจากห่างหายไปนาน
หลายปีต่อมา ในทศวรรษที่ 1980 กระดาษของอาลี บาบา ตกอยู่ในมือของนักเข้ารหัสไม่กี่คน พวกเขาไปที่แบกแดดและพบที่ตั้งของถ้ำ แม้เวลาผ่านไปหลายศตวรรษ มนต์สะกดยังคงใช้ได้ผล นักเข้ารหัสเพียงไม่กี่คนเหล่านี้เปิดกำแพงอย่างตื่นเต้นและ วิ่งไปมาระหว่างส้อมทั้งสอง
สถานีโทรทัศน์แห่งหนึ่งทราบเหตุการณ์ประหลาดในไม่ช้า และนักวิทยาการเข้ารหัสลับ Mick Ali (ออกเสียงคล้ายกับ Cryptographer Micali) ตัดสินใจแสดงให้ผู้ชมทางทีวีเห็นว่าเขารู้มนต์สะกด ทุกคนกำลังรออยู่ที่ปากทางเข้าถ้ำ ในเวลานี้ Mick Ali เข้าไปในถ้ำเพียงลำพัง จากนั้นเจ้าภาพก็โยนเหรียญเพื่อตัดสินว่า Mick Ali ควรจะวิ่งออกจากทางแยกใด เพื่อรำลึกถึงอาลีบาบาและโจรสี่สิบคน มิก อาลีทำซ้ำสี่สิบครั้งด้วยความสำเร็จทุกครั้ง
เห็นแบบนี้แล้วรู้สึก "จำลอง" ขึ้นมาบ้างมั้ย? ที่นี่โฮสต์ของสถานีโทรทัศน์แห่งที่สองตัดวิดีโอแทน "ย้อนเวลา" การแทรกแซงจากภายนอกของเขาใน "โลกแห่งอุดมคติ" นั่นคือโลกที่เนื้อหาออกอากาศทางทีวีก็ได้รับผลเช่นเดียวกัน ในโลกอุดมคติ การตัดต่อถือเป็นพลังพิเศษอย่างหนึ่ง

เรื่องนี้มาจากกระดาษ "วิธีอธิบายโปรโตคอลที่ไม่มีความรู้แก่ลูกของคุณอย่างไร" (วิธีอธิบายโปรโตคอลที่ไม่มีความรู้ให้กับลูกของคุณ) [3] ซึ่งตีพิมพ์ในการประชุม Mimi ปี 1989
ชื่อเรื่องรอง
เครื่องจำลองและทัวริง
เมื่อพูดถึงมหาอำนาจ คุณคิดว่าสิ่งนี้ไร้หลักวิทยาศาสตร์หรือไม่? ใช่ ถ้าเราใช้ "มหาอำนาจ" อย่างไม่ตั้งใจเพื่ออธิบายสิ่งใดๆ ตรรกะของเราก็จะไม่สอดคล้องกัน (Consistent) ในโลกอุดมคติ เครื่องจำลองไม่สามารถเปิดได้โดยไม่ตั้งใจ ตัวอย่างเช่น เครื่องจำลองต้องไม่แก้ไขสถานะภายในของ Bob โดยตรง ตัวอย่างเช่น เห็นได้ชัดว่า Bob ล้มเหลวในขั้นตอนการยืนยันในขั้นตอนการตรวจสอบ แต่เครื่องจำลองยืนยันที่จะเปลี่ยนผลการตรวจสอบเป็น " ยอมรับ" มันจะทำให้เราพิสูจน์ว่า: "ระบบโต้ตอบใด ๆ นั้นไม่มีความรู้" ข้อสรุปที่ผิดนี้
เครื่องจำลองไม่ใช่เทพเจ้าที่ยิ่งใหญ่ในโลกอุดมคติ
แล้วอีมูเลเตอร์สามารถเป็นอะไรได้บ้าง? เครื่องจำลองเป็นเพียงเครื่องทัวริง พลังพิเศษที่เรียกว่า "การย้อนเวลา" และ "การตัดต่อวิดีโอ" ไม่ใช่ความสามารถเหนือธรรมชาติลึกลับ แต่เป็นหน้าที่ที่เครื่องจักรทัวริงสามารถรับรู้ได้ เพื่อนๆ ที่เป็นผู้เชี่ยวชาญด้านคอมพิวเตอร์ต้องเคยใช้ VMWare, virtual machine และซอฟต์แวร์อื่นๆ มาก่อน "เครื่องจำลอง" ที่กล่าวถึงในบทความนี้สามารถจินตนาการได้ว่าเป็นซอฟต์แวร์ "เครื่องเสมือน" ซึ่งสามารถจำลองสภาพแวดล้อมของคอมพิวเตอร์แบบเสมือนจริงได้ "โลกในอุดมคติ" ที่กล่าวถึงใน ข้อความ. จะอธิบาย "ย้อนเวลากลับไป" ได้อย่างไร? ฉันไม่ทราบว่าคุณใช้ฟังก์ชัน "สแน็ปช็อต" (Snapshot) ของซอฟต์แวร์เครื่องเสมือนหรือไม่ เมื่อใช้สแน็ปช็อต ซอฟต์แวร์เครื่องเสมือนสามารถบันทึกสถานะทั้งหมดของคอมพิวเตอร์เสมือนทั้งหมด จากนั้นเมื่อใดก็ได้ สามารถกู้คืนซอฟต์แวร์เครื่องเสมือนได้ ไปที่ตำแหน่งที่คุณบันทึกสแนปชอตและทำงานต่อ
หมายเหตุ: จริงๆ แล้ว การย้อนเวลาเป็นการทำงานพื้นฐานในคอมพิวเตอร์ มีแนวคิดว่า Continuation ในทฤษฎีภาษาโปรแกรม พูดในเชิงนามธรรม ความต่อเนื่อง แสดงถึงการคำนวณจากนี้ไปในอนาคต ความต่อเนื่องเป็นนามธรรมที่ชัดเจนของโฟลว์การควบคุม และ goto การเรียกด้วยกระแสที่ต่อเนื่อง และแม้กระทั่งการตั้งเวลาเธรดก็ถือเป็นโอเปอเรเตอร์สำหรับการดำเนินการต่อเนื่อง ตัวอย่างเช่น การโทร/cc ซึ่งก็คือการโทรด้วยกระแสต่อเนื่อง สามารถนำฟังก์ชัน "ย้อนรอย" ไปใช้ได้อย่างง่ายดาย การบันทึกภาพรวมสามารถเข้าใจได้ว่าเป็นการบันทึกความต่อเนื่องในปัจจุบัน และการย้อนกลับไปยังช่วงเวลาหนึ่งในอดีตคือการใช้ความต่อเนื่องนี้
โดยไม่คำนึงถึง Zlice หรือ Bob และผู้สังเกตการณ์ของเราแต่ละคนเป็นโปรแกรมปฏิบัติการ โปรแกรมเหล่านี้จะถูกคัดลอกไปยังเครื่องเสมือน การสนทนาของ Zlice กับ Bob เป็นการสื่อสารระหว่างสองโปรแกรม ผู้สังเกตการณ์คือโปรแกรม Hook บน IO ของกระบวนการ Zlice และ Bob Bob ผู้ซื่อสัตย์ใน "โลกแห่งอุดมคติ" สามสีในแผนที่ด้านบนนั้นแท้จริงแล้วคือกระบวนการของ Bob ที่เรียก "ตัวสร้างตัวเลขสุ่ม" ของเครื่องเสมือน และตัวสร้างตัวเลขสุ่มนี้ Zlice สามารถจัดการได้ "โลกแห่งความจริง" คือสภาพแวดล้อมคอมพิวเตอร์ภายนอกที่ใช้ซอฟต์แวร์เครื่องเสมือน
กระบวนการพิสูจน์ความรู้ที่ไม่มีความรู้คือการค้นหาอัลกอริทึมหรือโดยทั่วไปคือการเขียนโค้ดที่ทำงานบนระบบคอมพิวเตอร์ภายนอก แต่ตระหนักถึงการทำงานของเครื่องเสมือน และในเครื่องเสมือนนั้นจำเป็นต้องมี Zlice ที่ไม่มี "ความรู้" เป็นอินพุต ซึ่งสามารถหลอก Bob ที่ถูกใส่เข้าไปในเครื่องเสมือนให้ทำงานได้
หากคุณยังไม่เข้าใจประโยคของฉันข้างต้น โปรดกลับไปที่ส่วน "การแยกแยะสองโลก" และทบทวนการจำลองอีกครั้ง :P (โหลดสถานะโลกจาก Snapshot X)
ชื่อเรื่องรอง
นิทานเปรียบเทียบเรื่องถ้ำของเพลโต
การจำลองมีอยู่ทุกที่ และทฤษฎีบทความไม่สมบูรณ์ของเกอเดลใช้แนวคิดของการจำลองเพื่อจำลองเลขคณิตอย่างเป็นทางการด้วยตัวเลขโกเดล Turing เสนอแนวคิด "Universal Turing Machine" ซึ่งสามารถจำลองตัวเองได้
แต่แนวคิดแรกสุดของ "การจำลอง" มาจากเล่มที่เจ็ดของหนังสือ "ยูโทเปีย" [4] เพลโต นักปรัชญาชาวกรีกโบราณเล่านิทานชาดกเรื่องถ้ำดังนี้:
ลองนึกภาพว่าในถ้ำอันมืดมิดมีนักโทษที่ถูกล่ามโซ่อยู่แถวหนึ่งซึ่งถูกนำขึ้นมาให้เห็นเพียงกำแพงที่อยู่ตรงหน้าพวกเขา เบื้องหลังนักโทษเหล่านี้คือกำแพง และข้างหลังพวกเขามีกองไฟ ระหว่างกองไฟกับกำแพง บางคนเดินถืออุปกรณ์ประกอบฉากและหุ่นเชิดเดินไปมา เพื่อให้อุปกรณ์ประกอบฉากและหุ่นกระบอกฉายเงาบนผนังภายใต้เงาสะท้อน ของไฟ และนักโทษเหล่านี้ได้แต่มองดูเงาเหล่านี้ตลอดทั้งวัน เพราะนักโทษเหล่านี้ได้ยินและเห็นเงาทุกรูปแบบบนผนังถ้ำต่อหน้าพวกเขาตั้งแต่เกิด และพวกเขาจะคิดว่าเงาที่เห็นนี้คือโลกแห่งความเป็นจริง
อย่างไรก็ตาม วันหนึ่ง นักโทษคนหนึ่งเผลอหลุดจากโซ่ตรวน เขามองกลับไปและเห็นไฟ แต่เขาเติบโตขึ้นมาโดยเห็นเพียงเงาสลัวๆ และเป็นครั้งแรกที่ได้เห็นไฟที่สว่างจ้า เมื่อเห็นอุปกรณ์ประกอบฉากและหุ่นเชิด ถ้ามีคนบอกเขาว่าอุปกรณ์ประกอบฉากและหุ่นเชิดเหล่านี้เป็นของจริง เขาจะเย้ยหยันและยืนยันว่าเงานั้นเป็นของจริง
หลังจากนั้นไม่นานเขาก็รู้สึกสงสารนักโทษในถ้ำและคิดที่จะพาพวกเขาออกมาทั้งหมด แต่เมื่อกลับมาที่ถ้ำอีกครั้งกลับมองเห็นไม่ชัดเพราะปรับตัวเข้ากับโลกภายนอกที่สดใสแล้ว นักโทษที่ถูกคุมขังกลับคิดว่าเขาตาบอด พูดไร้สาระ และเป็นคนบ้า ในที่สุดเมื่อเขาพยายามอย่างเต็มที่เพื่อพากลุ่มนักโทษออกจากถ้ำเขาก็ถูกนักโทษฆ่าตาย
ยังมีต่อ
นี่เป็นอุปมานิทัศน์ชะตากรรมของมนุษย์ คล้าย ๆ กับแถวนักโทษที่ถูกล่ามโซ่ เรามองว่า สิ่งที่ตาเราเห็นคือความจริงของโลก แต่จริง ๆ แล้วอาจเป็นภาพลวงตาเหมือนเงาที่ทาบทับ ผนังถ้ำ..
ยังมีต่อ
โพสต์นี้แนะนำแนวคิดหลักที่จำเป็นในการทำความเข้าใจความรู้ที่เป็นศูนย์ - การจำลอง โปรโตคอลที่ไม่มีความรู้ใด ๆ สามารถเข้าใจได้โดยการสร้าง "โลกในอุดมคติ" ผู้อ่านที่สัมผัสกับแนวคิดนี้เป็นครั้งแรกจำเป็นต้องไตร่ตรองให้ดี
ย้อนดูบทสนทนาของ Bob ระหว่าง "โลกในอุดมคติ" กับ "โลกแห่งความจริง" ในโจทย์สามสีแผนที่ แม้ว่าบ็อบจะแยกความแตกต่างระหว่างสองโลกไม่ได้ แต่มีสิ่งหนึ่งที่เขามั่นใจได้ นั่นคือในโลกแห่งความเป็นจริง อลิซไม่มีพลังวิเศษใดๆ
อ้างอิง
ปัญหามาถึงแล้ว อลิซไม่มีพลังพิเศษ และไม่ได้พิสูจน์โดยตรงว่าอลิซมีคำตอบจริงๆ จะเป็นอย่างไรหากโปรโตคอลโต้ตอบนี้ไม่รับประกันว่าอลิซจะต้องมีความรู้? "ความรู้เป็นศูนย์" ปกป้องผลประโยชน์ของอลิซ ใครจะรับประกันผลประโยชน์ของบ็อบ? คำถามนี้ทิ้งไว้ในบทความหน้า
[2] Shafi Goldwasser and Silvio Micali, Probabilistic Encryption, Special issue of Journal of Computer and Systems Sciences, Vol. 28, No. 2, pages 270-299, April 1984.
[3]Quisquater, J.J., Quisquater, M., Quisquater, M., Quisquater, M., Guillou, L., Guillou, M.A., Guillou, G., Guillou, A., Guillou, G. and Guillou, S., 1989, August. How to explain zero-knowledge protocols to your children. In Conference on the Theory and Application of Cryptology (pp. 628-631). Springer, New York, NY.
[1] ความเข้าใจแรกเริ่มของ "ความรู้เป็นศูนย์" และ "การพิสูจน์" Ambi Lab 2019
[5] Goldwasser, Shafi, Silvio Micali, and Charles Rackoff. "The knowledge complexity of interactive proof systems." SIAM Journal on computing 18.1 (1989): 186-208.
[6] Oded, Goldreich. "Foundations of cryptography basic tools." (2001).
[7] Rackoff, Charles, and Daniel R. Simon. "Non-interactive zero-knowledge proof of knowledge and chosen ciphertext attack." Annual International Cryptology Conference. Springer, Berlin, Heidelberg, 1991.
[8] Goldreich, Oded, Silvio Micali, and Avi Wigderson. "Proofs that yield nothing but their validity or all languages in NP have zero-knowledge proof systems." Journal of the ACM (JACM) 38.3 (1991): 690-728.
