Score:5

"พยาน" และ "หลักฐาน" เหมือนกันเมื่อพูดถึง Zero Knowledge หรือไม่ แล้ว "ข้อโต้แย้ง" ล่ะ? และ "คำชี้แจง"?

ธง in

ฉันเคยเห็นผู้คนสร้างความแตกต่างมากมายในขณะที่อ่านเอกสารเกี่ยวกับความรู้ที่ไม่มีศูนย์
ฉันเคยเห็นคำว่า "ข้อโต้แย้งของความรู้" ที่ดูเหมือนจะใช้เป็น "หลักฐานความรู้" ที่อ่อนแอกว่า: สิ่งที่ฉันเข้าใจคือถ้าคุณพูดถึงคุณสมบัติความสมบูรณ์ตามปกติ คุณจะพูดถึง "ข้อโต้แย้ง" ในขณะที่ถ้าคุณพูดถึง คุณสมบัติความถูกต้อง (จาก Proofs of Knowledge) แล้วคุณพูดถึง "หลักฐาน" ถูกต้องหรือไม่?

แต่สิ่งที่ทำให้ฉันสับสนที่สุดคือฉันเห็นคำว่า "พยาน" และ "การพิสูจน์" ใช้ต่างกันและเพื่อแสดงแนวคิดเดียวกัน ฉันรู้ว่าพยานคืออะไร (โดยพื้นฐานแล้วเป็นความลับของผู้พิสูจน์) แต่ฉันเคยได้ยินวลี:
“พีไม่รู้จักพยาน แต่เขารู้หลักฐาน”
"สร้างพยานและสร้างหลักฐาน"
"ใน Zk-SNARKS ความรวบรัด: ขนาดของหลักฐานนั้นเล็กกว่าขนาดของพยาน"

"การตรวจสอบหลักฐานนั้นรวดเร็วกว่าการตรวจสอบคำแถลงโดยตรง แม้จะได้รับจากพยานก็ตาม"
วลีสุดท้ายนี้ทำให้ฉันสับสนจริงๆ

พวกเขาแตกต่างกันอย่างไร? ถ้าเป็นเช่นนั้น อะไรคือความแตกต่างระหว่าง "หลักฐาน" และ "คำสั่ง"?
ภาษาอังกฤษไม่ใช่ภาษาแม่ของฉัน นั่นอาจเป็นปัญหา แต่คุณช่วยอธิบายคำศัพท์เหล่านี้ให้ฉันฟังได้ไหม

Score:2
ธง gd

เกี่ยวกับสองสามหัวข้อย่อย

ฉันเชื่อว่าเราพูดถึง "อาร์กิวเมนต์" เมื่อ "การพิสูจน์" ความถูกต้องขึ้นอยู่กับสมมติฐานทางคอมพิวเตอร์ ดังนั้น ความถูกต้องของอาร์กิวเมนต์จะอ่อนแอกว่าการพิสูจน์ของพิสูจน์ และสิ่งที่เหมือนกันก็คือ ตัวอย่างเช่น อาร์กิวเมนต์ NP สามารถเป็น ZK ซึ่งเป็นวิธีที่แข็งแกร่งกว่า NP Proofs (ในทางสถิติ ZK เทียบกับ ZK เชิงคำนวณ)

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


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

  1. หลักฐาน ZK
  2. อาร์กิวเมนต์ ZK
  3. ZK พิสูจน์ความรู้
  4. ข้อโต้แย้งแห่งความรู้ ZK ("ARK" ใน ZK-SNARK)

1 และ 3 มีความสมบูรณ์แข็งแรงกว่า (*) 2 และ 4 ใช้สำหรับการคำนวณเท่านั้น สำหรับ 3 และ 4 มี Extractor อยู่ (นั่นเป็นวิธีที่รู้จักในการพิสูจน์ความรู้) ซึ่งสามารถรับข้อมูลที่ผู้พิสูจน์มีอยู่ได้อย่างมีประสิทธิภาพ (และจะไม่ทำลายคุณสมบัติ ZK ในลักษณะที่คล้ายคลึงกัน Simulator จะไม่ทำลายความสมบูรณ์... การหยุดชะงัก/ ย้อนกลับและทุกสิ่งนั้น .. )

ดังนั้นอาร์กิวเมนต์ซึ่งอ่อนแอกว่าการพิสูจน์จากมุมมองที่ถูกต้องสามารถมีระดับความปลอดภัย Zero Knowledge (สถิติ) ที่แข็งแกร่งกว่าการพิสูจน์ (การคำนวณ) ฉันหมายความว่าตกลง ...แต่มาได้อย่างไร ไม่เห็นว่าทำไมถึงเป็นไปได้

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

ฉันเป็นเพียงนักอ่านเกินบรรยาย ดังนั้นฉันเดาว่าคุณอาจได้รับคำอธิบายที่ดีกว่าของฉันมากมาย อย่างไรก็ตาม ฉันต้องการแนะนำบทที่ 4 ของ Oded Goldreich's Foundations of Cryptography Vol.1 ...ข้อมูลเชิงลึกจริงๆ...

(*) ไม่เพียงแต่ใน "ระดับ" ทางสถิติเท่านั้น ใน Proofs ความถูกต้องได้รับการพิสูจน์โดยตรรกะที่ได้มาจากบริบทและสัจพจน์ ดังนั้นการสาธิต "คลาสสิก/มาตรฐาน" ทั่วไป

in flag
โอเค โดยพื้นฐานแล้วเมื่อคุณพูดถึงคุณสมบัติความถูกต้องในระดับการคำนวณ คุณจะใช้คำว่า Argument ในขณะที่คุณให้คำจำกัดความของ Knowledge Extractor และพิสูจน์ว่ามีพยานอยู่ คุณจะพูดถึงการพิสูจน์... หรือบางทีคุณอาจพูดถึงการพิสูจน์โดยปราศจาก ตัวแยกความรู้ แต่เป็นเพียงคุณสมบัติความสมบูรณ์ในระดับความปลอดภัยทางสถิติ? นอกเหนือจากนั้น อาร์กิวเมนต์ซึ่งอ่อนแอกว่าการพิสูจน์จากมุมมองที่ถูกต้องสามารถมีระดับความปลอดภัย Zero Knowledge (สถิติ) ที่แข็งแกร่งกว่าการพิสูจน์ (การคำนวณ) ฉันหมายความว่าตกลง ... แต่ทำไม? ไม่เห็นว่าทำไมถึงเป็นไปได้
baro77 avatar
gd flag
ฉันพยายามตอบด้วยความคิดเห็น แต่ฉันต้องการพื้นที่เพิ่ม ดังนั้นฉันจึงแก้ไขคำตอบก่อนหน้า
in flag
ขอบคุณมาก ฉันให้คำตอบที่ดีที่สุดแก่ Yehuda เพราะคำตอบนั้นเป็นสิ่งสำคัญที่ฉันต้องการเพื่อทำให้จิตใจปลอดโปร่ง แต่แม้แต่คำตอบของคุณก็มีประโยชน์มาก เมื่อก่อนไม่รู้ความแตกต่างระหว่างการโต้แย้งและการพิสูจน์ แต่ตอนนี้ฉันรู้แล้ว มีคำศัพท์ต่างๆ มากมายให้เรียนรู้เพื่อทำความเข้าใจ Zero Knowledge อย่างแท้จริง... ฉันให้คะแนนโหวตให้คุณ!
baro77 avatar
gd flag
คุณทำถูกแล้ว! :) Yehuda ไม่เพียงแต่โดดเด่นในอุตสาหกรรมเท่านั้น แต่ยังอยู่ในกลุ่มผู้เชี่ยวชาญ/อาจารย์ที่บริจาคเวลาส่วนหนึ่งในชุมชน ดังนั้น จึงเสนอกิจกรรมการสอนของพวกเขาผ่านช่องทางอย่างเป็นทางการของชั้นเรียนในมหาวิทยาลัยเช่นกัน: ไม่ ทั่วไปและน่ายกย่องช่วยเผยแพร่ความรู้ที่มีคุณภาพ ฉันขอบคุณเขาและคนอื่นๆ (ตอนนี้ฉันจำ @GeoffroyCouteau ได้ แต่แน่นอนว่าคิดถึงคนอื่นๆ อีกหลายคนด้วย) สำหรับฉัน ฉันแค่เรียนรู้เหมือนคุณ และการพยายามตอบช่วยให้ฉันรวบรวมแนวคิด: ขอบคุณสำหรับการโหวต!
Score:2
ธง us

อันดับแรก สิ่งสำคัญคือต้องเข้าใจว่าไม่ใช่ทุกคนที่ใช้คำศัพท์อย่างถูกต้องหรือในลักษณะเดียวกัน ดังนั้นคุณจะไม่พบความสม่ำเสมอในทุกที่ จะว่าไปแล้วผมเชื่อว่าในกรณีนี้ค่อนข้างชัดเจน ก พยาน เป็นหลักฐานประเภทหนึ่งที่เฉพาะเจาะจงมาก โดยเฉพาะอย่างยิ่ง มันคือสิ่งที่เราเรียกว่าการพิสูจน์ NP $x\ ใน L$. ($\คณิตศาสตร์ NP$ ในฐานะที่เป็นระดับความซับซ้อนสามารถมองได้หลายวิธี ในความคิดของฉัน วิธีที่ "ดีที่สุด" ในความคิดของฉันคือเหมือนกับกลุ่มของภาษาที่ข้อความนั้นมีหลักฐานเป็นลายลักษณ์อักษรที่มีประสิทธิภาพ นั่นคือมีเครื่องยืนยันเวลาพหุนาม $วี$ ดังนั้น $x\ ใน L$ ถ้าและถ้ามีอยู่ $w$ ดังนั้น $V(x,w)=1$. อย่างไรก็ตาม มีวิธีอื่นอีกมากมายในการพิสูจน์ข้อความ ประการแรก มีข้อความที่เราพิสูจน์ได้ว่าไม่ได้อยู่ในนั้น $\คณิตศาสตร์ NP$. ประการที่สอง เราอาจพิสูจน์คำสั่ง NP แต่เราต้องการคุณสมบัติอื่น เช่น ไม่มีความรู้ ในกรณีเช่นนี้ เราใช้การพิสูจน์แบบโต้ตอบ ผู้พิสูจน์อาจใช้พยานก็ได้แต่ไม่ส่ง สุดท้าย อาจมีบางกรณี (เช่นใน SNARK) ที่การพิสูจน์อาจสั้นกว่าพยาน NP ดั้งเดิม และเราอาจต้องการการพิสูจน์ที่เวลาที่ใช้ในการตรวจสอบการพิสูจน์นั้นสั้นกว่าเวลาที่ใช้ในการดำเนินการ $V(x,w)$ และตรวจสอบด้วยวิธี NP แบบคลาสสิก และอื่นๆ ฉันหวังว่านี่จะทำให้ชัดเจน

in flag
ขอบคุณมาก Yehuda ใช่มันช่วยได้มากฉันคิดว่าพยานเป็นความลับที่ทำให้ Prover สร้างหลักฐานได้อย่างมีประสิทธิภาพเสมอ ถ้าคุณมี และฉันคิดว่ามัน "ค่อนข้าง" ถูกต้อง (อาจจะไม่ได้ผลเสมอไป) ใช่ไหม แต่พยานก็สามารถถูกมองว่าเป็นหลักฐานได้ แต่เป็น NP ใช่ไหม? คำถามที่เกิดขึ้นตามธรรมชาติคือ: เป็นไปได้อย่างไรที่ในบริบทเช่น SNARK การพิสูจน์จะสั้นและเร็วกว่าพยาน หากพยานเป็นหลักฐานที่กำหนดโดย NP อะไรจะเร็วกว่านั้น
in flag
ฉันหมายถึง ฉันเดาว่าเพื่อตรวจสอบการพิสูจน์ P คุณยังต้องเรียกใช้ V(x, p) เหมือนที่คุณเรียกใช้ V(x, w) ใช่ไหม และพยานก็มีพลังมากกว่าการพิสูจน์ แล้วมันจะเร็วกว่านี้ได้อย่างไร? นั่นคือข้อสงสัยเดียวของฉัน
Yehuda Lindell avatar
us flag
ลองนึกดูว่า P ทำงานหนักขึ้นเพื่อจัดหาสิ่งที่ง่ายกว่าสำหรับ V นอกจากนี้ เราอนุญาตให้ผู้ตรวจสอบทำผิดพลาดได้ในบางครั้ง (โดยมีโอกาสน้อย) ซึ่งแตกต่างจากการพิสูจน์ NP สิ่งเหล่านี้ช่วยได้มาก
in flag
ตกลง ถ้าฉันเข้าใจดีแล้วโปรดแจ้งให้เราทราบเพราะมันยากที่จะเห็นภาพเต็ม: ในโปรโตคอลแบบโต้ตอบ พยานสำหรับสิ่งนี้เป็นหลักฐานที่จะได้รับการยอมรับจากผู้ตรวจสอบเสมอ ดังนั้นหากคุณมีพยาน คุณสามารถพิสูจน์ได้ตลอดเวลา x นั้นอยู่ใน L ที่มีความน่าจะเป็น 1 แต่ไม่จำเป็นต้องมีประสิทธิภาพมากนัก หากคุณมีหลักฐาน คุณสามารถพิสูจน์ได้ว่า x อยู่ใน L ด้วยความน่าจะเป็น (ค่อนข้างสูง) ด้วยวิธีนี้ การพิสูจน์สามารถทำได้เร็วกว่าพยาน นี่เป็นวิธีที่ถูกต้องในการดูความแตกต่างระหว่างหลักฐานและพยานหรือไม่?
Yehuda Lindell avatar
us flag
ใช่. สิ่งเดียวที่ฉันจะพูดให้ต่างออกไปคือในช่วงครึ่งหลังซึ่งฉันจะพูดถึง "ระบบพิสูจน์" ที่เกี่ยวข้องกับผู้พิสูจน์และผู้ตรวจสอบ สิ่งนี้แตกต่างจากพยานที่ให้การพิสูจน์เป็นลายลักษณ์อักษร

โพสต์คำตอบ

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