- หลังจากแยกตัวประกอบ 15 ด้วยคอมพิวเตอร์ควอนตัมได้ใน ปี 2001 ก็มีการอธิบายว่าทำไมจึงดูเหมือนไม่มีความคืบหน้าต่อจากนั้น
- วงจรสำหรับแยกตัวประกอบ 21 ต้องใช้ เกตพัวพันมากกว่าการแยกตัวประกอบ 15 ถึง 100 เท่า
- ความต่างนี้เกิดจากความซับซ้อนของ การคูณโมดูลาร์แบบมีเงื่อนไข และการปรับให้เหมาะแบบพิเศษที่ใช้ได้กับ 15 เท่านั้น
- การแก้ไขข้อผิดพลาดควอนตัม และข้อจำกัดของฮาร์ดแวร์ก็ยิ่งเพิ่มกำแพงก่อนจะไปถึงการแยกตัวประกอบ 21
- การรายงานการแยกตัวประกอบ 21 จนถึงตอนนี้ ส่วนใหญ่เป็นกรณีที่ใช้ลูกเล่นโดยไม่ได้ทำการคูณจริงในความหมายที่แท้จริง
เหตุใดคอมพิวเตอร์ควอนตัมจึงยังไม่สามารถแยกตัวประกอบ 21 ได้
เหตุผลที่ยังไม่เห็นการแยกตัวประกอบ 21 หลังจากการแยกตัวประกอบ 15
- มีการทดลองแยกตัวประกอบ 15 ด้วยคอมพิวเตอร์ควอนตัมในปี 2001
- แม้จะถึงปี 2025 แล้ว ก็ยังไม่มีกรณีความสำเร็จของ การแยกตัวประกอบ 21
- จุดนี้ทำให้เกิดความเข้าใจแพร่หลายว่าคอมพิวเตอร์ควอนตัมไม่มีความก้าวหน้าเลย
- แต่เมื่อเทียบวงจรสำหรับแยกตัวประกอบ 15 กับ 21 จริง ๆ แล้วมี เหตุผลที่น่าทึ่งกว่านั้นมาก
ความแตกต่างเชิงโครงสร้างระหว่างวงจรแยกตัวประกอบ 15 และ 21
- วงจรแยกตัวประกอบ 15 สร้างได้ด้วย เกตควอนตัม 21 ตัว (เกตพัวพัน 21 ตัว) เท่านั้น
- ประกอบด้วยเกตพัวพัน 6 ตัวสำหรับคิวบิตแต่ละตัว (เกต CNOT และ CPHASE) และ
- เกต Toffoli 2 ตัว (แต่ละตัวแยกย่อยเป็นเกตพัวพัน 6 ตัว) รวมเป็นเกตพัวพัน 21 ตัว
- วงจรแยกตัวประกอบ 21 ต้องใช้ CNOT 191 ตัว, Toffoli 369 ตัว, รวมเกตพัวพัน 2405 ตัว
- เป็นภาระเกตพัวพันมากกว่าการแยกตัวประกอบ 15 ถึง 115 เท่า
- ขนาดวงจรไม่ได้เพิ่มเพียง 25% หรือ 2 เท่า แต่ แพงขึ้นเกิน 100 เท่า
- แม้คำนึงถึงระดับการปรับแต่งวงจรแล้ว ความต่างระดับ 500 เท่า ก็ยังดูเป็นไปได้จริง
เหตุใดจึงเกิดความต่างมหาศาลเช่นนี้
- ใน วงจรแยกตัวประกอบควอนตัม (อัลกอริทึมของ Shor) ต้นทุนหลักคือ การคูณโมดูลาร์แบบมีเงื่อนไข
- สำหรับจำนวน N ที่มี n บิต ต้องทำการคูณโมดูลาร์กับตัวสะสมแบบมีเงื่อนไขหลายครั้ง
- ในกรณีของ 15 จากการคูณแบบมีเงื่อนไข 8 ครั้ง มีถึง 6 ครั้งที่จัดการได้เป็น การคูณด้วย 1 (ไม่ต้องทำอะไรเลย)
- การคูณครั้งแรกทำได้แทบจะ ฟรี เพราะอินพุตเป็น 1
- ครั้งที่สอง (อีกหนึ่งครั้งที่เหลือ) ก็จัดการได้อย่างประหยัดด้วย CSWAP สองครั้ง
- ผลคือมีเพียง 2 ครั้งเท่านั้นที่ต้องจ่ายต้นทุนจริง
- โครงสร้างนี้เป็นคุณสมบัติพิเศษที่มีเฉพาะกับ 15 เพราะมีการคูณที่ใกล้เคียง 1 อยู่หลายครั้ง จึงมีภาระต่ำมาก
- แต่ในกรณีของ 21 การคูณทั้งหมดไม่ใช่ 1 และมีค่าหลากหลาย จึงทำให้ทุกการคูณมีต้นทุน
- การคูณทั้ง 8 ครั้งล้วนมีต้นทุน ทำให้ไม่ได้เพิ่มเพียง 4~5 เท่า แต่เพิ่มเป็น 20~100 เท่า
- การคูณด้วย 4 หรือ 16 ไม่สามารถทำเป็นโครงสร้างแบบ CSWAP (conditional swap) ได้
- ความซับซ้อนของการคูณแตกต่างกันในแต่ละครั้ง และปรับให้เหมาะได้ยาก
ข้อจำกัดเชิงปฏิบัติของฮาร์ดแวร์และการแก้ไขข้อผิดพลาด
- การแยกตัวประกอบ 15 ในอดีต (ปี 2001) ทำบน คอมพิวเตอร์ควอนตัมแบบ NMR ซึ่งมีข้อจำกัดด้านการขยายระบบมาก
- ยิ่งไปกว่านั้น ความจำเป็นของ การแก้ไขข้อผิดพลาดควอนตัม ก็เพิ่มขึ้นด้วย
- หากจำนวนเกตมากขึ้น 100 เท่า อัตราความผิดพลาดก็ต้องต่ำลง 100 เท่าด้วย
- ในทางปฏิบัติอาจต้องเพิ่มจำนวน qubit ถึง 100 เท่า ทำให้ต้นทุนรวมอาจพุ่งขึ้นถึง 10,000 เท่า
ข้อถกเถียงเรื่องความพยายามแยกตัวประกอบและผลลัพธ์ที่คลาดเคลื่อน
- ช่วงหลังมีบางงานวิจัยอ้างว่าประสบความสำเร็จในการแยกตัวประกอบ 21 ด้วยคอมพิวเตอร์ควอนตัม แต่
- ในความเป็นจริง มักเป็นกรณีที่ละขั้นตอนการคูณของอัลกอริทึมออกไป หรือทำให้วงจรง่ายลงเพราะรู้ผลลัพธ์ล่วงหน้า
- หากไม่ได้ทำการคูณจริง ก็ไม่อาจถือว่าเป็นการแยกตัวประกอบได้
- เป็นผลลัพธ์ที่มองข้ามความต่างเชิงแก่นแท้ระหว่างการ "ค้นหารอบ" กับการแยกตัวประกอบ
- บางงานถึงกับใช้ลูกเล่นอย่างชัดเจน และยังมีบทความเชิงเสียดสีออกมาวิจารณ์งานเหล่านั้นด้วย
- มีบทความล้อเลียนหลายชิ้น เช่น การทดลองทำซ้ำสถิติแชมป์การแยกตัวประกอบ
- ยังมี benchmark อย่าง Variational factoring โผล่ออกมาเรื่อย ๆ แม้ไม่มีหลักฐานว่าขยายสเกลได้จริง
อะไรคือดัชนีวัดความก้าวหน้าที่เหมาะสมของคอมพิวเตอร์ควอนตัม
- ณ เวลานี้ การแยกตัวประกอบไม่ใช่ benchmark หลักของความก้าวหน้าคอมพิวเตอร์ควอนตัม
- เมื่อเกิน 15 ไปแล้ว ต้นทุนจะพุ่งสูงจนยากต่อการตรวจสอบเชิงปฏิบัติ
- สิ่งที่ควรจับตามากกว่าคือ การนำการแก้ไขข้อผิดพลาดควอนตัมมาใช้ (เช่น การปรับปรุง surface code) หรือ
- การเปลี่ยนแปลงสถาปัตยกรรมฮาร์ดแวร์เพื่อแก้ปัญหาการขยายสเกล (เช่น การสับเปลี่ยนอะตอมเป็นกลางอย่างต่อเนื่อง)
- ซึ่งเป็นจุดสังเกตที่สำคัญกว่าซึ่งแสดงถึงความก้าวหน้าที่แท้จริง
1 ความคิดเห็น
ความเห็นจาก Hacker News
สาเหตุคือจนถึงตอนนี้ยังไม่เคยแฟกเตอร์จำนวนที่เล็กกว่านี้ได้จริง หากโปรแกรมจะทำงานได้ก็ต่อเมื่อขั้นตอนคอมไพล์รู้อยู่แล้วว่าคำตอบคืออะไร แบบนั้นก็ไม่ใช่การแฟกเตอร์จริง แต่เป็นแค่การ "พิมพ์ 3 ออกมา" เท่านั้น
สงสัยว่าหากจะแฟกเตอร์จำนวนที่มีความหมายในเชิงคริปโตจริง ๆ ต้องใช้ quantum gate กี่ตัว และอยากรู้ว่ามีเส้นทางที่เป็นรูปธรรมไหมสำหรับความเป็นไปได้ที่จะมีควอนตัมคอมพิวเตอร์ที่ใช้งานได้ภายในศตวรรษนี้
งานวิจัย 'Replication of Quantum Factorisation Records with an 8-bit Home Computer, an Abacus, and a Dog' น่าสนใจดี (อ่านงานวิจัย)
สนใจขนาดวงจรและความเป็นไปได้ในการสร้างจริงของการแฟกเตอร์ตัวเลขที่มีความหมายในเชิงคริปโตอย่าง RSA1024
สงสัยว่าสักวันหนึ่งควอนตัมคอมพิวเตอร์จะเล็งไปที่ post-quantum RSA ได้หรือไม่ (งานวิจัยที่เกี่ยวข้อง) มีมุมมองหนึ่งว่า RSA ปกติ (การสร้างคีย์ การเข้ารหัส การถอดรหัส) ได้เปรียบแบบไม่สมมาตรต่อ Shor algorithm ดังนั้นถ้าใช้คีย์ให้ใหญ่พอก็อาจเพียงพอ คล้ายกับผลแบบ Merkle puzzle โดยเพิ่มเงื่อนไขว่าผู้โจมตีต้องใช้ควอนตัมคอมพิวเตอร์เท่านั้น ผมเคยสร้าง RSA public key ระดับ gigabit มาก่อน (ไฟล์คีย์) ฟอร์แมตคือ: จำนวนไบต์ของคีย์แบบ little-endian 4 ไบต์ ตามด้วยคีย์ และค่า reciprocal ของคีย์ (mod ด้วย 256^bytes) public exponent คือ 3
เห็นพิมพ์ผิดเป็น "error corection" แล้วขำมาก
เข้าใจส่วนที่ว่า "ต้นทุนวงจรมากกว่า factor-15 อยู่ 500 เท่า" ได้ยาก ผู้เขียนยกกรณี 115 เท่ามาแล้ว เลยสงสัยว่าการ optimize เพิ่มเติมจะทำให้ผลลัพธ์แย่ลงได้อย่างไร
ประเด็นหลักของโพสต์นี้ทำให้สงสัยว่าความต้องการวงจรแบบ Big-O สำหรับการแฟกเตอร์ของ Schorr เป็นแบบซูเปอร์พหุนามหรือไม่
เหตุผลที่นำเทคโนโลยีคริปโตแบบ PQ (post-quantum) มาใช้ ไม่ใช่เพราะมั่นใจเสมอไปว่า QC จะมาในเร็ว ๆ นี้ แต่เพราะยังไม่แน่ชัดว่า QC จะมาถึงเมื่อไรตามความเร็วของการพัฒนาเทคโนโลยี เป้าหมายของเทคโนโลยีคริปโตคือการหาวิธีที่แทบจะแตกไม่ได้แม้ในทางทฤษฎี และถ้ามีเส้นทางโจมตีได้ในทางทฤษฎี ก็ย่อมมีความเป็นไปได้ทางกายภาพด้วย จึงต้องเตรียมรับมือ ECC และ RSA มีเส้นทางเชิงทฤษฎีของการโจมตีที่เป็นที่รู้กันแล้ว จึงถือว่าโจมตีได้แม้ยังไม่มีอุปกรณ์จริง เพราะฉะนั้นการเตรียมตัวไว้ล่วงหน้าก่อนมี QC จึงเป็นมุมมองที่สมเหตุสมผลมาก ในทางกลับกัน SHA2, AES, ChaCha เป็นต้น ยังไม่เห็นเส้นทางโจมตีที่ใช้งานได้จริง จึงยังไม่มีแผนต้องเปลี่ยนทันที การเข้ารหัสไม่ใช่การใช้งานเพียงอย่างเดียว หรือแม้แต่การใช้งานที่สำคัญที่สุดของ QC ยังมีความหวังว่าจะเกิดนวัตกรรมที่เรายังไม่รู้ในด้านต่าง ๆ เช่น ระบบกายภาพ การพับตัวของโปรตีน หรือ machine learning