Score:1

zkSNARKS: อะไรทำให้ผู้พิสูจน์ไม่สามารถเลือกพหุนามที่แตกต่างจากที่เขาควรจะรู้

ธง et

ฉันกำลังอ่านคำอธิบายของ zkSnark ที่เขียนโดย Maksym Petkus - http://www.petkus.info/papers/WhyAndHowZkSnarkWorks.pdf

ที่นี่ผู้พิสูจน์รู้พหุนามดีกรี 3 คำตอบของพหุนาม 2 ตัวคือ 3 & 4 เขาต้องพิสูจน์ให้ผู้ตรวจพิสูจน์ว่าเขารู้จักพหุนามดังกล่าวโดยไม่เปิดเผยคำตอบที่ 3 ให้ผู้ตรวจสอบทราบ

นี่คือพหุนามที่พวกเขาใช้เป็นตัวอย่าง - $P(x) = x^3 - 7x^2 + 12x$ สิ่งนี้สามารถแยกได้เป็น $x(x-3)(x-4)$ดังนั้นทางออกที่ 3 คือ $x = 0$

$T(x) = (x-3)(x-4)$

$H(x) = x$ (ผู้พิสูจน์เท่านั้นที่รู้เรื่องนี้)

$P(x) = H(x) . T(x)$

$E(c) = g^c \pmod p$.

กล่าวโดยสรุปคือโปรโตคอลที่ใช้

  1. ผู้ตรวจสอบเลือกการสุ่ม $s$คำนวณ $E(s^0), E(s^1), E(s^2), E(s^3)$ ส่งค่าทั้ง 4 ค่านี้ไปให้ Prover โดยไม่เปิดเผย s

  2. Prover คำนวณ $E(p(s))$ ใช้ต่างกัน $E(s^n)$ส. เขาคำนวณด้วย $E(H(s))$ โดยไม่รู้ตัวเหมือนกัน $s$. เขาส่งทั้งสองเพื่อตรวจสอบ

  3. ตรวจสอบคำนวณ $T(s)$ แล้วยกขึ้น $E(H(s))^ {T(s)}$. ถ้า $E(P(s))$ ส่งโดยผู้พิสูจน์ตรงกับ $E(H(s))^ {T(s)}$จากนั้นโปรโตคอลจะตรวจสอบสำเร็จ

ฉันเข้าใจโปรโตคอลโดยทั่วไป มีปัญหาที่พวกเขากล่าวถึงในภายหลัง แต่ปัญหาหนึ่งที่อยู่ในใจของฉัน (ซึ่งพวกเขาไม่ได้กล่าวถึง) มีดังต่อไปนี้

ถ้าผู้พิสูจน์ไม่ทราบพหุนามที่แท้จริง (เช่น $x^3 - 7x^2 + 12x$) แต่เพียงเลือกวิธีแก้ปัญหาที่ 3 แบบสุ่ม - เช่น $x = 2$ & เขาดำเนินการตามขั้นตอนโปรโตคอลข้างต้นตามที่อธิบายไว้ มันจะยังคงตรวจสอบกับตัวตรวจสอบ

ในกรณีนี้ ฉันไม่สามารถเข้าใจได้ว่าโปรโตคอลกำลังพยายามบรรลุอะไรกันแน่

Score:1
ธง gb

ฉันไม่พบตัวอย่างเฉพาะนั้น $x^3 â 7x^2 + 12x$ ในเอกสารที่เชื่อมโยง แต่ฉันคิดว่าคุณได้ตอบคำถามของคุณเองที่นี่:

ที่นี่ผู้พิสูจน์รู้พหุนามดีกรี 3 คำตอบของพหุนาม 2 ตัวคือ 3 & 4 เขาต้องพิสูจน์ให้ผู้ตรวจพิสูจน์ว่าเขารู้จักพหุนามดังกล่าวโดยไม่เปิดเผยคำตอบที่ 3 ให้ผู้ตรวจสอบทราบ

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

ถ้าผู้พิสูจน์ไม่ทราบพหุนามที่แท้จริง (เช่น $x^3 â 7x^2 + 12x$) แต่เพียงแค่เลือกวิธีแก้ปัญหาที่ 3 แบบสุ่ม - เช่น $x = 2$ & เขาดำเนินการตามขั้นตอนโปรโตคอลข้างต้นตามที่อธิบายไว้ มันจะยังคงตรวจสอบกับตัวตรวจสอบ

ทั้งนี้เนื่องจากความรู้เรื่องพหุนามเหมือนกับความรู้เรื่องราก - พหุนามดีกรี 3 ที่มีราก 3, 4 และ 2 เท่านั้นคือ $(x-2)(x-3)(x-4)$. ดังนั้น ผู้พิสูจน์ยังคงพิสูจน์ว่าพวกเขารู้พหุนามดีกรี 3 ที่มีราก 3 และ 4 แม้ว่ามันจะไม่รู้ก็ตาม $x^3 â 7x^2 + 12x$. ในกรณีนั้น พวกเขา "รู้" พหุนาม $(x-2)(x-3)(x-4)$ แทน.

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

et flag
ขอขอบคุณ. ฉันจะกลับมาหลังจากจบภาค 4

โพสต์คำตอบ

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