ฉันกำลังอ่านคำอธิบายของ zkSnark ที่เขียนโดย Maksym Petkus - http://www.petkus.info/papers/WhyAndHowZkSnarkWorks.pdf
จากหัวข้อ 3.5
เนื่องจากตัวตรวจสอบสามารถแยกความรู้เกี่ยวกับพหุนามที่ไม่รู้จัก
$p(x)$ จากข้อมูลที่ผู้พิสูจน์ส่งมาให้เราพิจารณาเท่านั้น
ค่าที่ระบุ (หลักฐาน): $g^p$, $g^{p'}$, $g^h$. พวกเขามีส่วนร่วมใน
ตรวจสอบดังต่อไปนี้:
$g^p = (g^{h})^{t(s)}$ (พหุนาม $p(x)$ มีรากมาจาก $t(x)$)
$(g^p)^\alpha = g^{p'}$ (ใช้พหุนามของรูปแบบที่ถูกต้อง)
คำถามคือเราจะแก้ไขหลักฐานอย่างไรให้เช็คยังคงอยู่
ไว้แต่ดึงความรู้ออกมาไม่ได้? คำตอบเดียวสามารถรับได้
จากหัวข้อที่แล้ว: เราสามารถ "เปลี่ยน" ค่าเหล่านั้นโดยการสุ่ม
ตัวเลข $\เดลต้า$ (เดลต้า) เช่น $(g^p)^{\delta}$. ตอนนี้เพื่อที่จะ
สกัดความรู้ ก่อนอื่นต้องหา $\เดลต้า$ ซึ่งเป็น
ถือว่าทำไม่ได้ ยิ่งกว่านั้น การสุ่มดังกล่าวเป็นสถิติ
แยกไม่ออกจากการสุ่ม
เรามีการเข้ารหัสแบบ Homomorphic ที่แข็งแกร่งอยู่แล้ว (ตามที่ระบุไว้ในส่วนที่ 3.3.3)
$E(v) = g^v \pmod n$
เดอะ $g^p$, $g^{p'}$, $g^h$ ถูกสร้างขึ้นตามข้างต้น ฉันหมายถึงวิธีที่คุณดึงข้อมูลเกี่ยวกับ p, p' & h จาก $g^p$, $g^{p'}$, $g^h$ ที่กะโดย $\เดลต้า$ ต้องระบุ?
แล้วทำไมถึงเป็น $\เดลต้า$ การเปลี่ยนแปลงที่จำเป็นสำหรับ Zero Knowledge?