0Pricing
Cryptology Academy · บทเรียน

สัญชาตญาณ ZKP: ถ้ำอาลีบาบา

สร้างความเข้าใจเรื่องความครบถ้วน ความมีเหตุผล และการไม่เปิดเผยความรู้ด้วยอุปมาเรื่องถ้ำแบบคลาสสิก

สัญชาตญาณ ZKP: ถ้ำอาลีบาบา เป็นบทเรียน Cryptology Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cryptology Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน

การพิสูจน์แบบไม่เปิดเผยความรู้คืออะไร

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

ความครบถ้วน

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

ความถูกต้อง

ผู้พิสูจน์ที่โกง (ซึ่งไม่รู้ความลับ) ไม่สามารถโน้มน้าวผู้ตรวจสอบได้ ยกเว้นด้วยความน่าจะเป็นที่เล็กน้อยมาก การโต้ตอบแต่ละรอบจะลดความน่าจะเป็นในการโกงลง หลังจาก k รอบ ผู้โกงจะมีโอกาสสำเร็จไม่เกิน 2^{-k}

การไม่เปิดเผยความรู้

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

ถ้ำอาลีบาบา

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

วิเคราะห์ถ้ำ

หลังจาก 20 รอบ ผู้โกงจะสำเร็จด้วยความน่าจะเป็น 2^{-20} ≈ 1 ในล้าน ส่วน Alice ซึ่งรู้รหัสผ่านจะสำเร็จทุกครั้ง Bob ไม่เคยเรียนรู้รหัสผ่าน เขาเพียงเห็น Alice ออกมาจากด้านที่ร้องขอ นี่คือการไม่เปิดเผยความรู้

แบบโต้ตอบและแบบไม่โต้ตอบ

ZKP แบบโต้ตอบต้องมีการสื่อสารไปกลับระหว่างผู้พิสูจน์กับผู้ตรวจสอบ ส่วน ZKP แบบไม่โต้ตอบ (NIZK) ใช้การแปลง Fiat-Shamir โดยแทนที่ความท้าทายสุ่มจากผู้ตรวจสอบด้วยแฮชของคำมั่นสัญญา (แฮช = ออราเคิลสุ่ม) ผลลัพธ์คือสตริงการพิสูจน์เดียวที่ทุกคนสามารถตรวจสอบได้

การพิสูจน์ความรู้

ZKP จะเป็นการพิสูจน์ความรู้ (PoK) หากกลยุทธ์ของผู้พิสูจน์แสดงเป็นนัยว่าสามารถดึงความลับออกมาได้ แนวคิดนี้เข้มแข็งกว่าการพิสูจน์เพียงว่าข้อความหนึ่งเป็นจริง ลายเซ็น ECDSA และ Schnorr คือการพิสูจน์ความรู้คีย์ส่วนตัวแบบไม่โต้ตอบ

ตัวอย่างการประยุกต์ใช้ ZKP

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

ZK เชิงสถิติเทียบกับ ZK แบบสมบูรณ์

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

โปรโตคอล Sigma

โปรโตคอลถ้ำประกอบด้วย 3 ขั้นตอน: การผูกมัด → คำท้าทาย → คำตอบ โดยเรียกอย่างเป็นทางการว่าโปรโตคอล Sigma ZKP ที่ใช้งานจริงส่วนใหญ่ เช่น Schnorr, Pedersen และ Fiat-Shamir เป็นโปรโตคอล Sigma หรือเป็นการประกอบโปรโตคอลเหล่านี้เข้าด้วยกัน ชื่อนี้มาจากรูปร่าง Σ ของแผนภาพลำดับการส่งข้อความ

ตรวจสอบความเข้าใจ

หลังจากโต้ตอบกี่รอบในโปรโตคอลถ้ำของ Ali Baba ความน่าจะเป็นที่ผู้โกงจะประสบความสำเร็จจึงต่ำกว่า 1/1000?

ทบทวน

ZKP ใช้พิสูจน์ว่ารู้ความลับโดยไม่เปิดเผยความลับนั้น คุณสมบัติ 3 ประการ ได้แก่ ความครบถ้วน ความถูกต้อง และการไม่เปิดเผยความรู้ โปรโตคอลถ้ำของ Ali Baba แสดงให้เห็น ZKP แบบโต้ตอบ บทถัดไป: โปรโตคอล Sigma และการระบุตัวตนแบบ Schnorr

คำถามที่พบบ่อย

บทเรียน “สัญชาตญาณ ZKP: ถ้ำอาลีบาบา” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “สัญชาตญาณ ZKP: ถ้ำอาลีบาบา” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cryptology Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “สัญชาตญาณ ZKP: ถ้ำอาลีบาบา”

สร้างความเข้าใจเรื่องความครบถ้วน ความมีเหตุผล และการไม่เปิดเผยความรู้ด้วยอุปมาเรื่องถ้ำแบบคลาสสิก คุณปฏิบัติ Cryptology Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cryptology Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cryptology Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “สัญชาตญาณ ZKP: ถ้ำอาลีบาบา” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Cryptology Academy นี้ได้ไหม

ได้ บทเรียน Cryptology Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. สัญชาตญาณ ZKP: ถ้ำอาลีบาบา
  2. โพรโทคอลซิกมาและการระบุตัวตนแบบ Schnorr
  3. zk-SNARKs: อาร์กิวเมนต์แบบกระชับและไม่โต้ตอบ
  4. การประยุกต์ใช้ ZKP: ZK Rollups และเหรียญเพื่อความเป็นส่วนตัว
← กลับไปที่ Cryptology Academy