ศิษย์ฝึก

บทความนี้แสดงหลักฐานโดยละเอียดของ Zero-Knowledge Proofs (ZKP)

โปรโตคอลที่ไม่ระบุข้อมูลเป็นวิธีที่ฝ่ายหนึ่ง (ผู้พิสูจน์) สามารถพิสูจน์ต่ออีกฝ่ายหนึ่ง (ผู้ตรวจสอบ) ว่าสิ่งหนึ่งเป็นจริงโดยไม่เปิดเผยข้อมูลใดๆ นอกจากข้อเท็จจริงว่าคำกล่าวถูกต้อง

โปรฟ์o-knowledge proofs ได้ปรับปรุงในระหว่างปีและในปัจจุบันกำลังถูกใช้งานในหลายแอปพลิเคชันในโลกจริง

ทำไมเราต้องใช้พิสูจน์ที่ไม่เปิดเผยทั้งหมด?

ศิษย์ธรรมที่ไม่รู้คือการเข้าใจที่ค้นพบในการใช้กฎรหัสซึ่งสัญญาว่าจะปรับปรุงความปลอดภัยของข้อมูลสำหรับบุคคล พิจารณาว่าคุณจะพิสูจน์ข้อโต้แย้ง (เช่น “ฉันเป็นพลเมืองของประเทศ X”) กับฝ่ายอื่น (เช่น ผู้ให้บริการ) คุณต้องให้ “หลักฐาน” เพื่อสนับสนุนข้อโต้แย้งของคุณ เช่น หนังสือเดินทางของชาติหรือใบอนุญาตขับขี่

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

Zero-knowledge proofs แก้ปัญหานี้โดยการลบความจำเป็นในการเปิดเผยข้อมูลเพื่อพิสูจน์ความถูกต้องของข้อเรียกร้อง โปรโตคอลศูนย์ศูนย์ใช้คำแถลง (เรียกว่า 'พยาน') เป็นอินพุตเพื่อสร้างการพิสูจน์ที่กระชับถูกต้อง การพิสูจน์นี้มอบความมั่นใจที่แข็งแกร่งว่าคำแถลงเป็นจริงโดยไม่เปิดเผยข้อมูลที่ใช้ในการสร้าง

กลับไปยังตัวอย่างก่อนหน้าของเรา หลักฐานเดียวที่คุณต้องการเพื่อพิสูจน์การอ้างสิทธิ์เป็นพลเมืองของคุณคือการพิสูจน์ที่ไม่มีความรู้เลย ผู้ตรวจสอบเพียงต้องตรวจสอบว่าคุณสมบัติบางอย่างของการพิสูจน์เป็นจริงเพื่อที่จะเชื่อว่าคำอภิปรายที่ซ่อนอยู่จริง

การพิสูจน์ความรู้เป็นศูนย์ทํางานอย่างไร

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

โปรโตคอลที่ไม่มีความรู้จะต้องทำให้สอดคล้องกับเกณฑ์ต่อไปนี้:

  1. ความสมบูรณ์: หากข้อมูลนำเข้าถูกต้อง โปรโตคอลการไม่เปิดเผยเสมอจะส่งคืน 'true' ดังนั้นหากข้อความรากฐานเป็นจริงและผู้พิสูจน์และผู้ตรวจสอบทำตามความซื่อสัตย์ พิสูจน์นั้นสามารถยอมรับได้
  2. ความถูกต้อง: หากข้อมูลนำเข้าไม่ถูกต้อง จะเป็นเรื่องทฤษฎีที่เป็นไปไม่ได้ที่จะหลอกเทคโนโลยี zero-knowledge protocol เพื่อให้ค่าความจริง 'true' ดังนั้น โปรธนูที่ไม่กล่าวความจริงจะไม่สามารถหลอกผู้ตรวจซื่อให้เชื่อว่าข้อความที่ไม่ถูกต้องเป็นข้อความที่ถูกต้องได้ (ยกเว้นด้วยขอบเขตของความน่าจะเป็นเล็กน้อย)
  3. ศูนย์ความรู้: ผู้ตรวจสอบไม่ได้เรียนรู้อะไรเกี่ยวกับคำให้การที่เกินจริงหรือเท็จ (พวกเขามี "ศูนย์ความรู้" เกี่ยวกับคำให้การ) ข้อกำหนดนี้ยังป้องกันไม่ให้ผู้ตรวจสอบสืบเนาะข้อมูลเข้าสู่ (เนื้อหาของคำให้การ) จากการพิสูจน์

ในรูปแบบพื้นฐาน เอกสารพิสูจน์ที่ไม่ระบุตัวตนประกอบด้วยสามองค์ประกอบ: พยาน ท้าทาย และการตอบ

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

ข้างต้นเป็นการอธิบายโครงสร้างของ 'interactive zero-knowledge proof' โปรโตคอลศูนย์ศูนย์ศูนย์ให้การพิสูจน์ที่เป็นศูนย์เริ่มต้นใช้การพิสูจน์แบบโต้ตอบที่การตรวจสอบความถูกต้องของคำชี้แจงต้องมีการสื่อสารไป-กลับระหว่างผู้พิสูจน์และผู้ตรวจสอบ

ตัวอย่างที่ดีที่สุดที่ช่วยให้เราเข้าใจวิธีการทำงานของinteractive proof ได้ดีคือการของ Jean-Jacques Quisquater ที่มีชื่อเสียงเรื่องถ้ำอีบาบา

(เปิดในแท็บใหม่)

ในเรื่อง, Peggy (ผู้พิสูจน์) ต้องการพิสูจน์ต่อ Victor (ผู้ตรวจสอบ) ว่าเธอทราบว่าวลีพิเศษเพื่อเปิดประตูเวทมนตร์โดยไม่เปิดเผยวลี

Non-interactive zero-knowledge proofs

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

เพื่อแก้ปัญหานี้ แมนเวล บลัม พอล เฟลด์แมน และ ซิลวิโอ มิคาลี แนะนำให้non-interactive zero-knowledge proofs

(เปิดในแท็บใหม่)

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

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

การพิสูจน์ที่ไม่ต้องมีการสื่อสารลดลงระหว่างผู้พิสูจน์และผู้ตรวจสอบ ทำให้ ZK-proofs มีประสิทธิภาพมากขึ้น อนึ่ง เมื่อได้สร้างพิสูจน์แล้ว มันสามารถให้ใครก็ตาม (ที่มีสิทธิ์เข้าถึงกุญแจร่วมและอัลกอริทึมการตรวจสอบ) ที่จะทำการตรวจสอบ

Non-interactive proofs represented a breakthrough for zero-knowledge technology and spurred the development of proving systems used today. We discuss these proof types below:

ประเภทของศาสตร์พิสูจน์ที่ไม่เป็นที่รู้

ZK-SNARKs

ZK-SNARK เป็นสัญลักษณ์ย่อของ Zero-Knowledge Succinct Non-Interactive Argument of Knowledge โปรโตคอล ZK-SNARK มีคุณภาพต่อไปนี้:

  • ศูนย์ความรู้: ผู้ตรวจสอบสามารถตรวจสอบความสมบูรณ์ของคำบอกโทษโดยไม่รู้อะไรเกี่ยวกับคำบอกโทษอื่น ๆ ความรู้เดียวที่ผู้ตรวจสอบมีเกี่ยวกับคำบอกโทษคือว่ามันเป็นจริงหรือเท็จ
  • สรุป: พิสูจน์ความรู้ศาสตร์เรื่องศูนย์เป็นขนาดเล็กกว่าพยานและสามารถตรวจสอบได้อย่างรวดเร็ว
  • Non-interactive: การพิสูจน์เป็น 'ไม่ต้องมีปฏิสัมพันธ์' เนื่องจากที่เฉลี่ยและผู้ตรวจสอบมีการติดต่อกันเพียงครั้งเดียวเท่านั้น ต่างจากพิสูจน์แบบมีการโต้ตอบที่ต้องการการสื่อสารหลายรอบ
  • Argument: การพิสูจน์มีความสมบูรณ์ตามที่ต้องการ 'ความถูกต้อง' ดังนั้นการทุจริยางกู้โกงเป็นไปไม่ได้
  • ของความรู้: การพิสูจน์ที่ไม่มีความรู้ไม่สามารถสร้างขึ้นได้โดยไม่ต้องการเข้าถึงข้อมูลลับ (พยาน) มันยาก ถ้าไม่ใช่ไปไม่ได้ สำหรับผู้พิสูจน์ที่ไม่มีพยานที่จะคำนวณพิสูจน์ที่ไม่มีความรู้ที่ถูกต้อง

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

Multi-party computation (MPC)

(เปิดในแท็บใหม่)

เป็นวิธีในการลดความเสี่ยงในการสร้างพารามิเตอร์สาธารณะ หลายฝ่ายเข้าร่วมงานพิธีการตั้งค่าที่เชื่อถือ

(เปิดในแท็บใหม่)

, ที่ทุกคนมีส่วนร่วมในการสร้างค่าสุ่มบางอย่างเพื่อสร้าง CRS ด้วยกัน ถ้ามีฝ่ายซื่อสัตย์อย่างน้อย 1 ฝ่ายทำลายส่วนของเอ็นโทรปี โปรโตคอล ZK-SNARK จะรักษาความพร้อมในการคำนวณ

การตั้งค่าที่เชื่อถือได้ต้องการผู้ใช้ที่จะเชื่อใจในผู้เข้าร่วมในการสร้างพารามิเตอร์ อย่างไรก็ตาม การพัฒนา ZK-STARKs ได้เปิดโอกาสให้มีโปรโตคอลการพิสูจน์ที่ทำงานกับการตั้งค่าที่ไม่ได้เชื่อถือ

ZK-STARKs

ZK-STARK คือตัวย่อของ Zero-Knowledge Scalable Transparent Argument of Knowledge ZK-STARKs คือคล้ายกับ ZK-SNARKs เพียงแต่ว่าพวกเขา:

  • Scalable: ZK-STARK เร็วกว่า ZK-SNARK ในการสร้างและตรวจสอบพรูฟเวล็บเมื่อขนาดของพยานใหญ่ขึ้น ด้วยพรูฟ STARK ช่วงเวลาการพิสูจน์และการตรวจสอบเพียงเพิ่มขึ้นเล็กน้อยเมื่อพยานขยายตัว (เวลาพิสูจน์และตรวจสอบ SNARK เพิ่มขึ้นเชิงเส้นกับขนาดของพยาน)
  • โปร: ZK-STARK ขึ้นอยู่กับความสุ่มที่สามารถตรวจสอบได้เพื่อสร้างพารามิเตอร์สาธารณะสำหรับการพิสูจน์และการตรวจสอบแทนที่จะใช้การติดตั้งที่เชื่อถือได้ ดังนั้น พวกเขาโปร่งใสมากกว่า ZK-SNARKs

ZK-STARKs สร้างหลักฐานที่มีขนาดใหญ่กว่า ZK-SNARKs ซึ่งหมายความว่าโดยทั่วไปแล้วจะมีค่าใช้จ่ายในการตรวจสอบที่สูงกว่า อย่างไรก็ตาม มีบางกรณี (เช่น การพิสูจน์ชุดข้อมูลขนาดใหญ่) ที่ ZK-STARKs อาจคุ้มค่ากว่า ZK-SNARKs

ประโยชน์การใช้ proof ที่ไม่เปิดเผย

การชำระเงินแบบไม่ระบุชื่อ

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

สกุลเงินดิจิทัลถูกสร้างขึ้นเพื่อให้ผู้ใช้สามารถทำธุรกรรมแบบ peer-to-peer ได้อย่างเป็นส่วนตัว แต่ส่วนใหญ่การทำธุรกรรมด้านสกุลเงินดิจิทัลถูกเปิดเผยอย่างชัดเจนบนบล็อกเชนสาธารณะ ตัวตนของผู้ใช้บ่อยครั้งถูกประพันธ์และเชื่อมโยงกับตัวตนในโลกแสดง (เช่น โดยการรวมที่อยู่ ETH บนโปรไฟล์ทวิตเตอร์หรือ GitHub) หรือสามารถเชื่อมโยงกับตัวตนในโลกแสดงโดยใช้การวิเคราะห์ข้อมูลพื้นฐานทั้งภายในและภายนอกโดยใช้เทคโนโลยีบล็อกเชน

มี "เหรียญความเป็นส่วนตัว" ที่ออกแบบมาสำหรับการทำธุรกรรมอย่างเป็นความลับอย่างสมบูรณ์ บล็อกเชนที่ให้ความสำคัญกับความเป็นส่วนตัว เช่น Zcash และ Monero ปกป้องรายละเอียดของธุรกรรม รวมถึงที่อยู่ผู้ส่ง/ผู้รับ ประเภทสินทรัพย์ ปริมาณ และไทม์ไลน์ของธุรกรรม

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

ศาสตร์พิสูจน์ที่ไม่ระบุข้อมูลกำลังถูกใช้ในการทำให้ธุรกรรมเป็นนิรนามบนบล็อกเชนสาธารณะ ตัวอย่างเช่น Tornado Cash เป็นบริการที่ไม่มีผู้ควบคุมแบบกระจายที่ช่วยให้ผู้ใช้สามารถดำเนินธุรกรรมเชิงส่วนบุคคลบนเอเธอเรียม Tornado Cash ใช้ศาสตร์พิสูจน์ที่ไม่ระบุข้อมูลเพื่อทำให้รายละเอียดของธุรกรรมเป็นความลับและรับประกันความเป็นส่วนตัวทางการเงิน น่าเสียดายที่เนื่องจากเครื่องมือความเป็นส่วนตัวเหล่านี้เป็นเพียง “opt-in” พวกเขามักถูกเชื่อมโยงกับกิจกรรมที่ผิดกฎหมาย ในการเอาชนะสิ่งนี้ ความเป็นส่วนตัวต้องกลายเป็นค่าเริ่มต้นในบล็อกเชนสาธารณะในที่สุด

การป้องกันตัวตน

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

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

การตรวจสอบ

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

ศิษย์โปรศักย์ศิษย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์

การคำนวณที่สามารถยืนยันได้

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

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

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

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

นี่คือวิธีการทำในการปฏิบัติ

  • แทนที่จะประมวลผลทุกธุรกรรม Ethereum จะโอนการปฏิบัติงานไปยังเชนที่แยกออกมา
  • หลังจากการประมวลผลธุรกรรม โซ่อื่น ๆ จะส่งผลลัพธ์กลับเพื่อนำไปใช้กับสถานะของ Ethereum

ประโยชน์ที่นี่คือ Ethereum ไม่ต้องทำการดำเนินการใด ๆ และเพียงต้องใช้ผลลัพธ์จากการคำนวณที่เป็นเอาท์ซอร์สเข้ากับสถานะของมัน สิ่งนี้จะช่วยลดการแออัดในเครือข่ายและยังปรับปรุงความเร็วในการทำธุรกรรม (โปรโตคอลนอกเชื่อมต่อสำหรับการทำการดำเนินการอย่างรวดเร็ว)

เชื่อมโยงต้องมีวิธีการตรวจสอบธุรกรรมออกเชนโดยไม่ต้องทำใหม่ ไม่เช่นนั้นค่าของการดำเนินการออกเชนจะสูญหาย

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

ประกันความถูกต้อง) ให้การันตีว่าธุรกรรมถูกต้อง ทำให้ Ethereum สามารถนำผลลัพธ์ไปใช้กับสถานะของมันได้โดยไม่ต้องรอให้ใครมีข้อโต้แย้ง

Zero-knowledge rollupsและvalidiums are two off-chain scaling solutions that use validity proofs to provide secure scalability. These protocols execute thousands of transactions off-chain and submit proofs for verification on Ethereum. Those results can be applied immediately once the proof is verified, allowing Ethereum to process more transactions without increasing computation on the base layer.

ลดการทำสิ่งผิดในการล่วงล้ำและการละเมิดในการลงคะแนนบนเชือก

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

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

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

ตัวอย่างเช่น กลไกการจัดการทุนกำลังสอง

(เปิดในแท็บใหม่)

พึ่งพาบริจาคเพื่อวัดความชอบทางเลือกของโครงการสาธารณะบางประการ การบริจาคแต่ละรายการนับเป็น “โหวต” ให้กับโครงการเฉพาะ โดยโครงการที่ได้รับโหวตมากขึ้นจะได้รับเงินทุนมากขึ้นจากสระว่ายน้ำ

การใช้การลงคะแนนแบบ on-chain ทําให้การระดมทุนแบบกําลังสองมีความอ่อนไหวต่อการสมรู้ร่วมคิด: ธุรกรรมบล็อกเชนเป็นแบบสาธารณะ ดังนั้นผู้ติดสินบนจึงสามารถตรวจสอบกิจกรรมบนห่วงโซ่ของสินบนเพื่อดูว่าพวกเขา "ลงคะแนน" อย่างไร วิธีนี้การระดมทุนแบบกําลังสองจะหยุดเป็นวิธีที่มีประสิทธิภาพในการจัดสรรเงินทุนตามความชอบโดยรวมของชุมชน

โชคดีที่โซลูชันที่ใหม่กว่าเช่น MACI (Minimum Anti-Collusion Infrastructure) กําลังใช้หลักฐานที่ไม่มีความรู้เพื่อให้การลงคะแนนแบบ on-chain (เช่นกลไกการระดมทุนกําลังสอง) ทนต่อการติดสินบนและการสมรู้ร่วมคิด MACI เป็นชุดของสัญญาอัจฉริยะและสคริปต์ที่อนุญาตให้ผู้ดูแลระบบส่วนกลาง (เรียกว่า "ผู้ประสานงาน") เพื่อรวมคะแนนเสียงและผลลัพธ์แบบ tally โดยไม่เปิดเผยรายละเอียดเกี่ยวกับวิธีการลงคะแนนของแต่ละบุคคล ถึงกระนั้นก็ยังเป็นไปได้ที่จะตรวจสอบว่ามีการนับคะแนนอย่างถูกต้องหรือยืนยันว่าบุคคลใดบุคคลหนึ่งมีส่วนร่วมในรอบการลงคะแนน

MACI ทำงานอย่างไรกับพิสูจน์ที่ไม่เปิดเผย?

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

ใน MACI, พิสูจน์ที่ไม่รู้จักถูกใช้เพื่อให้มั่นใจในความถูกต้องของการคำนวณโดยทำให้เป็นไปไม่ได้ที่จะทำให้ผู้ประสานกระบวนการประมวลผลโหวตและรวบรวมผลลัพธ์ได้ผิด สิ่งนี้ถูกบรรลุโดยการกำหนดให้ผู้ประสานต้องสร้างพิสูจน์ ZK-SNARK ที่ยืนยันว่า a) ข้อความทั้งหมดถูกประมวลผลถูกต้อง b) ผลลัพธ์สุดท้ายสอดคล้องกับผลรวมของโหวตที่ถูกต้องทั้งหมด

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

  • Alice ลงทะเบียนเพื่อลงคะแนนเสียงโดยการส่งคีย์สาธารณะของตนเองไปยังสัญญาอัจฉริยะ
  • Aliceตกลงลงคะแนนเสียงให้กับตัวเลือก B และได้รับสินบนจาก Bob เป็นแลกเปลี่ยน
  • Alice โหวตให้กับตัวเลือก B.
  • Alice ส่งธุรกรรมที่เข้ารหัสอย่างลับเพื่อเปลี่ยนคีย์สาธารณะที่เชื่อมโยงกับเธอ
  • Alice ส่งข้อความอีกครั้ง (ที่ถูกเข้ารหัส) ไปยังสัญญาอัจฉริยะโหวตให้กับตัวเลือก A โดยใช้คีย์สาธารณะใหม่
  • Alice แสดงให้ Bob เห็นธุรกรรมที่แสดงให้เห็นว่าเธอลงคะแนนเสียงให้กับตัวเลือก B (ซึ่งไม่ถูกต้องเนื่องจากคีย์สาธารณะไม่ได้เชื่อมโยงกับเอกลักษณ์ของ Alice อีกต่อไปในระบบ)
  • ขณะที่ประมวลข้อมูลข้อความ ผู้ประสานงานข้ามการโหวตของ Alice สำหรับตัวเลือก B และนับเฉพาะการโหวตสำหรับตัวเลือก A เท่านั้น จึงพบว่า การพยายามของ Bob ในการทำร้ายกับ Alice และประสานการโหวต on-chain ล้มเหลว

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

แต่ในกรณีที่ผู้ประสานงานยังคงซื่อสัตย์ MACI เป็นเครื่องมือที่มีประสิทธิภาพสำหรับการรับประกันความบริสุทธิ์ของการลงคะแนที่บนเชือง นี้อธิบายความนิยมของมันในการใช้กับแอปลิเคชันทุนกำลังสองclr.fund

(เปิดในแท็บใหม่)

) ซึ่งขึ้นอยู่กับความน่าเชื่อถือของการเลือกตั้งของแต่ละบุคคล

เรียนรู้เพิ่มเติมเกี่ยวกับ MACI

(เปิดในแท็บใหม่)

.

ข้อเสียของการใช้พิสูจน์ที่ไม่มีความรู้

ค่าฮาร์ดแวร์

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

ต้นทุนการตรวจสอบ

การตรวจสอบพิสูจน์ยังต้องใช้การคำนวณที่ซับซ้อนและเพิ่มค่าใช้จ่ายในการนำเทคโนโลยีซิโร่-คโนวเลจไปใช้ในแอปพลิเคชัน ค่าใช้จ่ายนี้มีความสำคัญโดยเฉพาะในบริบทของการสร้างพิสูจน์ทำงาน เช่น ZK-rollups จ่าย ~ 500,000 gas เพื่อการตรวจสอบพิสูจน์ ZK-SNARK เพียงหนึ่งตัวบนเอเธอเรียม โดย ZK-STARKs ต้องการค่าธรรมเนียมที่สูงกว่า

สันทนาการในการเชื่อ

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

แต่จริงๆแล้วไม่มีวิธีใดสำหรับผู้ใช้ในการประเมินความซื่อสัตย์ของผู้เข้าร่วม และผู้ใช้ต้องเชื่อในคำพูดของนักพัฒนา ZK-STARKs มีความเชื่อถือได้โดยไม่มีการสมมติใดๆเนื่องจากความสุ่มที่ใช้ในการสร้างสตริงมีความสาธารณะที่สามารถตรวจสอบได้ ในระหว่างนี้ นักวิจัยกำลังทำงานกับการติดตั้งที่ไม่เชื่อถือได้สำหรับ ZK-SNARKs เพื่อเพิ่มความปลอดภัยของกลไกการพิสูจน์

ความเสี่ยงจากคอมพิวเตอร์ควอนตัม

ZK-SNARK ใช้วิธีการเขี้ยวโค้งทางเลขคณิต

ECDSA) สำหรับการเข้ารหัสข้อมูล ขณะที่อัลกอริทึม ECDSA เป็นปลอดภัยในปัจจุบัน การพัฒนาคอมพิวเตอร์ควอนตัมอาจทำให้ระบบรักษาความปลอดภัยของมันเสียในอนาคต

ZK-STARK ถือว่ามีความปลอดภัยจากอุปกรณ์คอมพิวเตอร์ควอนตัม เนื่องจากมันใช้การแฮชที่ป้องกันการชนกันสำหรับการเข้ารหัส ต่างจากการจับคู่คีย์สาธารณะ-ส่วนตัวที่ใช้ในวิธีการวงรีเล็กติกคิวร์ฟ การแฮชที่ป้องกันการชนกันยากกว่าสำหรับอัลกอริทึมคอมพิวเตอร์ควอนตัมที่จะแตก

ข้อปฏิเสธ:

  1. บทความนี้พิมพ์ซ้ําจาก [Ethereum]. All copyrights belong to the original author [Ethereum]. หากมีข้อขัดแย้งใด ๆ เกี่ยวกับการพิมพ์ฉบับนี้ กรุณาติดต่อ Gate Learnทีม และพวกเขาจะดำเนินการโดยเร็ว
  2. คำประกาศความรับผิด: มุมมองและความคิดเห็นที่แสดงในบทความนี้เป็นเพียงเรื่องของผู้เขียนเท่านั้น และไม่เป็นการให้คำแนะนำทางการลงทุนใด ๆ
  3. การแปลบทความเป็นภาษาอื่นๆ นี้ ทำโดยทีม Gate Learn ห้ามทำสำเนา กระจายหรือลอกเลียนบทความที่ถูกแปล นอกจากที่ได้กล่าวถึง

ศิษย์ฝึก

มือใหม่1/4/2024, 6:21:16 PM
บทความนี้แสดงหลักฐานโดยละเอียดของ Zero-Knowledge Proofs (ZKP)

โปรโตคอลที่ไม่ระบุข้อมูลเป็นวิธีที่ฝ่ายหนึ่ง (ผู้พิสูจน์) สามารถพิสูจน์ต่ออีกฝ่ายหนึ่ง (ผู้ตรวจสอบ) ว่าสิ่งหนึ่งเป็นจริงโดยไม่เปิดเผยข้อมูลใดๆ นอกจากข้อเท็จจริงว่าคำกล่าวถูกต้อง

โปรฟ์o-knowledge proofs ได้ปรับปรุงในระหว่างปีและในปัจจุบันกำลังถูกใช้งานในหลายแอปพลิเคชันในโลกจริง

ทำไมเราต้องใช้พิสูจน์ที่ไม่เปิดเผยทั้งหมด?

ศิษย์ธรรมที่ไม่รู้คือการเข้าใจที่ค้นพบในการใช้กฎรหัสซึ่งสัญญาว่าจะปรับปรุงความปลอดภัยของข้อมูลสำหรับบุคคล พิจารณาว่าคุณจะพิสูจน์ข้อโต้แย้ง (เช่น “ฉันเป็นพลเมืองของประเทศ X”) กับฝ่ายอื่น (เช่น ผู้ให้บริการ) คุณต้องให้ “หลักฐาน” เพื่อสนับสนุนข้อโต้แย้งของคุณ เช่น หนังสือเดินทางของชาติหรือใบอนุญาตขับขี่

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

Zero-knowledge proofs แก้ปัญหานี้โดยการลบความจำเป็นในการเปิดเผยข้อมูลเพื่อพิสูจน์ความถูกต้องของข้อเรียกร้อง โปรโตคอลศูนย์ศูนย์ใช้คำแถลง (เรียกว่า 'พยาน') เป็นอินพุตเพื่อสร้างการพิสูจน์ที่กระชับถูกต้อง การพิสูจน์นี้มอบความมั่นใจที่แข็งแกร่งว่าคำแถลงเป็นจริงโดยไม่เปิดเผยข้อมูลที่ใช้ในการสร้าง

กลับไปยังตัวอย่างก่อนหน้าของเรา หลักฐานเดียวที่คุณต้องการเพื่อพิสูจน์การอ้างสิทธิ์เป็นพลเมืองของคุณคือการพิสูจน์ที่ไม่มีความรู้เลย ผู้ตรวจสอบเพียงต้องตรวจสอบว่าคุณสมบัติบางอย่างของการพิสูจน์เป็นจริงเพื่อที่จะเชื่อว่าคำอภิปรายที่ซ่อนอยู่จริง

การพิสูจน์ความรู้เป็นศูนย์ทํางานอย่างไร

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

โปรโตคอลที่ไม่มีความรู้จะต้องทำให้สอดคล้องกับเกณฑ์ต่อไปนี้:

  1. ความสมบูรณ์: หากข้อมูลนำเข้าถูกต้อง โปรโตคอลการไม่เปิดเผยเสมอจะส่งคืน 'true' ดังนั้นหากข้อความรากฐานเป็นจริงและผู้พิสูจน์และผู้ตรวจสอบทำตามความซื่อสัตย์ พิสูจน์นั้นสามารถยอมรับได้
  2. ความถูกต้อง: หากข้อมูลนำเข้าไม่ถูกต้อง จะเป็นเรื่องทฤษฎีที่เป็นไปไม่ได้ที่จะหลอกเทคโนโลยี zero-knowledge protocol เพื่อให้ค่าความจริง 'true' ดังนั้น โปรธนูที่ไม่กล่าวความจริงจะไม่สามารถหลอกผู้ตรวจซื่อให้เชื่อว่าข้อความที่ไม่ถูกต้องเป็นข้อความที่ถูกต้องได้ (ยกเว้นด้วยขอบเขตของความน่าจะเป็นเล็กน้อย)
  3. ศูนย์ความรู้: ผู้ตรวจสอบไม่ได้เรียนรู้อะไรเกี่ยวกับคำให้การที่เกินจริงหรือเท็จ (พวกเขามี "ศูนย์ความรู้" เกี่ยวกับคำให้การ) ข้อกำหนดนี้ยังป้องกันไม่ให้ผู้ตรวจสอบสืบเนาะข้อมูลเข้าสู่ (เนื้อหาของคำให้การ) จากการพิสูจน์

ในรูปแบบพื้นฐาน เอกสารพิสูจน์ที่ไม่ระบุตัวตนประกอบด้วยสามองค์ประกอบ: พยาน ท้าทาย และการตอบ

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

ข้างต้นเป็นการอธิบายโครงสร้างของ 'interactive zero-knowledge proof' โปรโตคอลศูนย์ศูนย์ศูนย์ให้การพิสูจน์ที่เป็นศูนย์เริ่มต้นใช้การพิสูจน์แบบโต้ตอบที่การตรวจสอบความถูกต้องของคำชี้แจงต้องมีการสื่อสารไป-กลับระหว่างผู้พิสูจน์และผู้ตรวจสอบ

ตัวอย่างที่ดีที่สุดที่ช่วยให้เราเข้าใจวิธีการทำงานของinteractive proof ได้ดีคือการของ Jean-Jacques Quisquater ที่มีชื่อเสียงเรื่องถ้ำอีบาบา

(เปิดในแท็บใหม่)

ในเรื่อง, Peggy (ผู้พิสูจน์) ต้องการพิสูจน์ต่อ Victor (ผู้ตรวจสอบ) ว่าเธอทราบว่าวลีพิเศษเพื่อเปิดประตูเวทมนตร์โดยไม่เปิดเผยวลี

Non-interactive zero-knowledge proofs

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

เพื่อแก้ปัญหานี้ แมนเวล บลัม พอล เฟลด์แมน และ ซิลวิโอ มิคาลี แนะนำให้non-interactive zero-knowledge proofs

(เปิดในแท็บใหม่)

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

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

การพิสูจน์ที่ไม่ต้องมีการสื่อสารลดลงระหว่างผู้พิสูจน์และผู้ตรวจสอบ ทำให้ ZK-proofs มีประสิทธิภาพมากขึ้น อนึ่ง เมื่อได้สร้างพิสูจน์แล้ว มันสามารถให้ใครก็ตาม (ที่มีสิทธิ์เข้าถึงกุญแจร่วมและอัลกอริทึมการตรวจสอบ) ที่จะทำการตรวจสอบ

Non-interactive proofs represented a breakthrough for zero-knowledge technology and spurred the development of proving systems used today. We discuss these proof types below:

ประเภทของศาสตร์พิสูจน์ที่ไม่เป็นที่รู้

ZK-SNARKs

ZK-SNARK เป็นสัญลักษณ์ย่อของ Zero-Knowledge Succinct Non-Interactive Argument of Knowledge โปรโตคอล ZK-SNARK มีคุณภาพต่อไปนี้:

  • ศูนย์ความรู้: ผู้ตรวจสอบสามารถตรวจสอบความสมบูรณ์ของคำบอกโทษโดยไม่รู้อะไรเกี่ยวกับคำบอกโทษอื่น ๆ ความรู้เดียวที่ผู้ตรวจสอบมีเกี่ยวกับคำบอกโทษคือว่ามันเป็นจริงหรือเท็จ
  • สรุป: พิสูจน์ความรู้ศาสตร์เรื่องศูนย์เป็นขนาดเล็กกว่าพยานและสามารถตรวจสอบได้อย่างรวดเร็ว
  • Non-interactive: การพิสูจน์เป็น 'ไม่ต้องมีปฏิสัมพันธ์' เนื่องจากที่เฉลี่ยและผู้ตรวจสอบมีการติดต่อกันเพียงครั้งเดียวเท่านั้น ต่างจากพิสูจน์แบบมีการโต้ตอบที่ต้องการการสื่อสารหลายรอบ
  • Argument: การพิสูจน์มีความสมบูรณ์ตามที่ต้องการ 'ความถูกต้อง' ดังนั้นการทุจริยางกู้โกงเป็นไปไม่ได้
  • ของความรู้: การพิสูจน์ที่ไม่มีความรู้ไม่สามารถสร้างขึ้นได้โดยไม่ต้องการเข้าถึงข้อมูลลับ (พยาน) มันยาก ถ้าไม่ใช่ไปไม่ได้ สำหรับผู้พิสูจน์ที่ไม่มีพยานที่จะคำนวณพิสูจน์ที่ไม่มีความรู้ที่ถูกต้อง

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

Multi-party computation (MPC)

(เปิดในแท็บใหม่)

เป็นวิธีในการลดความเสี่ยงในการสร้างพารามิเตอร์สาธารณะ หลายฝ่ายเข้าร่วมงานพิธีการตั้งค่าที่เชื่อถือ

(เปิดในแท็บใหม่)

, ที่ทุกคนมีส่วนร่วมในการสร้างค่าสุ่มบางอย่างเพื่อสร้าง CRS ด้วยกัน ถ้ามีฝ่ายซื่อสัตย์อย่างน้อย 1 ฝ่ายทำลายส่วนของเอ็นโทรปี โปรโตคอล ZK-SNARK จะรักษาความพร้อมในการคำนวณ

การตั้งค่าที่เชื่อถือได้ต้องการผู้ใช้ที่จะเชื่อใจในผู้เข้าร่วมในการสร้างพารามิเตอร์ อย่างไรก็ตาม การพัฒนา ZK-STARKs ได้เปิดโอกาสให้มีโปรโตคอลการพิสูจน์ที่ทำงานกับการตั้งค่าที่ไม่ได้เชื่อถือ

ZK-STARKs

ZK-STARK คือตัวย่อของ Zero-Knowledge Scalable Transparent Argument of Knowledge ZK-STARKs คือคล้ายกับ ZK-SNARKs เพียงแต่ว่าพวกเขา:

  • Scalable: ZK-STARK เร็วกว่า ZK-SNARK ในการสร้างและตรวจสอบพรูฟเวล็บเมื่อขนาดของพยานใหญ่ขึ้น ด้วยพรูฟ STARK ช่วงเวลาการพิสูจน์และการตรวจสอบเพียงเพิ่มขึ้นเล็กน้อยเมื่อพยานขยายตัว (เวลาพิสูจน์และตรวจสอบ SNARK เพิ่มขึ้นเชิงเส้นกับขนาดของพยาน)
  • โปร: ZK-STARK ขึ้นอยู่กับความสุ่มที่สามารถตรวจสอบได้เพื่อสร้างพารามิเตอร์สาธารณะสำหรับการพิสูจน์และการตรวจสอบแทนที่จะใช้การติดตั้งที่เชื่อถือได้ ดังนั้น พวกเขาโปร่งใสมากกว่า ZK-SNARKs

ZK-STARKs สร้างหลักฐานที่มีขนาดใหญ่กว่า ZK-SNARKs ซึ่งหมายความว่าโดยทั่วไปแล้วจะมีค่าใช้จ่ายในการตรวจสอบที่สูงกว่า อย่างไรก็ตาม มีบางกรณี (เช่น การพิสูจน์ชุดข้อมูลขนาดใหญ่) ที่ ZK-STARKs อาจคุ้มค่ากว่า ZK-SNARKs

ประโยชน์การใช้ proof ที่ไม่เปิดเผย

การชำระเงินแบบไม่ระบุชื่อ

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

สกุลเงินดิจิทัลถูกสร้างขึ้นเพื่อให้ผู้ใช้สามารถทำธุรกรรมแบบ peer-to-peer ได้อย่างเป็นส่วนตัว แต่ส่วนใหญ่การทำธุรกรรมด้านสกุลเงินดิจิทัลถูกเปิดเผยอย่างชัดเจนบนบล็อกเชนสาธารณะ ตัวตนของผู้ใช้บ่อยครั้งถูกประพันธ์และเชื่อมโยงกับตัวตนในโลกแสดง (เช่น โดยการรวมที่อยู่ ETH บนโปรไฟล์ทวิตเตอร์หรือ GitHub) หรือสามารถเชื่อมโยงกับตัวตนในโลกแสดงโดยใช้การวิเคราะห์ข้อมูลพื้นฐานทั้งภายในและภายนอกโดยใช้เทคโนโลยีบล็อกเชน

มี "เหรียญความเป็นส่วนตัว" ที่ออกแบบมาสำหรับการทำธุรกรรมอย่างเป็นความลับอย่างสมบูรณ์ บล็อกเชนที่ให้ความสำคัญกับความเป็นส่วนตัว เช่น Zcash และ Monero ปกป้องรายละเอียดของธุรกรรม รวมถึงที่อยู่ผู้ส่ง/ผู้รับ ประเภทสินทรัพย์ ปริมาณ และไทม์ไลน์ของธุรกรรม

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

ศาสตร์พิสูจน์ที่ไม่ระบุข้อมูลกำลังถูกใช้ในการทำให้ธุรกรรมเป็นนิรนามบนบล็อกเชนสาธารณะ ตัวอย่างเช่น Tornado Cash เป็นบริการที่ไม่มีผู้ควบคุมแบบกระจายที่ช่วยให้ผู้ใช้สามารถดำเนินธุรกรรมเชิงส่วนบุคคลบนเอเธอเรียม Tornado Cash ใช้ศาสตร์พิสูจน์ที่ไม่ระบุข้อมูลเพื่อทำให้รายละเอียดของธุรกรรมเป็นความลับและรับประกันความเป็นส่วนตัวทางการเงิน น่าเสียดายที่เนื่องจากเครื่องมือความเป็นส่วนตัวเหล่านี้เป็นเพียง “opt-in” พวกเขามักถูกเชื่อมโยงกับกิจกรรมที่ผิดกฎหมาย ในการเอาชนะสิ่งนี้ ความเป็นส่วนตัวต้องกลายเป็นค่าเริ่มต้นในบล็อกเชนสาธารณะในที่สุด

การป้องกันตัวตน

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

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

การตรวจสอบ

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

ศิษย์โปรศักย์ศิษย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์โปรศักย์

การคำนวณที่สามารถยืนยันได้

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

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

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

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

นี่คือวิธีการทำในการปฏิบัติ

  • แทนที่จะประมวลผลทุกธุรกรรม Ethereum จะโอนการปฏิบัติงานไปยังเชนที่แยกออกมา
  • หลังจากการประมวลผลธุรกรรม โซ่อื่น ๆ จะส่งผลลัพธ์กลับเพื่อนำไปใช้กับสถานะของ Ethereum

ประโยชน์ที่นี่คือ Ethereum ไม่ต้องทำการดำเนินการใด ๆ และเพียงต้องใช้ผลลัพธ์จากการคำนวณที่เป็นเอาท์ซอร์สเข้ากับสถานะของมัน สิ่งนี้จะช่วยลดการแออัดในเครือข่ายและยังปรับปรุงความเร็วในการทำธุรกรรม (โปรโตคอลนอกเชื่อมต่อสำหรับการทำการดำเนินการอย่างรวดเร็ว)

เชื่อมโยงต้องมีวิธีการตรวจสอบธุรกรรมออกเชนโดยไม่ต้องทำใหม่ ไม่เช่นนั้นค่าของการดำเนินการออกเชนจะสูญหาย

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

ประกันความถูกต้อง) ให้การันตีว่าธุรกรรมถูกต้อง ทำให้ Ethereum สามารถนำผลลัพธ์ไปใช้กับสถานะของมันได้โดยไม่ต้องรอให้ใครมีข้อโต้แย้ง

Zero-knowledge rollupsและvalidiums are two off-chain scaling solutions that use validity proofs to provide secure scalability. These protocols execute thousands of transactions off-chain and submit proofs for verification on Ethereum. Those results can be applied immediately once the proof is verified, allowing Ethereum to process more transactions without increasing computation on the base layer.

ลดการทำสิ่งผิดในการล่วงล้ำและการละเมิดในการลงคะแนนบนเชือก

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

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

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

ตัวอย่างเช่น กลไกการจัดการทุนกำลังสอง

(เปิดในแท็บใหม่)

พึ่งพาบริจาคเพื่อวัดความชอบทางเลือกของโครงการสาธารณะบางประการ การบริจาคแต่ละรายการนับเป็น “โหวต” ให้กับโครงการเฉพาะ โดยโครงการที่ได้รับโหวตมากขึ้นจะได้รับเงินทุนมากขึ้นจากสระว่ายน้ำ

การใช้การลงคะแนนแบบ on-chain ทําให้การระดมทุนแบบกําลังสองมีความอ่อนไหวต่อการสมรู้ร่วมคิด: ธุรกรรมบล็อกเชนเป็นแบบสาธารณะ ดังนั้นผู้ติดสินบนจึงสามารถตรวจสอบกิจกรรมบนห่วงโซ่ของสินบนเพื่อดูว่าพวกเขา "ลงคะแนน" อย่างไร วิธีนี้การระดมทุนแบบกําลังสองจะหยุดเป็นวิธีที่มีประสิทธิภาพในการจัดสรรเงินทุนตามความชอบโดยรวมของชุมชน

โชคดีที่โซลูชันที่ใหม่กว่าเช่น MACI (Minimum Anti-Collusion Infrastructure) กําลังใช้หลักฐานที่ไม่มีความรู้เพื่อให้การลงคะแนนแบบ on-chain (เช่นกลไกการระดมทุนกําลังสอง) ทนต่อการติดสินบนและการสมรู้ร่วมคิด MACI เป็นชุดของสัญญาอัจฉริยะและสคริปต์ที่อนุญาตให้ผู้ดูแลระบบส่วนกลาง (เรียกว่า "ผู้ประสานงาน") เพื่อรวมคะแนนเสียงและผลลัพธ์แบบ tally โดยไม่เปิดเผยรายละเอียดเกี่ยวกับวิธีการลงคะแนนของแต่ละบุคคล ถึงกระนั้นก็ยังเป็นไปได้ที่จะตรวจสอบว่ามีการนับคะแนนอย่างถูกต้องหรือยืนยันว่าบุคคลใดบุคคลหนึ่งมีส่วนร่วมในรอบการลงคะแนน

MACI ทำงานอย่างไรกับพิสูจน์ที่ไม่เปิดเผย?

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

ใน MACI, พิสูจน์ที่ไม่รู้จักถูกใช้เพื่อให้มั่นใจในความถูกต้องของการคำนวณโดยทำให้เป็นไปไม่ได้ที่จะทำให้ผู้ประสานกระบวนการประมวลผลโหวตและรวบรวมผลลัพธ์ได้ผิด สิ่งนี้ถูกบรรลุโดยการกำหนดให้ผู้ประสานต้องสร้างพิสูจน์ ZK-SNARK ที่ยืนยันว่า a) ข้อความทั้งหมดถูกประมวลผลถูกต้อง b) ผลลัพธ์สุดท้ายสอดคล้องกับผลรวมของโหวตที่ถูกต้องทั้งหมด

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

  • Alice ลงทะเบียนเพื่อลงคะแนนเสียงโดยการส่งคีย์สาธารณะของตนเองไปยังสัญญาอัจฉริยะ
  • Aliceตกลงลงคะแนนเสียงให้กับตัวเลือก B และได้รับสินบนจาก Bob เป็นแลกเปลี่ยน
  • Alice โหวตให้กับตัวเลือก B.
  • Alice ส่งธุรกรรมที่เข้ารหัสอย่างลับเพื่อเปลี่ยนคีย์สาธารณะที่เชื่อมโยงกับเธอ
  • Alice ส่งข้อความอีกครั้ง (ที่ถูกเข้ารหัส) ไปยังสัญญาอัจฉริยะโหวตให้กับตัวเลือก A โดยใช้คีย์สาธารณะใหม่
  • Alice แสดงให้ Bob เห็นธุรกรรมที่แสดงให้เห็นว่าเธอลงคะแนนเสียงให้กับตัวเลือก B (ซึ่งไม่ถูกต้องเนื่องจากคีย์สาธารณะไม่ได้เชื่อมโยงกับเอกลักษณ์ของ Alice อีกต่อไปในระบบ)
  • ขณะที่ประมวลข้อมูลข้อความ ผู้ประสานงานข้ามการโหวตของ Alice สำหรับตัวเลือก B และนับเฉพาะการโหวตสำหรับตัวเลือก A เท่านั้น จึงพบว่า การพยายามของ Bob ในการทำร้ายกับ Alice และประสานการโหวต on-chain ล้มเหลว

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

แต่ในกรณีที่ผู้ประสานงานยังคงซื่อสัตย์ MACI เป็นเครื่องมือที่มีประสิทธิภาพสำหรับการรับประกันความบริสุทธิ์ของการลงคะแนที่บนเชือง นี้อธิบายความนิยมของมันในการใช้กับแอปลิเคชันทุนกำลังสองclr.fund

(เปิดในแท็บใหม่)

) ซึ่งขึ้นอยู่กับความน่าเชื่อถือของการเลือกตั้งของแต่ละบุคคล

เรียนรู้เพิ่มเติมเกี่ยวกับ MACI

(เปิดในแท็บใหม่)

.

ข้อเสียของการใช้พิสูจน์ที่ไม่มีความรู้

ค่าฮาร์ดแวร์

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

ต้นทุนการตรวจสอบ

การตรวจสอบพิสูจน์ยังต้องใช้การคำนวณที่ซับซ้อนและเพิ่มค่าใช้จ่ายในการนำเทคโนโลยีซิโร่-คโนวเลจไปใช้ในแอปพลิเคชัน ค่าใช้จ่ายนี้มีความสำคัญโดยเฉพาะในบริบทของการสร้างพิสูจน์ทำงาน เช่น ZK-rollups จ่าย ~ 500,000 gas เพื่อการตรวจสอบพิสูจน์ ZK-SNARK เพียงหนึ่งตัวบนเอเธอเรียม โดย ZK-STARKs ต้องการค่าธรรมเนียมที่สูงกว่า

สันทนาการในการเชื่อ

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

แต่จริงๆแล้วไม่มีวิธีใดสำหรับผู้ใช้ในการประเมินความซื่อสัตย์ของผู้เข้าร่วม และผู้ใช้ต้องเชื่อในคำพูดของนักพัฒนา ZK-STARKs มีความเชื่อถือได้โดยไม่มีการสมมติใดๆเนื่องจากความสุ่มที่ใช้ในการสร้างสตริงมีความสาธารณะที่สามารถตรวจสอบได้ ในระหว่างนี้ นักวิจัยกำลังทำงานกับการติดตั้งที่ไม่เชื่อถือได้สำหรับ ZK-SNARKs เพื่อเพิ่มความปลอดภัยของกลไกการพิสูจน์

ความเสี่ยงจากคอมพิวเตอร์ควอนตัม

ZK-SNARK ใช้วิธีการเขี้ยวโค้งทางเลขคณิต

ECDSA) สำหรับการเข้ารหัสข้อมูล ขณะที่อัลกอริทึม ECDSA เป็นปลอดภัยในปัจจุบัน การพัฒนาคอมพิวเตอร์ควอนตัมอาจทำให้ระบบรักษาความปลอดภัยของมันเสียในอนาคต

ZK-STARK ถือว่ามีความปลอดภัยจากอุปกรณ์คอมพิวเตอร์ควอนตัม เนื่องจากมันใช้การแฮชที่ป้องกันการชนกันสำหรับการเข้ารหัส ต่างจากการจับคู่คีย์สาธารณะ-ส่วนตัวที่ใช้ในวิธีการวงรีเล็กติกคิวร์ฟ การแฮชที่ป้องกันการชนกันยากกว่าสำหรับอัลกอริทึมคอมพิวเตอร์ควอนตัมที่จะแตก

ข้อปฏิเสธ:

  1. บทความนี้พิมพ์ซ้ําจาก [Ethereum]. All copyrights belong to the original author [Ethereum]. หากมีข้อขัดแย้งใด ๆ เกี่ยวกับการพิมพ์ฉบับนี้ กรุณาติดต่อ Gate Learnทีม และพวกเขาจะดำเนินการโดยเร็ว
  2. คำประกาศความรับผิด: มุมมองและความคิดเห็นที่แสดงในบทความนี้เป็นเพียงเรื่องของผู้เขียนเท่านั้น และไม่เป็นการให้คำแนะนำทางการลงทุนใด ๆ
  3. การแปลบทความเป็นภาษาอื่นๆ นี้ ทำโดยทีม Gate Learn ห้ามทำสำเนา กระจายหรือลอกเลียนบทความที่ถูกแปล นอกจากที่ได้กล่าวถึง
Розпочати зараз
Зареєструйтеся та отримайте ваучер на
$100
!