ปรัชญาการออกแบบระบบ Eigen Proof
มุมมองของ Eigen: Eigen Network มุ่งเน้นไปที่การส่งมอบมิดเดิลแวร์และเครือข่ายที่ปรับปรุงความเป็นส่วนตัวให้กับนักพัฒนาฟูลสแตก ดังนั้น อนาคตแรกของระบบการพิสูจน์ในอุดมคติของเราควรให้การคำนวณการพิสูจน์ที่เป็นมิตรต่อความเป็นส่วนตัวของผู้ใช้ ซึ่งหมายความว่าการพิสูจน์ควรมีราคาถูก (เหมาะสำหรับ CPU) และโปร่งใส ประการที่สอง ต้นทุนการยืนยันบน Ethereum blockchain ยิ่งต่ำก็ยิ่งดี
การวิเคราะห์ระบบพิสูจน์ที่มีอยู่
เลขคณิต:เลขคณิตคือกระบวนการแปลงคำสั่ง Computation Integrity (CI) ให้เป็นภาษาพีชคณิตที่เป็นทางการ ขั้นตอนนี้มีวัตถุประสงค์สองประการ ประการแรก นำเสนอคำสั่ง CI ในลักษณะที่ชัดเจนและรัดกุม ประการที่สอง การฝังคำสั่ง CI ในโดเมนเกี่ยวกับพีชคณิตสำหรับการแปลงพหุนามหลังเป็นฐานรอง ในปัจจุบัน เลขคณิต Halo2 เป็นผู้ใหญ่ที่สุด มีการใช้เกตที่กำหนดเองและตารางการค้นหา
เกทแบบกำหนดเอง:เกทแบบกำหนดเองช่วยลดขนาดของวงจร (จำนวนเกท) ลงได้อย่างมาก และเพิ่มความยืดหยุ่นในการออกแบบวงจร ในทางปฏิบัติ การดำเนินการหลายอย่าง เช่น การบวกจุดและการคูณสเกลาร์บนเส้นโค้งวงรี สามารถสร้างเป็นเกทแบบกำหนดเองได้
ตารางการค้นหา:สำหรับการดำเนินการที่ใช้กันทั่วไป ตารางการค้นหาของชุดค่าผสมที่ถูกต้อง (อินพุต, เอาต์พุต); และผู้พิสูจน์โต้แย้งค่าของพยานที่มีอยู่ในตารางนี้ ช่วยลดวงจรเกทสำหรับฟังก์ชันแฮช sha256 หรือ keccak ลงได้อย่างมาก โดยมีค่าใช้จ่ายจากความซับซ้อนในการตรวจสอบที่เพิ่มขึ้นเล็กน้อย ในการปรับใช้ zkEVM เราต้องใช้ตารางค้นหาเพื่อใช้ฟังก์ชันการอ่านและเขียนหน่วยความจำ
ระบบการพิสูจน์: การพิสูจน์ด้วยความรู้เป็นศูนย์เป็นวิธีการที่ฝ่ายหนึ่ง (ผู้พิสูจน์) สามารถพิสูจน์ให้อีกฝ่ายหนึ่ง (ผู้ตรวจสอบ) เห็นว่าข้อความที่ระบุเป็นความจริง ในขณะที่ผู้พิสูจน์หลีกเลี่ยงการให้ข้อมูลเพิ่มเติมนอกเหนือจากข้อเท็จจริงที่ว่าข้อความนั้นเป็นความจริง จริงอยู่ ความมุ่งมั่นเป็นสิ่งสำคัญมากในการพิสูจน์ความรู้เป็นศูนย์ ในปัจจุบัน แผนความมุ่งมั่นที่ได้รับความนิยมสูงสุด ได้แก่ ความมุ่งมั่นของ KZG ความมุ่งมั่นของ Merkle (หรือการตรวจจับระดับต่ำพหุนาม FRI) และความมุ่งมั่นของผลิตภัณฑ์ภายในเวกเตอร์ (IPA)
Recursive Zero-knowledge Proofแบ่งออกเป็นสองชั้น: ชั้นล่างและชั้นบนสุด ชั้นล่างประกอบด้วยชั้นการเรียกซ้ำ วัตถุประสงค์ของแต่ละชั้นมีดังนี้ (1) ชั้นล่างสุด: ยิ่งเร็วยิ่งดี; (2) เลเยอร์บนสุด: ยิ่งขนาดการพิสูจน์มีขนาดเล็กลงเท่าใดก็ยิ่งดีเท่านั้น และความซับซ้อนในการคำนวณก็จะยิ่งน้อยลงเท่านั้น
จากกระดาษ Plonk:m = จำนวนสาย, n = จำนวนประตูการคูณ, a = จำนวนประตูการบวก, P = การจับคู่, l = จำนวนอินพุตผับ
(1) ตามตารางที่ 1 เรามุ่งเน้นไปที่ขนาดการพิสูจน์พารามิเตอร์และตรวจสอบเวลา KZG ดีที่สุด IPA เป็นอันดับสอง และ FRI แย่ที่สุด (2) ตามตารางที่ 2 เรามุ่งเน้นไปที่ขนาดหลักฐานและเวลาการตรวจสอบ Groth16 เหนือกว่าระบบพิสูจน์ Plonk (ความมุ่งมั่นของ Kate) เนื่องจากการตั้งค่าระบบ Groth16 ไม่เป็นสากล จึงไม่สามารถใช้โดยตรงใน zkVM หรือ zkEVM
นอกเหนือจาก zkVM เป็นเลเยอร์การคำนวณทางคณิตศาสตร์แล้ว สำหรับบางสถานการณ์ เช่น DEX ส่วนตัว, zk KYC หรือการพิสูจน์ความสมบูรณ์ของข้อมูล ซึ่งไม่ต้องการ zkVM ในที่สุด เราก็เลือกระบบพิสูจน์ Plonk เป็นเลเยอร์บนสุด
Eigen Network ยังมีผลงานก่อนหน้านี้ในการสร้างหลักฐานการรวมและเปิดใช้งานการเร่งความเร็ว GPU (และจะสนับสนุนffplonkเพื่อลดต้นทุนก๊าซในอนาคต)
(1) ตามตารางที่ 2 การตั้งค่า Groth16 ไม่เป็นสากลและไม่รองรับการเรียกซ้ำที่เป็นมิตร ดังนั้นเราจึงไม่รวมไว้ ระบบ Plonk มีปัญหาเหมือนกัน ดังนั้นเราจึงปฏิเสธมันเช่นกัน (2) FRI และ IPA นั้นง่ายมากในเลเยอร์แบบเรียกซ้ำ เนื่องจากระบบ FRI ใช้เทคนิคการเพิ่มประสิทธิภาพกลุ่มแบบพิเศษ ความเร็วในการพิสูจน์จึงเร็วกว่า ดังนั้นเราจึงเลือกระบบ FRI ในชั้นล่างสุด
ที่นี่เรารู้สึกตื่นเต้นมากที่จะประกาศว่าเราสร้างRusty pil-stark ตัวแรก (จาก Polygon Hermez)และรองรับการผสานแบบขนานและ FFT แบบขนาน
สถาปัตยกรรมระบบพิสูจน์ Eigen แสดงในรูปที่ 1
ระบบพิสูจน์ FRI ตามฟิลด์ Goldilocks มีความเร็วในการพิสูจน์ที่เร็วที่สุด ซึ่งทำให้เวลาพิสูจน์ระบบสั้นที่สุด และให้ประสบการณ์ที่ดีที่สุดแก่ผู้ใช้ ระบบ Plonk มีขนาดการพิสูจน์ที่เล็กที่สุดและความซับซ้อนในการตรวจสอบต่ำที่สุด ซึ่งทำให้ระบบมีก๊าซกักเก็บต่ำที่สุดและมีการใช้ก๊าซในการตรวจสอบต่ำที่สุด ดังนั้น ระบบพิสูจน์ Eigen จึงรวมข้อดีของทั้งสองระบบเข้าด้วยกัน และเป็นระบบพิสูจน์ที่ดีที่สุดในสนาม zk
ขณะนี้เราได้เปิดแหล่ง ที่มาของระบบการพิสูจน์ในeigen-zkvm ตรวจสอบ readme และลองใช้ตัวอย่าง Fibonacci
กำลังปิด
เราได้ทำ MVP ของระบบพิสูจน์เลเยอร์ของเราเสร็จแล้ว และได้ย้าย zkVM ของ Hermez ไปยัง ระบบพิสูจน์ของเรา ตัวอย่างแบบเต็มสามารถดูได้ที่นี่: zkVM บน Eigen Layered Proof System
แต่มีความท้าทายใหม่เกิดขึ้น เนื่องจากหลายเลเยอร์นำมาซึ่งการคำนวณทางคณิตศาสตร์ที่หลากหลาย โดยเฉพาะอย่างยิ่งเมื่อพิสูจน์ zkVM ดังนั้นวิธีทำให้เฟสเลขคณิตขนานกันจึงเป็นงานสำคัญต่อไปของเรา





































![รายการที่เชื่อมโยงคืออะไร? [ส่วนที่ 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)