ชื่อเดิม: กระบวนทัศน์ใหม่ในการออกแบบ ZK-ASIC แนวทางของ zkVM
ผู้เขียนต้นฉบับ: ทีม Cysic
บทความนี้เรียบเรียงโดย: Loopy
ขอขอบคุณ Justin Drake และ Luke Pearson สำหรับการสนทนาอย่างลึกซึ้ง
การสร้างการพิสูจน์ความรู้เป็นศูนย์แบบเรียลไทม์จำเป็นต้องมีการเร่งด้วยฮาร์ดแวร์ตั้งแต่ต้นทางถึงปลายทาง zkVM ไม่เพียงแต่ทำให้การออกแบบ ZK ASIC ง่ายขึ้นเท่านั้น แต่ยังช่วยให้มีประสิทธิภาพที่สูงขึ้นและต้นทุนฮาร์ดแวร์ที่ลดลงอีกด้วย
Zero-Knowledge Proofs (ZKP) อนุญาตให้ฝ่ายหนึ่ง (ผู้พิสูจน์) พิสูจน์ต่ออีกฝ่าย (ผู้ตรวจสอบ) ว่าข้อความบางอย่างเป็นจริงโดยไม่ต้องเปิดเผยข้อมูลใด ๆ นอกเหนือจากความถูกต้องของข้อความนั้นเอง
Silvio Micali หนึ่งในผู้ประดิษฐ์การพิสูจน์ความรู้เป็นศูนย์ (เขาร่วมคิดค้นมันกับ Goldwasser และ Rackoff) กล่าวว่าเช่นเดียวกับการเข้ารหัสทำให้ข้อมูลสับสน การพิสูจน์ความรู้เป็นศูนย์ก็ทำให้การคำนวณสับสนเช่นกัน โดยเฉพาะอย่างยิ่ง อัลกอริธึมการเข้ารหัส (เช่น AES หรือ RSA) จะแปลงข้อมูลเป็นไซเฟอร์เท็กซ์ที่เกี่ยวข้อง ซึ่งจะซ่อนข้อมูลที่ซ่อนอยู่ การพิสูจน์ความรู้แบบศูนย์จะแปลงการอ้างสิทธิ์ทางคอมพิวเตอร์เป็นข้อพิสูจน์ที่ไม่เพียงแต่ซ่อนรายละเอียดของการคำนวณ แต่ยังตรวจสอบความถูกต้องของการอ้างสิทธิ์ด้วย
ZKP มีคุณสมบัติที่ดีสองประการ - ไม่มีความรู้และความเรียบง่าย นอกจากนี้ยังทำให้เป็นหนึ่งในวิธีการเข้ารหัสลับระดับสูงที่ใช้กันอย่างแพร่หลายที่สุด
การไม่มีความรู้หมายความว่าการพิสูจน์นั้นไม่ได้เปิดเผยข้อมูลใดๆ เกี่ยวกับกระบวนการคำนวณหรืออินพุตส่วนตัว คุณลักษณะนี้มีประโยชน์มากสำหรับการสร้างแอปพลิเคชันที่เน้นความเป็นส่วนตัว ตัวอย่างเช่น Aleo สามารถซ่อนรายละเอียดธุรกรรมได้ ซึ่งต่างจาก Bitcoin, Ethereum และเครือข่ายสาธารณะอื่น ๆ
ความเรียบง่ายหมายถึงการพิสูจน์ที่มีขนาดเล็กและเวลาการตรวจสอบที่สั้น ซึ่งหมายความว่ากระบวนการคำนวณที่ซับซ้อนสามารถแปลงเป็นข้อมูลชิ้นเล็กๆ ได้ (เช่น "การพิสูจน์", "การพิสูจน์") และสามารถตรวจสอบได้เกือบจะในทันทีบนอุปกรณ์คอมพิวเตอร์ที่อ่อนแอ (เช่น โทรศัพท์มือถือ หรือแม้แต่ Raspberry Pi) คุณลักษณะนี้มีประโยชน์อย่างยิ่งเมื่อปรับขนาด Ethereum เนื่องจากเราสามารถแปลงการคำนวณ EVM ที่สอดคล้องกับธุรกรรม 1,000 รายการให้เป็นหลักฐานขนาดเล็ก จากนั้นเผยแพร่หลักฐานนี้บน Ethereum หากหลักฐานเล็กๆ น้อยๆ (อาจเพียง 100 ไบต์) ได้รับการตรวจสอบโดย Ethereum แล้ว ธุรกรรมทั้งหมด 1,000 รายการจะได้รับการยืนยันในที่สุด บล็อกเชนส่วนตัวและโซลูชันการปรับขนาดเป็นเพียงสองตัวอย่างหนึ่งของความนิยม ZKP ในชุมชนบล็อกเชน โปรเจ็กต์ ZK จำนวนมากสามารถสร้างได้โดยใช้คุณลักษณะหลักทั้งสองนี้ เช่น ตัวประมวลผลร่วม ZK, บริดจ์ ZK, การเรียนรู้ของเครื่อง ZK (ZKML)
อุปสรรคสำคัญในการปรับใช้ ZKP ในวงกว้างคือความต้องการเวลาและทรัพยากรในการคำนวณอย่างมากในระหว่างการสร้างหลักฐาน
โดยทั่วไปแล้ว การคำนวณที่ซับซ้อนมากขึ้นต้องใช้เวลาและทรัพยากรมากขึ้น ตัวอย่างเช่น ใน Daniel Kang และโปรเจ็กต์ ZKML ของทีม การสร้างการพิสูจน์สำหรับการอนุมาน GPT-2 ใช้เวลามากกว่า 9000 วินาทีโดยใช้ CPU 64 เธรดอันทรงพลัง ในทางกลับกัน การสร้างการพิสูจน์สำหรับวงจร ZK-EVM ใน Scroll ต้องใช้ RAM มากกว่า 280 GB
เนื่องจากข้อกำหนดด้านทรัพยากรที่ห้ามปรามเหล่านี้ ชุมชนจึงกำลังมองหาฮาร์ดแวร์ที่มีประสิทธิภาพมากขึ้นซึ่งออกแบบมาเพื่อการคำนวณ ZK (เรียกว่าการสร้างหลักฐาน) ตัวเลือกฮาร์ดแวร์ ได้แก่ CPU, GPU, FPGA และ ASIC ตัวเลือกเหล่านี้มีตั้งแต่ที่มีอยู่ในขณะนี้ไปจนถึงการมีระยะเวลารอคอยที่ไม่แน่นอน
CPU มักถูกพิจารณาว่าเป็นการใช้งานพื้นฐานเพื่อเปรียบเทียบกับตัวเลือกอื่นๆ อีกสามตัวเลือก มีตัวบ่งชี้ทั่วไปสองตัวของการเร่งความเร็วด้วยฮาร์ดแวร์ ต่อไปนี้เป็นคำอธิบายที่ใช้งานง่าย:
CPU มักถูกพิจารณาว่าเป็นการใช้งานพื้นฐานเพื่อเปรียบเทียบกับตัวเลือกอื่นๆ อีกสามตัวเลือก มีตัวบ่งชี้ทั่วไปสองตัวของการเร่งความเร็วด้วยฮาร์ดแวร์ ต่อไปนี้เป็นคำอธิบายที่ใช้งานง่าย:
- ประสิทธิภาพต่อดอลลาร์: หมายความว่าผู้ใช้ต้องจ่ายเท่าใดเพื่อซื้อฮาร์ดแวร์นี้ การตัดสินใจซื้อขึ้นอยู่กับหลายปัจจัย อย่างน้อยที่สุดก็คือประสิทธิภาพสูงสุดด้วยจำนวนเงินที่เท่ากัน โดยพื้นฐานแล้ว ตัวชี้วัดนี้จะวัดความคุ้มทุนของฮาร์ดแวร์ โดยทั่วไป หากใช้กระบวนการขั้นสูงกว่าในการผลิตชิป เราก็จะได้รับประสิทธิภาพที่สูงขึ้น แต่มีแนวโน้มที่จะมีราคาแพงกว่า
- ประสิทธิภาพต่อวัตต์: ซึ่งหมายความว่าต้องใช้พลังงานเท่าใดในการใช้งานฮาร์ดแวร์นี้ ตัวอย่างเช่น เครื่องขุด Bitcoin รุ่นล่าสุดของ Bitmain รุ่น T 21 ใช้เพียง 19 จูลในการคำนวณ 1 TH ซึ่งมีประสิทธิภาพเหนือกว่าผลิตภัณฑ์ของคู่แข่ง
ข้อดีของผลิตภัณฑ์ส่วนใหญ่ขึ้นอยู่กับปัจจัยสองประการข้างต้น รวมถึงปัจจัยที่ไม่ใช่ด้านเทคนิค (เช่น การรับประกันและมูลค่าคงเหลือ) โดยทั่วไปแล้ว ฮาร์ดแวร์ที่ใช้ ASIC จะมีประสิทธิภาพเหนือกว่าอีกสามหมวดหมู่ในการวัดทั้งสองนี้ เนื่องจากลักษณะที่ปรับแต่งได้
ลองจินตนาการว่าขณะนี้ ZK ASIC เฉพาะทางได้รับการออกแบบมาให้มีประสิทธิภาพที่ดีขึ้นอย่างมากต่อดอลลาร์และต่อวัตต์มากกว่า GPU และ FPGA ที่มีอยู่ ASIC นี้สามารถรองรับโมดูลต่างๆ ได้ เช่น การคูณหลายสเกลาร์ (MSM) การแปลงทางทฤษฎีจำนวน (NTT) ต้นไม้ Merkle ฯลฯ แต่เราจะรวมฮาร์ดแวร์นี้เข้ากับกลุ่มเทคโนโลยีปัจจุบันได้อย่างไร
แนวทางที่พบบ่อยที่สุดคือการแทนที่การคำนวณที่สอดคล้องกันในโค้ด CPU ด้วยส่วนประกอบการเร่งความเร็ว ซึ่งเป็นการแทนที่ง่ายๆ ที่มักจะล้มเหลวในการเร่งความเร็วประสิทธิภาพที่น่าพอใจ เราได้เผยแพร่ข้อค้นพบของเราเกี่ยวกับแนวทางนี้ที่ ethCC'23 (รายละเอียดเพิ่มเติมใน ทวีต นี้)
การเปรียบเทียบประสิทธิภาพของ CPU และ FPGA/CPU
เรามีความก้าวหน้าอย่างมากเมื่อเทียบกับประสิทธิภาพของ CPU โดยใช้การผสมผสานระหว่าง CPU และเครื่อง FPGA แบบกำหนดเองของเรา แต่ประสิทธิภาพยังห่างไกลจากเป้าหมายสูงสุด นั่นคือการพิสูจน์ ZK แบบเรียลไทม์
ประสิทธิภาพที่ต่ำกว่านี้เกิดจากกฎของ Amdahl และต้นทุนการโต้ตอบระหว่างส่วนประกอบฮาร์ดแวร์ต่างๆ กฎของอัมดาห์ลแสดงให้เห็นว่าการปรับปรุงประสิทธิภาพโดยรวมที่ได้จากการปรับส่วนใดส่วนหนึ่งของระบบให้เหมาะสมนั้นมีจำกัด และยิ่งเลวร้ายลงอีกด้วยต้นทุนการสื่อสารระหว่างโมดูลฮาร์ดแวร์ต่างๆ (ที่มา: Wikipedia ) เพื่อให้บรรลุการเร่งความเร็วอย่างมีนัยสำคัญเมื่อเทียบกับ CPU ทุกส่วนประกอบที่เป็นไปได้จะต้องได้รับการเร่งความเร็วบนฮาร์ดแวร์ชิ้นเดียว
อย่างไรก็ตาม เนื่องจากอัลกอริธึม ZK ที่หลากหลาย (โดยเฉพาะ อัลกอริธึม ZK อ้างถึงการดำเนินการคำนวณในการสร้างหลักฐาน ZK) จึงดูเหมือนเป็นไปไม่ได้ ตัวอย่างเช่น ภาพหน้าจอ Twitter ด้านบนแสดงวงจร ZK สามวงจร ได้แก่ Poseidon Hash, EVM และ GPT-2 แม้ว่าจะใช้แบ็กเอนด์พิสูจน์เดียวกัน (Halo 2-KZG) แต่การคำนวณยังคงแตกต่างกันมาก โดยเฉพาะอย่างยิ่งในส่วนการสร้างพยาน ภาพหน้าจอยังไม่รวมแบ็กเอนด์พิสูจน์ที่แตกต่างกัน (เช่น Plonky 2/3 และ Gnark)
ประเด็นที่เราต้องการทำที่นี่คือฮาร์ดแวร์จำเป็นต้องมีความหลากหลายเพียงพอที่จะรองรับการดำเนินการประมวลผลบนชิปต่างๆ ของอัลกอริธึม ZK ความเก่งกาจนี้สามารถทำได้ผ่านโครงสร้างไฮบริดของ FPGA และ ASIC ตามที่เราเสนอใน ทวีต ปี 2022 นี้:
สถาปัตยกรรมไฮบริด FGPA-ASIC
ในสถาปัตยกรรมไฮบริดนี้ ASIC จะดำเนินการทั่วไป ในขณะที่ FPGA ดำเนินการคำนวณเฉพาะวงจร อุปกรณ์ฮาร์ดแวร์ทั้งสองจะติดตั้งอยู่บนบอร์ด PCB เดียวกันและเชื่อมต่อผ่านช่อง SerDes แบนด์วิธสูง อีกทางหนึ่ง แกน CPU บนชิป เช่น ที่ใช้ RISC-V หรือ ARM ก็สามารถใช้เพื่อวัตถุประสงค์ที่คล้ายกันได้ วิธีการแบบไฮบริดเหล่านี้มักมีข้อกำหนดที่สูงมากในด้านต้นทุนและคุณภาพการผลิต ตลอดหกเดือนที่ผ่านมา เราได้ถามตัวเองว่า:
"ไฮบริด" เป็นโครงสร้างที่ดีที่สุดที่เรานึกออกหรือไม่? เราสามารถพึ่งพาความก้าวหน้าทางเทคโนโลยีจากชุมชน ZK เพื่อปรับปรุงการออกแบบของเราได้หรือไม่? ด้านล่างนี้ เรามีคำตอบเชิงบวกสำหรับคำถามข้างต้น
ก่อนที่เราจะลงรายละเอียดทางเทคนิค ก่อนอื่นเราต้องครอบคลุมพื้นฐานบางประการเกี่ยวกับ Zero-Knowledge Proofs (ZKP) กระบวนการสร้างการพิสูจน์โดยทั่วไปของระบบการพิสูจน์ Plonkish สามารถแบ่งออกเป็นขั้นตอนต่อไปนี้ (สำหรับการวิเคราะห์โดยละเอียดของการสร้างการพิสูจน์ โปรดอ่าน บล็อก นี้โดยใช้ Scroll):
- บันทึกพยาน: พยานหรือที่เรียกว่าการติดตาม หมายถึงข้อมูลบางอย่างที่แสดงให้เห็นว่าเหตุใดข้อความจึงเป็นจริงร่วมกับข้อมูลอื่นๆ การบันทึกทำได้ผ่านเมทริกซ์สองมิติที่เรียกว่าตารางการติดตาม แต่ละรายการในตารางนี้เป็นองค์ประกอบของเขตข้อมูลที่มีขอบเขตจำกัด กระบวนการเติมข้อมูลในตารางการติดตามเรียกว่า "การสร้างพยาน" และต้องมีการวนซ้ำแต่ละเซลล์ในตารางและกรอกค่าที่ถูกต้อง กระบวนการนี้จำเป็นต้องมีการดำเนินการทางคณิตศาสตร์ในฟิลด์ที่มีขอบเขตจำกัด และได้รับการปรับแต่งสำหรับวงจร ZK ที่เฉพาะเจาะจง
- ส่งพยาน: หลังจากสร้างพยานแล้ว เราจะได้ตารางการติดตามซึ่งแต่ละคอลัมน์จะถูกตีความว่าเป็นพหุนามผ่านการประมาณค่าแบบลากรองจ์ พหุนามเหล่านี้สามารถถูกคอมมิตโดยใช้กลไกการคอมมิตที่แตกต่างกัน เช่น KZG และ FRI การคำนวณหลักที่เกี่ยวข้องในที่นี้ ได้แก่ การคูณพหุนาม (MSM) การแปลงทางทฤษฎีจำนวน (NTT) กำลังสองพหุนาม และต้นไม้ Merkle สิ่งนี้กลายเป็นปัญหาคอขวดสำหรับการสร้างหลักฐานเนื่องจากการคำนวณที่ซับซ้อนในฟิลด์ที่มีขอบเขตขนาดใหญ่และข้อมูลจำนวนมหาศาลที่ต้องใช้
- การพิสูจน์พยานว่าเป็นจริง: ตอนนี้ตารางการติดตามถูกกรอกแล้วและคำมั่นสัญญาได้รับการคำนวณแล้ว สิ่งเดียวที่ต้องทำคือแสดงให้เห็นว่าการติดตามนั้นถูกต้อง ซึ่งหมายความว่าเป็นไปตามข้อจำกัดบางประการ การคำนวณที่เกี่ยวข้อง ได้แก่ การแปลงทางทฤษฎีจำนวน (NTT) การคูณพหุนาม (MSM) และการแบนพหุนาม
โดยสรุป การคำนวณในการสร้างการพิสูจน์ประกอบด้วยโมดูลทั่วไปหลายโมดูล เช่น การคูณพหุนาม (MSM) การแปลงเชิงทฤษฎีจำนวน (NTT) ต้นไม้ Merkle และการแบนพหุนาม รวมถึงโมดูลเพิ่มเติมบางส่วน
ใน บล็อก ที่แล้ว เราได้แสดงกลยุทธ์ขั้นสูงบางประการสำหรับการเพิ่มประสิทธิภาพโมดูลทั่วไปเหล่านี้ ในช่วงไม่กี่ปีที่ผ่านมา ชุมชนได้เสนอเทคนิคหลายอย่างที่สัญญาว่าจะเร่งความเร็วโมดูลทั่วไปเหล่านี้ (ดูผลงานของ Ulvetanna, Ingonyama และกลุ่มอื่นๆ) เราไม่ทำซ้ำเทคนิคเหล่านี้ที่นี่
โมดูลเหล่านี้ไม่ใช่ปัญหาคอขวดในแง่ของประสิทธิภาพอีกต่อไป แต่การเร่งความเร็วแบบ end-to-end นั้นยังห่างไกลจากที่น่าพอใจ ตัวเร่งความเร็วแบบ half-baked นี้ถือได้ว่าเป็นเวอร์ชัน GPU เฉพาะพร้อมการปรับปรุงประสิทธิภาพบางอย่าง การเปรียบเทียบคร่าวๆมีดังนี้:
- ข้อดี: นอกเหนือจากโมเดลการประมวลผลแบบขนาน SIMD/SIMT แบบ GPU แบบดั้งเดิมแล้ว การประมวลผล ZK ยังได้รับการสนับสนุนเป็นพิเศษอีกด้วย ซึ่งช่วยให้เราใช้การดำเนินการ ZK ได้อย่างเต็มประสิทธิภาพโดยไม่ต้องอาศัยทักษะการเขียนโปรแกรม CUDA ที่ล้ำสมัย (เช่น การใช้ CUDA เพื่อเขียนการดำเนินการจำนวนเต็มขนาดใหญ่)
- ข้อเสีย: ความซับซ้อนของการเขียนโปรแกรม
- สำหรับตัวเร่งความเร็ว เราจัดเตรียมโมเดลการเขียนโปรแกรมระดับสูงที่คล้ายกับสไตล์ PyTorch ใน AI โดยมีเป้าหมายเพื่อมอบประสบการณ์การเขียนโค้ดที่ "ดูเหมือนว่าจะถูกแปลจากกระดาษโดยตรง" เมื่อมีการวางสุภาษิตบางส่วนลงบนตัวเร่งความเร็ว แม้ว่าเราจะมอบความสามารถในการกำหนดเวลาและการควบคุมที่ยืดหยุ่นในระดับฮาร์ดแวร์ แต่ก็ยังต้องมีความเข้าใจในการออกแบบฮาร์ดแวร์พื้นฐาน
- สำหรับผู้ใช้ GPU ที่ใช้ CUDA พวกเขามีอิสระในการควบคุมค่อนข้างสมบูรณ์เมื่อทำงานโดยตรง พวกเขาสามารถดำเนินการปรับให้เหมาะสมตามอำเภอใจได้ แต่ยังหมายความว่าพวกเขาต้องเริ่มต้นทุกอย่างตั้งแต่เริ่มต้น
เห็นได้ชัดว่าตัวเร่งความเร็วแบบครึ่งเดียวนี้ไม่ได้รับการเร่งความเร็วที่ได้รับการพิสูจน์แล้วจากต้นทางถึงปลายทางที่เหมาะสมที่สุดหรืออินเทอร์เฟซการเขียนโปรแกรมที่เป็นมิตรต่อผู้ใช้ เห็นได้ชัดว่าเราจำเป็นต้องเพิ่มองค์ประกอบใหม่บางอย่างให้กับโครงการของเรา
องค์ประกอบใหม่นี้คือ zkVM!
เครื่องเสมือน (VM) เป็นหัวข้อเก่าในวิทยาการคอมพิวเตอร์ ซึ่งโดยพื้นฐานแล้วเป็นโปรแกรมที่สามารถรันโปรแกรมอื่นได้ ตัวอย่างเช่น Ethereum Virtual Machine (EVM) สามารถเรียกใช้สัญญาอัจฉริยะ Ethereum ได้ และคำแนะนำที่สนับสนุนระบุไว้ใน เอกสารสีเหลือง นี้ เรารู้ว่าระบบพิสูจน์ความรู้เป็นศูนย์เกี่ยวข้องกับวงจร ดังนั้น zkVM จึงเป็นวงจรที่สามารถรันชุดคำสั่งสนับสนุนได้ นอกเหนือจากผลการดำเนินการแล้ว zkVM ยังส่งออกหลักฐานที่แสดงให้เห็นว่าการติดตามการดำเนินการ VM ที่สอดคล้องกับลำดับคำสั่งนั้นถูกต้อง
กล่าวโดยสรุป zkVM เป็นวงจร ZK ที่สามารถรัน VM ได้ (สรุปจาก บทความ ของ David Wong)
มีสองส่วนที่ควรพิจารณาในการออกแบบ zkVM:
- ชุดคำสั่งที่รองรับ: นี่หมายถึงการดำเนินการที่ VM สามารถทำได้ มีผู้เล่นที่มีชื่อเสียงหลายคนในสาขานี้ เช่น Risc 0, Succinct, Starknet, Polygon, Metis ฯลฯ ที่ทำงานในชุดคำสั่งที่แตกต่างกัน เช่น RISC-V, MIPS หรือชุดคำสั่งแบบกำหนดเอง
- สถาปัตยกรรม ZK: ส่วนนี้เกี่ยวข้องกับการพิสูจน์ ZK ที่สร้างขึ้นพร้อมกับผลการดำเนินการ สถาปัตยกรรม ZK เกือบจะเป็นอิสระจากการออกแบบ VM พื้นฐาน แต่ยังคงมีความสมดุลที่ละเอียดอ่อนบางประการที่ต้องพิจารณา
มีคุณสมบัติที่ดีในการออกแบบ zkVM ที่เรียกว่าความต่อเนื่อง (จาก RISC 0 ) ในการดำเนินการ zkVM ความต่อเนื่องเป็นกลไกที่ใช้ในการแยกโปรแกรมขนาดใหญ่ออกเป็นหลายส่วนซึ่งสามารถคำนวณและพิสูจน์ได้อย่างอิสระ ดังแสดงในรูปต่อไปนี้:
กระบวนการแบ่งส่วน (ที่มา: Risc 0)
คุณลักษณะนี้เป็นมิตรกับฮาร์ดแวร์ด้วยเหตุผลดังต่อไปนี้:
- ความเท่าเทียม: เนื่องจากแฟรกเมนต์ที่ถูกแบ่งเหล่านี้เป็นอิสระจากกัน จึงสามารถกระจายไปยังฮาร์ดแวร์หลายตัวเพื่อสร้างการพิสูจน์ที่สอดคล้องกันในเวลาเดียวกัน
- ลดความต้องการแบนด์วิดท์ I/O ให้เหลือน้อยที่สุด: การสร้างการพิสูจน์ของ zkVM เป็นไปตามรูปแบบ “เข้าน้อย ออกน้อย” ตัวอย่างเช่น ใน Risc 0 แฟรกเมนต์ที่สร้างการพิสูจน์จะมีขนาดประมาณ 50 MB และเอาต์พุตจะเป็นการพิสูจน์แบบ FRI ซึ่งมีขนาดประมาณ 250 KB โหมดพิเศษนี้ช่วยลดความต้องการแบนด์วิธ I/O ลงอย่างมาก
- ข้อกำหนดหน่วยความจำที่ควบคุมได้: แม้ว่าอินพุตและเอาต์พุตของแต่ละคอร์ที่สร้างการพิสูจน์อักษรจะมีขนาดเล็ก แต่ข้อกำหนดหน่วยความจำก็มีขนาดใหญ่ โดยมีขนาดหลายสิบ GB อย่างไรก็ตาม จำนวนหน่วยความจำที่ต้องการขึ้นอยู่กับขนาดแฟรกเมนต์ ซึ่งสามารถปรับได้ตามการออกแบบของ zkVM
จากคุณสมบัติที่เป็นมิตรต่อฮาร์ดแวร์เหล่านี้ เราจะอธิบายการออกแบบฮาร์ดแวร์ของเราด้านล่าง
สถาปัตยกรรมของระบบนั้นค่อนข้างเรียบง่าย โดยมีผู้ดำเนินการที่รับผิดชอบในการรันโปรแกรม ฮาร์ดแวร์ที่รับผิดชอบในการควบคุมและจัดสรร "สไลซ์ต่างๆ (ตามที่กล่าวไว้ข้างต้น)" และจำนวนชิปเฉพาะที่สามารถกำหนดค่าได้เพื่อสร้างการพิสูจน์ ZK สำหรับแต่ละส่วนของ โปรแกรม.
สถาปัตยกรรมที่เรียบง่ายนี้ช่วยให้ฮาร์ดแวร์ของเรามีฟอร์มแฟคเตอร์ที่ยืดหยุ่น เราสามารถจัดแพคเกจตัวดำเนินการ (โดยใช้ CPU ที่อ่อนแอหรือแกน CPU บนชิป) ชิป zkVM จำนวนหนึ่ง และส่วนประกอบฮาร์ดแวร์ที่จำเป็นอื่นๆ (เช่น หน่วยความจำ) ไว้ในแชสซีเดียว กรณีที่ง่ายกว่าคือการบรรจุชิปหลายตัวลงในเครื่องพกพา เช่น ที่ชาร์จ Macbook
ฮาร์ดแวร์ zkVM มีคอร์ประมวลผลหลายคอร์:
- เครื่องเวคเตอร์แบบตั้งโปรแกรมได้ใช้สำหรับการดำเนินการเวคเตอร์
- โมดูล NTT เฉพาะสำหรับฟิลด์ 31 บิต 64 บิต และ 256 บิต
- โมดูล MSM เฉพาะที่รองรับเส้นโค้ง BN 254, BLS 12 – 377 และ BLS 12 – 388
- หน่วยฟังก์ชันแฮชที่กำหนดค่าได้สำหรับฟังก์ชันแฮชตามการดำเนินการภาคสนาม
นอกเหนือจากข้อดีที่ zkVM มอบให้แล้ว กระบวนทัศน์ใหม่สำหรับการออกแบบ ZK-ASIC ยังแปลงเป็นผลิตภัณฑ์ที่ยอดเยี่ยมมากมายสำหรับการใช้งานส่วนบุคคลหรือองค์กร ดังนี้:
สินค้า ZK ASIC
Cysic ซึ่งเป็นโปรเจ็กต์ฮาร์ดแวร์ zkVM มีเป้าหมายเพื่อสร้างฮาร์ดแวร์ที่คุ้มค่าด้านประสิทธิภาพซึ่งเหมาะสำหรับกรณีการใช้งาน ประสิทธิภาพ และประสิทธิผลการพัฒนาที่หลากหลาย เราแสวงหามุมมองที่หลากหลาย ความคิดสร้างสรรค์เชิงนวัตกรรม และความมุ่งมั่นในการลงทุนเพื่อปรับปรุงและขยายการออกแบบฮาร์ดแวร์ของเรา เราหวังว่าจะมีส่วนร่วมและข้อมูลของชุมชน และพร้อมที่จะให้คำแนะนำและการสนับสนุนแก่ทุกคนที่สนใจเข้าร่วม
ความคิดเห็นทั้งหมด