บทสรุปของ Fflonk

Dec 28 2022
ระบบพิสูจน์ Plonk ซึ่งเปิดตัวในปี 2019 สรุปชุดของพหุนามวงจรที่สมบูรณ์ หลังจากนั้น ประตูแบบกำหนดเองและตารางการค้นหาจะถูกเพิ่มในระบบ Plonk

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

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

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

(2) ความซับซ้อนในการตรวจสอบของความมุ่งมั่นของ Dan นั้นเกี่ยวข้องกับจำนวนของพหุนามเท่านั้น แต่ไม่ใช่จำนวนของจุดเปิด ในกรณีที่ไม่มีเกทและตารางค้นหาแบบกำหนดเอง ระบบ Plonk ใช้ความมุ่งมั่นของ KZG ในการตรวจสอบความซับซ้อนของแผนที่สองเส้น 2 แผนที่และการดำเนินการหลายจุด 16 รายการ

สำหรับข้อผูกพันของ KZG และข้อผูกพันของ Dan หากใช้ตารางการค้นหาและเทคนิคเกทแบบกำหนดเอง การคำนวณหลายจุดจะเพิ่มขึ้นอีก

(3) การใช้ Fflonk เพื่อรวมพหุนามหลายตัวเป็นพหุนามเดียว จากนั้นจึงใช้ Dan Commitment ระบบ Plonk ต้องการเพียง 2 bilinear map และ 5 multipoint operation นอกจากนี้ ด้วยตารางการค้นหาและเกตที่กำหนดเอง ความซับซ้อนของการตรวจสอบจะไม่เพิ่มขึ้นและคงที่ ดังนั้น เทคโนโลยีของ Fflonk ร่วมกับความมุ่งมั่นของ Dan จึงเป็นทางออกที่ดีที่สุดในระบบ Plonk

มันทำงานอย่างไร

Fflonk แปลง m พหุนาม f1(X),…,fm(X) เปิด n จุด a1,…,an เป็น 1 พหุนาม F(X) เปิด m*n จุด b1,…,b_n*m

หลักการมีดังนี้: เรากำหนดตัวดำเนินการและจัดกลุ่มเข้าด้วยกันและแยกย่อยพหุนาม "FFT style":

โปรดทราบว่าสิ่งเหล่านี้เป็นการดำเนินการแบบฉีดและผกผัน นั่นคือสำหรับใด ๆ

สัญกรณ์เกี่ยวกับราก

บทแทรกอย่างง่ายต่อไปนี้เป็นพื้นฐานของโครงร่างของเรา

จากนั้นแปลง 1 พหุนาม F(X) เปิดจุด n*m b1,…,b_n*m เป็นพหุนาม L(X) เท่ากับ 1 จุดเปิด 1 จุด

โดยมีหลักการดังนี้

โดยสรุป ในที่สุดเราก็ลดความซับซ้อนลงเป็น 1 พหุนาม L(X) เปิด 1 จุด a ซึ่งสามารถคอมมิตได้โดยใช้ระบบคอมมิต KZG

สำหรับรายละเอียดเพิ่มเติม โปรดอ่านเอกสาร ต้นฉบับ และวิดีโอและยินดีที่จะพูดคุยที่นี่