a16z เปิดตัว Lattice Jolt: พิสูจน์เร็วขึ้น 3 เท่า แถมต้านทานการโจมตีควอนตัม
Panewslabผู้เขียน: a16z crypto
เรียบเรียง: Deep Tide TechFlow
บทนำจาก Deep Tide: zkVM (เครื่องเสมือนความรู้เป็นศูนย์) มักถูกวิจารณ์ว่า "พิสูจน์ช้าและมีขนาดใหญ่เกินไป" ครั้งนี้ a16z เปลี่ยนจากเส้นโค้งวงรีเป็นแลตทิซ ทำให้ความเร็วในการพิสูจน์เพิ่มขึ้น 3 เท่า และขนาดพิสูจน์ลดลงต่ำกว่า 100KB นี่เป็นโซลูชันหลังควอนตัมเพียงตัวเดียวที่เอาชนะเส้นโค้งวงรีแบบดั้งเดิมในด้านความเร็วได้ และมีผลโดยตรงต่อต้นทุนการตรวจสอบบนเชนและแอปพลิเคชันความเป็นส่วนตัว

วันนี้เราเปิดตัว Lattice Jolt อย่างเป็นทางการ ซึ่งเป็นเวอร์ชันล่าสุดของ zkVM (เครื่องเสมือนความรู้เป็นศูนย์) แบบโอเพนซอร์สของเรา Jolt เป็น zkVM ที่เร็วที่สุดและเรียบง่ายที่สุดอยู่แล้ว และสถาปัตยกรรมของมันไม่เปลี่ยนแปลง แต่คริปโตกราฟีพื้นฐานถูกเปลี่ยนจากเส้นโค้งวงรีเป็นแลตทิซ การเปลี่ยนแปลงครั้งเดียวนี้นำมาซึ่งสามสิ่งพร้อมกัน:
- Jolt ปลอดภัยหลังควอนตัม
- ความเร็วของ prover (ผู้พิสูจน์) และ verifier (ผู้ตรวจสอบ) เพิ่มขึ้น 2-3 เท่า
- Lattice Jolt มีพิสูจน์ที่สั้นที่สุดในบรรดา zkVM หลังควอนตัมทั้งหมด: ปัจจุบันต่ำกว่า 100 KB และสามารถบีบอัดเพิ่มเติมได้อีก พิสูจน์ต้องถูกบันทึกบนเชนและส่งข้ามเครือข่าย ยิ่งพิสูจน์เล็กเท่าไหร่ ต้นทุนการตรวจสอบก็ยิ่งต่ำลง
คุณสมบัติเหล่านี้ครอบคลุมทุกกรณีการใช้งานของ zkVM prover ตัวเดียวกันสามารถประมวลผลรอบ CPU หลายพันล้านรอบบน GPU และพิสูจน์รอบหลายล้านรอบบนโทรศัพท์มือถือ ในทั้งสองกรณี นักพัฒนาเขียนโปรแกรมธรรมดา ไม่ต้องเขียนวงจรที่ต้องใช้ความรู้เฉพาะทาง นี่คือเหตุผลที่เราเรียก Jolt ว่า "SNARK อเนกประสงค์" (Succinct Non-interactive Argument of Knowledge)
แต่เรื่องที่ใหญ่กว่าคือความหมายของ Lattice Jolt ต่อการออกแบบและการนำ SNARK ไปใช้ ปัจจุบัน SNARK หลังควอนตัมเกือบทั้งหมดที่ใช้งานจริงอิงจากแฮช Lattice Jolt พิสูจน์ว่า SNARK แบบแลตทิซสามารถทำได้เร็วกว่าและกะทัดรัดกว่า ลายเซ็นดิจิทัลกำลังผ่านการเปลี่ยนแปลงแบบเดียวกัน: โซลูชันแฮชเป็นตัวเลือกอนุรักษ์นิยม แต่โซลูชันแลตทิซคือสิ่งที่โลกกำลังนำไปใช้ในวงกว้าง เราคาดว่า SNARK จะเดินตามเส้นทางนี้ และครึ่งหลังของบล็อกโพสต์นี้จะอธิบายเหตุผล
แทนที่เส้นโค้งวงรีด้วยแลตทิซ
โครงร่างการคอมมิตพหุนามก่อนหน้าของ Jolt ชื่อ Dory (โครงร่างการคอมมิตพหุนาม) เป็นส่วนประกอบเดียวในระบบที่พึ่งพาคริปโตกราฟีเส้นโค้งวงรี Lattice Jolt แทนที่ Dory ด้วย Akita ซึ่งเป็นโครงร่างการคอมมิตพหุนามใหม่ที่อิงจากสมมติฐานแลตทิซ Module-SIS (สมมติฐานแลตทิซ Module-SIS) Lattice Jolt อิงจากสมมติฐานมาตรฐานที่ได้รับการวิจัยอย่างดีนี้ โดยให้ความปลอดภัยเต็มรูปแบบ 128 บิต
Module-SIS และ Module-LWE ซึ่งเป็นญาติกัน อยู่ในตระกูลสมมติฐานเดียวกันกับที่โครงสร้างพื้นฐานดิจิทัลของโลกกำลังย้ายไปใช้ สมมติฐานเหล่านี้ไม่เพียงรองรับมาตรฐานลายเซ็นดิจิทัล ML-DSA แต่ยังรองรับมาตรฐานการสร้างกุญแจ ML-KEM ซึ่งเป็นพื้นฐาน (องค์ประกอบพื้นฐาน) หลังควอนตัมที่ถูกนำไปใช้อย่างกว้างขวางที่สุดในโลกแล้ว
การพัฒนาและการนำ Akita ไปใช้นำโดยนักวิจัยและวิศวกรจาก LayerZero โดยมีนักวิจัยจาก Carnegie Mellon University, University of Southern California และทีมวิศวกรรมและการวิจัยของเราที่ a16z crypto เข้าร่วม
ทำไม Lattice Jolt ถึงเร็วกว่า
Lattice Jolt ไม่เพียงปลอดภัยหลังควอนตัม แต่ยังเร็วกว่าเวอร์ชันเส้นโค้งวงรีที่ถูกแทนที่อีกด้วย
การเร่งความเร็วส่วนใหญ่มาจากเหตุผลง่ายๆ เส้นโค้งวงรีบังคับให้ Jolt ทำงานบนฟิลด์ 256 บิต ในขณะที่คริปโตกราฟีแลตทิซสามารถบรรลุระดับความปลอดภัยเท่ากันบนฟิลด์ 128 บิต งานหลักของ prover ของ Jolt คือการคูณองค์ประกอบฟิลด์ (โดยพื้นฐานแล้วคือการคูณตัวเลขขนาดใหญ่มาก) ดังนั้นเมื่อขนาดตัวเลขลดลงครึ่งหนึ่ง การคูณแต่ละครั้งจึงเร็วขึ้นหลายเท่า
Jolt ที่ใช้ Dory นั้นเร็วอยู่แล้ว: การอัปเดตประสิทธิภาพครั้งล่าสุดของเราแสดงให้เห็นว่า Jolt สามารถพิสูจน์รอบ RISC-V (RV64IMAC) ได้ประมาณ 700,000 รอบต่อวินาทีบนแล็ปท็อป และการปรับแต่งในภายหลังทำให้ Jolt เวอร์ชันเส้นโค้งทำได้เกิน 1 ล้านรอบต่อวินาที
Lattice Jolt บนเครื่องเดียวกันสามารถพิสูจน์ได้มากกว่า 2 ล้านรอบต่อวินาที
ในช่วงหกเดือนที่ผ่านมา เราไม่เพียงแต่ใช้เวลาพัฒนา Akita และรวมเข้ากับ Jolt แต่ยังเขียนโค้ดเบสของ Jolt ใหม่ทั้งหมดอีกด้วย ก่อนหน้านี้ Jolt ทำงานได้ดีบน GPU แต่การเขียนใหม่ครั้งนี้ทำให้การนำไปใช้บน GPU สร้างและปรับแต่งได้ง่ายขึ้น
ผลลัพธ์แรกคือการนำไปใช้กับ Apple Metal ซึ่งช่วยเร่งความเร็วอย่างมากบนฮาร์ดแวร์ของ Apple (Metal เป็นเฟรมเวิร์กของ Apple สำหรับรันโค้ดบน GPU ในตัวของอุปกรณ์เช่น MacBook และ iPhone)
- Lattice Jolt ที่เร่งด้วย GPU บน MacBook สามารถพิสูจน์รอบ RV64IMAC ได้มากกว่า 10 ล้านรอบต่อวินาที
- Lattice Jolt แบบ CPU ล้วนบนเครื่องเดียวกันสามารถพิสูจน์ได้มากกว่า 2 ล้านรอบต่อวินาที
- แม้แต่ Jolt เวอร์ชันเส้นโค้งบน MacBook ที่มี Metal ตอนนี้ก็ทำได้ประมาณ 4 ล้านรอบต่อวินาที
กล่าวคือ การเปิดตัวครั้งเดียวทำให้ Jolt บน MacBook เพิ่มจากประมาณ 1 ล้านรอบต่อวินาที (เวอร์ชันเส้นโค้ง, CPU ล้วน) เป็นมากกว่า 10 ล้านรอบต่อวินาที (เวอร์ชันแลตทิซ, พร้อม Metal)
เมื่อพิจารณาตัวเลขเหล่านี้ในบริบทที่ใหญ่ขึ้น: สี่ปีที่แล้ว เมื่อเราเขียนค่าใช้จ่ายของ SNARK prover ครั้งแรก การพิสูจน์การคำนวณมีราคาแพงกว่าการรันโดยตรงหลายล้านเท่า Lattice Jolt ลดค่าใช้จ่ายนี้ลงเหลือประมาณหนึ่งหมื่นเท่า ยังไม่จบเพียงเท่านี้ ยังมีพื้นที่สำหรับการปรับแต่งทั้งในระดับวิศวกรรมและโปรโตคอล
ขนาดพิสูจน์มีความสำคัญพอๆ กับความเร็วของ prover ที่ต่ำกว่า 100 KB พิสูจน์ของ Lattice Jolt มีขนาดเล็กกว่า zkVM หลังควอนตัมอื่นๆ มาก ซึ่งมีขนาดตั้งแต่ 200 KB ขึ้นไปจนถึงประมาณ 600 KB หรือมากกว่า
หลังจากเปลี่ยนเป็นแลตทิซ การใช้หน่วยความจำที่ยอดเยี่ยมอยู่แล้วของ Jolt ก็ดีขึ้นอีก: การใช้พื้นที่ของ prover ลดลงจากประมาณ 300 ไบต์ต่อรอบเป็น 200 ไบต์ต่อรอบ ซึ่งหมายความว่าคุณสามารถพิสูจน์รอบ RISC-V หลายล้านรอบบนโทรศัพท์มือถือได้
เอกสารวิชาการประกอบกำลังจะเผยแพร่ ซึ่งจะเพิ่มคุณสมบัติความรู้เป็นศูนย์ให้กับ Lattice Jolt ซึ่งเป็นคุณสมบัติที่จำเป็นสำหรับแอปพลิเคชันความเป็นส่วนตัว
ทำไมเลือกแลตทิซแทนแฮช
เป็นเวลาหลายปีที่ความสนใจของชุมชน SNARK (และการนำไปใช้จริงเกือบทั้งหมด) มุ่งเน้นไปที่ SNARK แบบแฮชเป็นเส้นทางสู่ความปลอดภัยหลังควอนตัม
แต่ก็มีสายการวิจัยอย่างต่อเนื่องเกี่ยวกับ SNARK แบบแลตทิซและการคอมมิตแบบแลตทิซ ครอบคลุม LaBRADOR, Greyhound, LatticeFold, SuperNeo และ Hachi ซึ่งเป็นบรรพบุรุษโดยตรงของ Akita Lattice Jolt สร้างขึ้นจากงานวิจัยเหล่านี้ โดยนำชั้นการคอมมิตแบบแลตทิซเข้าสู่สถาปัตยกรรม zkVM ประสิทธิภาพสูง พร้อมพิสูจน์ว่า SNARK แบบแลตทิซไม่มีใครเทียบได้ในด้านความเร็วและความกะทัดรัด
สิ่งนี้ไม่ควรน่าแปลกใจ ดังที่กล่าวไว้ก่อนหน้านี้ รูปแบบเดียวกันนี้เคยเกิดขึ้นกับลายเซ็นดิจิทัลมาแล้ว
นักคริปโตกราฟีสร้างลายเซ็นจากสมมติฐานมากมาย ลายเซ็นแบบแฮชมักถูกมองว่าเป็นตัวเลือกที่อนุรักษ์นิยมที่สุด: สมมติฐานความปลอดภัยของมันเรียบง่ายและเก่าแก่ แต่โลกส่วนใหญ่หันไปใช้ลายเซ็นแบบแลตทิซเพราะสั้นกว่าและเร็วกว่า:
- ลายเซ็น ML-DSA มีขนาดประมาณไม่กี่ KB
- SLH-DSA ซึ่งเป็นทางเลือกแบบแฮชที่ NIST กำหนดมาตรฐาน มีขนาดใหญ่กว่าหลายเท่า
- สำหรับการเข้ารหัสและการแลกเปลี่ยนกุญแจ สถานการณ์ชัดเจนยิ่งขึ้น: ไม่มีตัวเลือกแบบแฮชเลย (มีการพิสูจน์ว่าเป็นไปไม่ได้) และการนำไปใช้หลังควอนตัมส่วนใหญ่ใช้แลตทิซ ML-KEM (มาตรฐานการสร้างกุญแจหลักที่ NIST กำหนดในปี 2024) ถูกนำไปใช้เป็นค่าเริ่มต้นโดยเบราว์เซอร์หลักและแอปสื่อสารแล้ว และใช้ในการเชื่อมต่อ TLS จำนวนมากบนอินเทอร์เน็ต
การเปรียบเทียบระหว่าง SNARK และลายเซ็นไม่ใช่เรื่องผิวเผิน ลายเซ็นดิจิทัลโดยพื้นฐานแล้วคือการพิสูจน์ความรู้ของกุญแจส่วนตัวสำหรับข้อความที่ได้รับอนุญาต SNARK ขยายกระบวนทัศน์นี้จากข้อความแคบๆ ไปสู่การคำนวณตามอำเภอใจ ดังนั้นหากภูมิทัศน์คริปโตกราฟีระยะยาวของ SNARK แตกต่างจากลายเซ็นและการเข้ารหัสอย่างสิ้นเชิง นั่นคงเป็นเรื่องแปลก
มีความเข้าใจผิดที่ควรชี้แจง: SNARK แบบแฮชมักถูกกล่าวว่าเป็นตัวเลือกหลังควอนตัมที่อนุรักษ์นิยมเพราะ "มันพึ่งพาฟังก์ชันแฮชเท่านั้น" สิ่งนี้เป็นจริงก็ต่อเมื่อฟังก์ชันแฮชพื้นฐานไม่ใช่พีชคณิต
ปัจจุบัน การนำ SNARK แบบแฮชไปใช้ส่วนใหญ่พึ่งพาโครงสร้างแฮชพีชคณิตที่เป็นมิตรกับ SNARK (เช่น Poseidon) เพื่อพิสูจน์การประเมินแฮชอย่างถูกต้องด้วยต้นทุนต่ำ สิ่งนี้สำคัญอย่างยิ่งสำหรับการเรียกซ้ำ (ในที่นี้ การเรียกซ้ำหมายถึงการพิสูจน์ว่าคุณมีพิสูจน์ SNARK ที่ถูกต้อง) โครงสร้างเหล่านี้มีโครงสร้างมากกว่าฟังก์ชันแฮชมาตรฐาน และการวิเคราะห์คริปโตของมันยังไม่สมบูรณ์
กล่าวโดยย่อ เราไม่มั่นใจในความปลอดภัยของฟังก์ชันแฮชพีชคณิต อย่างไรก็ตาม พวกมันยังคงถูกใช้อย่างแพร่หลายในระบบ SNARK ระดับการผลิต (แต่มีสัญญาณความคืบหน้า: มูลนิธิ Ethereum ประกาศเมื่อเร็วๆ นี้ว่าจะเลิกใช้มัน)
แฮชพีชคณิตไม่ใช่สมมติฐานที่ซ่อนอยู่เพียงอย่างเดียวใน SNARK แบบแฮชที่นำไปใช้แล้ว: หลายระบบในอดีตใช้ขอบเขต proximity-gap (ช่องว่างความใกล้เคียง) แบบคาดเดาเพื่อกำหนดระดับความปลอดภัยที่เป็นรูปธรรม แทนที่จะใช้ขอบเขตที่พิสูจน์แล้วอย่างสมบูรณ์ ขอบเขตบางส่วนที่ถือว่าแข็งแกร่งที่สุดถูกพิสูจน์ในภายหลังว่าผิดพลาด
แม้แต่ SNARK แบบแฮชที่หลีกเลี่ยงการคาดเดาข้างต้น เป้าหมายความปลอดภัยของมันก็มักจะต่ำกว่า 128 บิต เนื่องจากความปลอดภัยเต็มรูปแบบ 128 บิตจะนำมาซึ่งค่าใช้จ่ายด้านประสิทธิภาพอย่างมีนัยสำคัญ ทำไม? SNARK แบบแฮชไม่สามารถบรรลุความปลอดภัย 128 บิตบนฟิลด์ 128 บิตได้ เนื่องจากข้อผิดพลาดด้านความสมบูรณ์ของมันปรับตาม n/|F| โดยที่ n คือขนาดโดยประมาณของข้อความที่ถูกพิสูจน์ และ |F| คือขนาดฟิลด์ ดังนั้นการพิสูจน์ข้อความหนึ่งพันล้านขั้นตอนบนฟิลด์ 128 บิตจะสูญเสียความปลอดภัยประมาณ 30 บิต ทำให้ต่ำกว่า 100 บิต ในทางตรงกันข้าม ข้อผิดพลาดด้านความสมบูรณ์ของ Lattice Jolt ปรับตาม log(n)/|F| ซึ่งรักษาความปลอดภัยเกือบเต็ม 128 บิตบนฟิลด์เดียวกัน (การสูญเสีย log(n) เล็กน้อยสามารถกู้คืนได้ด้วยเทคนิคมาตรฐาน)
น่าขันที่ระบบบางระบบที่โฆษณาว่าเป็นตัวเลือกหลังควอนตัม "อนุรักษ์นิยม" แท้จริงแล้วพึ่งพาฟังก์ชันแฮชพีชคณิต ขอบเขต proximity-gap แบบคาดเดา และระดับความปลอดภัยเป้าหมายที่ต่ำกว่า 128 บิตพร้อมกัน ดังนั้น แม้ว่า SNARK แบบแฮชจะเป็นทิศทางที่สำคัญ แต่ก็ไม่ได้เป็นตัวเลือกความเสี่ยงต่ำอย่างที่หลายคนคิดโดยอัตโนมัติ
Jolt หนึ่งเดียว สามรากฐาน: เส้นโค้ง แลตทิซ และแฮช
เราเชื่อเสมอว่า Jolt ไม่ควรถูกผูกติดกับรากฐานคริปโตกราฟีเดียว เราควรมี SNARK ที่สมบูรณ์และมีประสิทธิภาพสูงบนพื้นฐานของเส้นโค้ง แฮช และแลตทิซ สมมติฐานและคุณลักษณะด้านประสิทธิภาพที่แตกต่างกันจะเหมาะกับสถานการณ์ที่แตกต่างกัน
แต่หากใช้ลายเซ็นดิจิทัลเป็นข้อมูลอ้างอิง SNARK แบบแลตทิซจะกลายเป็นตัวเลือกหลังควอนตัมที่ถูกนำไปใช้อย่างกว้างขวางที่สุด
Jolt อยู่ในตำแหน่งที่ได้เปรียบอย่างไม่ธรรมดาในการเปลี่ยนแปลงนี้ การออกแบบ Jolt ดั้งเดิมใช้ประโยชน์จากคุณสมบัติของเส้นโค้งวงรีที่มีประโยชน์อย่างยิ่งสำหรับการคอมมิต รวมถึงการคอมมิตเวกเตอร์แบบกระจายอย่างรวดเร็ว การคอมมิตแบบแลตทิซมีคุณสมบัติเดียวกัน: เมื่อเวกเตอร์ส่วนใหญ่มีค่าเป็นศูนย์หรือมีขนาดเล็ก ต้นทุนในการคอมมิตเวกเตอร์จะต่ำ และ Jolt แทบจะคอมมิตเฉพาะเวกเตอร์ประเภทนี้เท่านั้น คุณสมบัตินี้ทำให้เราสามารถแทนที่ Dory ด้วย Akita ได้ โดยที่ส่วนที่เหลือของ Jolt ยังคงไม่เปลี่ยนแปลง
เราจะสร้าง Jolt เวอร์ชันแฮช แต่เมื่อเทียบกับ Jolt แบบเส้นโค้งและแบบแลตทิซ เวอร์ชันแฮชมีประสิทธิภาพด้านพื้นที่แย่กว่า พิสูจน์ใหญ่กว่า และมีปัญหาความซับซ้อนต่างๆ เนื่องจาก SNARK แบบแฮชที่มีแนวโน้มมากที่สุดทำงานบนฟิลด์ไบนารี ระบบตัวเลขนี้สะดวกสำหรับการพิสูจน์การประเมินแฮช แต่ไม่ตรงกับวิธีการคำนวณของ CPU ความไม่ตรงกันนี้ทำให้การพิสูจน์การคูณ CPU ธรรมดามีราคาแพง ถึงกระนั้น ระบบนิเวศก็ควรมี zkVM ภายใต้ตระกูลสมมติฐานหลักทุกตระกูล เช่นเดียวกับในโลกของลายเซ็นดิจิทัล
SNARK อเนกประสงค์
Lattice Jolt ตอบสนองทุกความต้องการของผู้สร้างสำหรับ zkVM ในครั้งเดียว: หลังควอนตัม โปร่งใส รวดเร็ว กะทัดรัด และมีประสิทธิภาพด้านพื้นที่ มันนำสายการวิจัย SNARK แบบแลตทิซจาก LaBRADOR ถึง Hachi มาสู่ zkVM ระดับการผลิต โดยไม่ละทิ้งข้อได้เปรียบใดๆ ที่ทำให้ Jolt รวดเร็วตั้งแต่แรก
เป้าหมายของเราไม่เพียงแต่เปิดซอร์ส zkVM ที่มีประสิทธิภาพสูงสุดให้ใครก็ได้ใช้ แต่ยังลดความจำเป็นในการปรับแต่ง SNARK ด้วยมือสำหรับแอปพลิเคชันเฉพาะอย่างมาก สิ่งนี้ไม่ต้องการให้ Jolt เร็วเท่ากับ prover ที่ปรับแต่งด้วยมือ นั่นเป็นเป้าหมายที่เป็นไปไม่ได้ เช่นเดียวกับการเรียกร้องให้ CPU เทียบเท่า ASIC เฉพาะทางในทุกงาน มันเพียงต้องการให้ Jolt เร็วพอที่จะมอบประสบการณ์ผู้ใช้ที่ยอมรับได้
สำหรับข้อความ "เล็ก" ที่เกี่ยวข้องกับการพิสูจน์ฝั่งไคลเอ็นต์ (ซึ่งวงจรที่ปรับแต่งด้วยมือครองตลาดอยู่ในปัจจุบัน) เกณฑ์สำคัญคือการสร้างพิสูจน์บนโทรศัพท์มือถือภายในเวลาประมาณหนึ่งวินาที Jolt ใกล้จะบรรลุเป้าหมายนี้แล้ว และยังมีแผนการเร่งความเร็วอีกมากมายที่กำลังดำเนินการอยู่
ยุคของ SNARK แบบแลตทิซมาถึงแล้ว
เนื้อหานี้จัดทำขึ้นโดยมีวัตถุประสงค์เพื่อแจ้งข้อมูลและให้ความรู้เท่านั้น และไม่ถือว่าเป็นคำแนะนำด้านการลงทุนที่เกี่ยวข้องกับ BTCC แต่อย่างใด BTCC ใช้ความพยายามอย่างเต็มที่ แต่ไม่สามารถรับประกันความจริงแท้ ความถูกต้อง หรือความเป็นต้นฉบับของเนื้อหาข้างต้นได้