Score:4

ข้อใดคือความสัมพันธ์ระหว่าง Zero-Knowledge Proofs of Knowledge และวงจร

ธง in

ด้วยความนิยมที่เพิ่มขึ้นของ Zero-Knowledge Proofs of Knowledge (ZKPoKs) เช่น พินอคคิโอ, Groth16 และ โซนิคในการตั้งชื่อ ZKPoK บางตัวที่รู้จักกันแพร่หลายในชื่อ zk-SNARK ฉันได้มีส่วนร่วมเพื่อทำความเข้าใจว่าเกิดอะไรขึ้นเบื้องหลังโปรโตคอลเหล่านี้

ปัญหาเดียวที่ฉันพบคือฉันไม่เข้าใจอย่างชัดเจนว่า ZKPoKs ใดสัมพันธ์กันและโครงร่างพื้นฐานบน zk-SNAKRKs: วงจรเลขคณิต.

ให้ฉันถามคำถามหลายข้อเกี่ยวกับเรื่องนี้:

  1. เหตุใดวงจรเลขคณิตจึงน่าสนใจในโลกที่ไม่มีความรู้
  2. เหตุใด ZKPoK แบบวงจรจึงถือว่าเป็น "ทั่วไป"
  3. ZKPoK "ใช้งานได้จริง" เฉพาะเจาะจงใด ๆ (หรือที่รู้จักว่าไม่อิงวงจร) สามารถดำเนินการโดยวงจรได้หรือไม่
  4. ZKPoK แบบใช้วงจรมีประสิทธิภาพมากกว่า (in เวลา หรือ ช่องว่าง) มากกว่า ZKPoK เฉพาะหรือไม่
Score:2
ธง us

เหตุใดวงจรเลขคณิตจึงน่าสนใจในโลกที่ไม่มีความรู้

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

เหตุใด ZKPoK แบบวงจรจึงถือว่าเป็น "ทั่วไป"

การใช้ข้อพิจารณาข้างต้นจะช่วยให้คุณกำหนดข้อพิสูจน์ได้ เช่น "ฉันรู้ $x$ สำหรับประชาชนบางส่วน $v$ และวงจรสาธารณะบางส่วน $C$ ดังนั้น $C(x,v)=1$" ซึ่งทำให้พวกเขาทั่วไปอย่างเต็มที่ในคำแถลงที่พิสูจน์แล้ว

ZKPoK "ใช้งานได้จริง" เฉพาะเจาะจงใด ๆ (หรือที่รู้จักว่าไม่อิงวงจร) สามารถดำเนินการโดยวงจรได้หรือไม่

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

ZKPoK แบบวงจรมีประสิทธิภาพมากกว่า (ในเวลาหรือพื้นที่) มากกว่า ZKPoK เฉพาะหรือไม่

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

Bean Guy avatar
in flag
ดังนั้น เมื่อเราพูดถึง "ZKPoKs แบบใช้วงจร" เราจึงหมายถึงโปรโตคอลประเภทที่สามารถใช้กับวงจรใดๆ ก็ตามที่เรานึกออก ในทางตรงกันข้าม ZKPoK เฉพาะเป็นโปรโตคอลที่สามารถใช้สำหรับวงจร **เฉพาะ** (โดยใช้การกำหนดสูตรใหม่ที่คุณแสดงความคิดเห็น) ฉันถูกไหม?
Bean Guy avatar
in flag
คุณมีข้อมูลอ้างอิงที่ฉันสามารถดูการกำหนดสูตรใหม่สำหรับตัวอย่างง่ายๆ ได้หรือไม่ ฉันคิดว่าฉันจะกำหนด [Schnoor Protocol](https://en.wikipedia.org/wiki/Proof_of_knowledge#Schnorr_protocol) ในแง่ของวงจรได้อย่างไร
SEJPM avatar
us flag
@BeanGuy ZKPoK เฉพาะพิสูจน์ข้อความผ่านคลาสเฉพาะของวงจร เช่น $C(x,v)=g^x\stackrel{?}{=}v\bmod p$ สำหรับการพิสูจน์ Schnorr แบบจำกัดเขตข้อมูล (และตัวแปรในกลุ่มอื่นๆ) ฉันไม่มีข้อมูลอ้างอิงที่ดีสำหรับการเปรียบเทียบ Schnorr แม้ว่าวงจรควรจะมีแนวคิดที่เรียบง่าย (ดูด้านบน) แม้ว่าแน่นอนว่าการกำหนดรูปแบบโมดูลาร์หรือการยกกำลัง ECC ด้วยวงจรสามารถสร้างวงจรขนาดใหญ่ได้ ...
Bean Guy avatar
in flag
ให้ฉันเข้าใจบางอย่าง: เนื่องจากโปรโตคอล Schnorr เป็นโปรโตคอล 3 ขั้นตอน ฉันคิดว่าจะกำหนดมันในแง่ของวงจร เราจำเป็นต้องมี 3 วงจร วงจรหนึ่งสำหรับแต่ละขั้นตอน แต่ดูเหมือนว่าวงจรเดียวสามารถบีบอัดโปรโตคอลทั้งหมดได้ ฉันคิดว่านี่เป็นเรื่องจริง **หลังจาก** ใช้ฮิวริสติกของ Fiat-Shamir แล้วมองว่าโปรโตคอลเป็นฟังก์ชัน มิฉะนั้น ฉันมองไม่เห็นว่าคุณจะกำหนดระบบโต้ตอบให้กับบางสิ่ง (วงจร) ที่ไม่มี "การโต้ตอบ" ได้อย่างไร
Geoffroy Couteau avatar
cn flag
วงจรไม่ใช่ *โปรโตคอล*: วงจรคือ *ภาษา* นั่นคือ โปรโตคอล Schnorr เป็นโปรโตคอล 3 ขั้นตอนสำหรับการพิสูจน์ว่า "ฉันรู้ว่า $w$ นั้น $C(x,w) = 1$" โดยที่ $C$ คือวงจรที่ส่งออก 1 iff $g^w = x $ (เหนือกลุ่มที่เหมาะสม) "ZK แบบวงจร" หมายถึงการพิสูจน์ ZK ที่อธิบายไว้สำหรับทุกภาษาที่เขียน "ในรูปแบบวงจร" ตามข้างต้น สำหรับบันทึกแยก ZK ที่ใช้วงจรมาตรฐานจะไม่มีประสิทธิภาพมากนักเนื่องจากวงจรมีขนาดใหญ่ ที่นี่ การใช้โปรโตคอลเฉพาะ (เช่น Schnorr) ซึ่งปรับให้เหมาะกับภาษาเฉพาะนี้จะมีประสิทธิภาพมากขึ้น
Bean Guy avatar
in flag
@GeoffroyCouteau ถ้าอย่างนั้นมีภาษาดังกล่าวในกรณีของ *เฉพาะ* ZKPoK นั่นคือไม่ได้เปลี่ยนรูปแบบเป็นวงจรหรือไม่ ภาษาใดในกรณีเหล่านั้น

โพสต์คำตอบ

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