Score:0

วงจรใน zk-SNARK สามารถวิศวกรรมย้อนกลับได้หรือไม่?

ธง br

คำจำกัดความของ zk-SNARK นั้นเกี่ยวข้องกับการไม่รั่วไหลของข้อมูลใด ๆ จากการโต้ตอบของผู้พิสูจน์และผู้ตรวจสอบ แต่จะเกี่ยวกับการรั่วไหลของข้อมูลจากวงจรเอง เช่น อาจมีวงจรที่แสดงให้เห็นว่าฉันรู้จักภาพพรีอิมเมจหรือไม่ , ที่ไหน เป็นลายเซ็นที่สร้างขึ้นโดยความลับ x และอัลกอริธึมการเซ็นชื่อ HMAC(x, ข้อความธรรมดา)? วงจรนี้ไม่ควรให้ข้อมูลเกี่ยวกับอะไร x เป็น.

แก้ไข: เพื่อชี้แจงคำถามของฉัน ผู้พิสูจน์และผู้ตรวจสอบไม่ควรรู้ x; x ควรอยู่ในวงจรที่ไม่สามารถออกแบบวิศวกรรมย้อนกลับได้ x.

cn flag
เราเข้าใจคำถามของคุณผิด แต่วงจรนี้ไม่จำเป็นต้องทำวิศวกรรมย้อนกลับ เป็นที่ทราบกันทั่วไปและมอบให้กับผู้ตรวจสอบอย่างธรรมดา อย่างไรก็ตามในตัวอย่างของคุณ x จะไม่เป็นส่วนหนึ่งของคำอธิบายวงจร แต่เป็นพยาน เช่น *อินพุต* ของวงจร
nnsk avatar
br flag
ขอบคุณ @เมเฮอร์ ฉันหมายความว่า x ไม่ควรเป็นพยาน เพราะเราไม่ต้องการให้ผู้พิสูจน์รู้ x เช่นกัน เป็นไปได้หรือไม่ที่จะมีหลักฐานที่ไม่มีใครรู้ x แต่ยังสามารถตรวจสอบได้ว่า HMAC(x, พยาน) = s หรือไม่
cn flag
คุณสามารถพิสูจน์ได้ว่าสำหรับบางวงจร คุณรู้อินพุตที่เอาต์พุตคือ $s$ หากต้องการซ่อน $x$ วงจรจะต้องถูกทำให้ยุ่งเหยิง แต่คำถามก็คือคุณจะยืนยันได้อย่างไรว่าวงจรที่ยุ่งเหยิงนั้นคำนวณ HMAC จริงๆ
ming alex avatar
in flag
ไม่ zk-SNARK เป็น NIZK ประเภทหนึ่ง ซึ่งรับประกันได้ว่าพยาน เช่น ความลับ x จะไม่เปิดเผย ยกเว้นหลักฐาน $\pi$ และ statment s ดังนั้น สำหรับ HMAC ตัวรวบรวมจะแปลงเป็นวงจรเลขคณิต และสร้างอินสแตนซ์ QAP/QSP ในที่สุด Duo กับ QAP นั้นยากแล้ว การย้อนกลับเพื่อรับข้อมูลของพยานก็ยาก
nnsk avatar
br flag
ฉันแก้ไขปัญหาเล็กน้อยเพื่อชี้แจง: นึกคิดแล้ว ทั้งผู้พิสูจน์และผู้ตรวจสอบก็ไม่รู้ x ผู้พิสูจน์เพียงแค่ต้องแสดงว่าพวกเขารู้จักคู่ที่ถูกต้อง (ลายเซ็น ข้อความธรรมดา) ถ้าฉันเข้าใจถูกต้อง x ไม่ใช่พยานในกรณีนี้ แต่เป็นส่วนหนึ่งของวงจร
ming alex avatar
in flag
คุณหมายความว่าผู้พิสูจน์ซึ่งมีคู่ลายเซ็น $(s, msg)$ แต่มีรหัสลับในการเซ็นชื่อ $x$ เพียงเพื่อพิสูจน์ว่าเขา/เธอเป็นเจ้าของลายเซ็นที่ถูกต้องซึ่งสร้างจากวงจรสาธารณะหรือไม่ ถ้าเป็นเช่นนั้น ก็เป็นเพียงปัญหาการคำนวณที่ตรวจสอบได้ แทนที่จะเป็นความรู้ที่ไม่มีความรู้ นอกจากนี้ คำถามของคุณควรเป็นนามธรรมว่าจะพิสูจน์ได้อย่างไรว่าผลลัพธ์ที่สร้างขึ้นอย่างถูกต้องจากการทำงานสาธารณะบางอย่าง ฟังก์ชันสาธารณะสามารถมองเป็น HMAC($x, \cdot$) ซึ่งสามารถแปลงเป็นวงจรเลขคณิตได้อย่างแน่นอน ในกรณีนี้ ฝ่ายตรงข้ามที่ได้รับวงจรสามารถย้อนกลับค่าลับ $x$ ได้อย่างง่ายดาย
nnsk avatar
br flag
ถูกต้อง; `x` เป็นเพียงการพิสูจน์ความเป็นเจ้าของลายเซ็นที่ถูกต้องและไม่ควรให้ใครรู้นอกจากผู้ออกลายเซ็น กระบวนการลงนามไม่ใช่แบบสาธารณะแต่เป็นการยืนยัน ดังนั้น คำถามคือจะตรวจสอบลายเซ็น HMAC แบบสาธารณะโดยไม่แจ้งให้สาธารณะทราบ `x` ได้อย่างไร
ming alex avatar
in flag
ถ้าฟังก์ชันสาธารณะคือ $HMAC(k, x)$ โดยที่ $k$ เป็นคีย์ตายตัวและ $x$ เป็นอินพุต จากนั้นด้วยเทคโนโลยีของ zkSNARKs จะสามารถแปลง $HMAC(k, x)$ เป็น ตัวอย่างแรกของ QAP อย่างไรก็ตาม ในขั้นตอนนี้ ฝ่ายตรงข้ามยังสามารถกู้คืนค่าลับ $k$ ได้หากระดับของพหุนามคือขนาด $poly(\cdot)$ ต่อไป การใส่พหุนามลงบนฐานเลขชี้กำลัง $g$ เช่น $g^{l_i(y)}$ โดยที่ $y$ เป็นค่าสุ่ม นี่อาจเก็บ $k$ ไว้เป็นความลับเนื่องจากความแข็งของปัญหา DL สุดท้าย เผยแพร่ $vk$ และ $ek$ ต่อทั้งผู้พิสูจน์และผู้ตรวจสอบ
ming alex avatar
in flag
สำหรับผู้พิสูจน์ มันสามารถคำนวณ $s=HMAC(k,msg)$ และดังนั้นค่าตัวแปรที่สอดคล้องกัน ${w_i}, i \in [n]$ ค่าเหล่านี้ {$w_i$} สามารถดูเป็นพยานได้ ดังนั้น ผู้พิสูจน์ดำเนินการอัลกอริทึมการพิสูจน์และส่งออกหลักฐาน $\pi$ และ ${s,msg}$ ไปยังผู้ตรวจสอบ กระบวนการที่ฉันอธิบายไว้ข้างต้นยังไม่ได้รับการพิสูจน์ โดยเฉพาะอย่างยิ่ง วิธีการรักษาความลับของ $k$

โพสต์คำตอบ

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