ผู้เขียนต้นฉบับ: @renkingeth
สรุป
Zero-Knowledge Proof (ZKP) ได้รับการยอมรับอย่างกว้างขวางในสาขาบล็อกเชนว่าเป็นหนึ่งในนวัตกรรมทางเทคโนโลยีที่สำคัญที่สุดนับตั้งแต่เทคโนโลยีบัญชีแยกประเภทแบบกระจาย และยังเป็นจุดสนใจสำหรับการร่วมลงทุนอีกด้วย บทความนี้นำเสนอการทบทวนวรรณกรรมทางประวัติศาสตร์และงานวิจัยล่าสุดเกี่ยวกับเทคโนโลยีพิสูจน์ความรู้เป็นศูนย์ในช่วงสี่สิบปีที่ผ่านมาอย่างเป็นระบบ
ขั้นแรก จะมีการแนะนำแนวคิดพื้นฐานและภูมิหลังทางประวัติศาสตร์ของการพิสูจน์ความรู้เป็นศูนย์ จากนั้น จุดมุ่งเน้นอยู่ที่การวิเคราะห์เทคโนโลยีการพิสูจน์ความรู้เป็นศูนย์บนวงจร รวมถึงการออกแบบ การใช้งาน และการเพิ่มประสิทธิภาพของโมเดลต่างๆ เช่น zkSNARK, Ben-Sasson, Pinocchio, Bulletproofs และ Ligero ในด้านสภาพแวดล้อมการประมวลผล บทความนี้จะแนะนำ ZKVM และ ZKEVM และอภิปรายการวิธีที่พวกเขาสามารถปรับปรุงความสามารถในการประมวลผลธุรกรรม ปกป้องความเป็นส่วนตัว และปรับปรุงประสิทธิภาพการตรวจสอบ บทความนี้ยังแนะนำกลไกการทำงานและวิธีการปรับให้เหมาะสมของ Zero-Knowledge Rollup (ZK Rollup) ในฐานะโซลูชันส่วนขยายเลเยอร์ 2 รวมถึงความคืบหน้าล่าสุดในการเร่งความเร็วด้วยฮาร์ดแวร์ โซลูชันไฮบริด และ ZK EVM เฉพาะ
สุดท้ายนี้ บทความนี้ตั้งตารอคอยแนวคิดใหม่ๆ เช่น ZKCoprocessor, ZKML, ZKThreads, ZK Sharding และ ZK StateChannels และสำรวจศักยภาพของแนวคิดเหล่านี้ในการขยายขีดความสามารถบล็อกเชน การทำงานร่วมกัน และการปกป้องความเป็นส่วนตัว
ด้วยการวิเคราะห์เทคโนโลยีล่าสุดและแนวโน้มการพัฒนาเหล่านี้ บทความนี้จะให้มุมมองที่ครอบคลุมเกี่ยวกับการทำความเข้าใจและการใช้เทคโนโลยีพิสูจน์ความรู้เป็นศูนย์ แสดงให้เห็นถึงศักยภาพมหาศาลในการปรับปรุงประสิทธิภาพและความปลอดภัยของระบบบล็อกเชน และให้ข้อมูลอ้างอิงที่สำคัญสำหรับการตัดสินใจลงทุนในอนาคต
คำนำ
ทุกวันนี้ ในขณะที่อินเทอร์เน็ตกำลังเข้าสู่ยุค Web3 แอปพลิเคชันบล็อกเชน (DApps) กำลังพัฒนาอย่างรวดเร็ว โดยมีแอปพลิเคชันใหม่ ๆ เกิดขึ้นเกือบทุกวัน ในช่วงไม่กี่ปีที่ผ่านมา แพลตฟอร์มบล็อกเชนได้จัดกิจกรรมของผู้ใช้หลายล้านคนและประมวลผลธุรกรรมนับพันล้านรายการทุกวัน ข้อมูลจำนวนมากที่สร้างขึ้นจากธุรกรรมเหล่านี้มักจะรวมถึงข้อมูลส่วนบุคคลที่ละเอียดอ่อน เช่น ข้อมูลระบุตัวตนของผู้ใช้ จำนวนธุรกรรม ที่อยู่บัญชี และยอดคงเหลือในบัญชี เมื่อพิจารณาถึงความเปิดกว้างและความโปร่งใสของบล็อคเชน ข้อมูลที่เก็บไว้เหล่านี้จึงเปิดสำหรับทุกคน ซึ่งทำให้เกิดปัญหาด้านความปลอดภัยและความเป็นส่วนตัวที่หลากหลาย
ในปัจจุบัน มีเทคโนโลยีการเข้ารหัสหลายอย่างที่จัดการกับความท้าทายเหล่านี้ รวมถึงการเข้ารหัสแบบโฮโมมอร์ฟิก ลายเซ็นวงแหวน การคำนวณแบบหลายฝ่ายที่ปลอดภัย และการพิสูจน์ความรู้แบบศูนย์ การเข้ารหัสแบบโฮโมมอร์ฟิคช่วยให้การดำเนินการต่างๆ ดำเนินการได้โดยไม่ต้องถอดรหัสข้อความไซเฟอร์เท็กซ์ ซึ่งช่วยปกป้องความปลอดภัยของยอดคงเหลือในบัญชีและจำนวนธุรกรรม แต่ไม่สามารถปกป้องความปลอดภัยของที่อยู่บัญชีได้ ลายเซ็นวงแหวนเป็นลายเซ็นดิจิทัลรูปแบบพิเศษที่สามารถซ่อนข้อมูลประจำตัวของผู้ลงนามได้ จึงช่วยปกป้องความปลอดภัยของที่อยู่บัญชี แต่ไม่สามารถปกป้องยอดเงินในบัญชีและจำนวนธุรกรรมได้ การคำนวณแบบหลายฝ่ายที่ปลอดภัยช่วยให้สามารถกระจายงานการคำนวณไปยังผู้เข้าร่วมหลายรายโดยที่ผู้เข้าร่วมไม่ทราบข้อมูลของผู้เข้าร่วมรายอื่น ช่วยป้องกันความปลอดภัยของยอดคงเหลือในบัญชีและจำนวนธุรกรรมได้อย่างมีประสิทธิภาพ แต่ก็ไม่สามารถปกป้องความปลอดภัยของที่อยู่บัญชีได้เช่นกัน นอกจากนี้ การเข้ารหัสโฮโมมอร์ฟิก ลายเซ็นวงแหวน และการคำนวณแบบหลายฝ่ายที่ปลอดภัยไม่สามารถใช้ตรวจสอบได้ว่าผู้พิสูจน์ในสภาพแวดล้อมบล็อกเชนมีจำนวนธุรกรรมเพียงพอหรือไม่ โดยไม่เปิดเผยจำนวนธุรกรรม ที่อยู่บัญชี และยอดคงเหลือในบัญชี (Sun et al., 2021 ).
โซลูชันที่ครอบคลุมมากขึ้นคือการพิสูจน์ความรู้ที่ไม่มีศูนย์ ซึ่งเป็นโปรโตคอลการตรวจสอบที่ช่วยให้ความถูกต้องของข้อเสนอบางอย่างได้รับการตรวจสอบโดยไม่ต้องเปิดเผยข้อมูลที่เข้ามาแทรกแซงใดๆ (Goldwasser, Micali & Rackoff, 1985) โปรโตคอลไม่ต้องการสิ่งอำนวยความสะดวกคีย์สาธารณะที่ซับซ้อน และการใช้งานซ้ำ ๆ ไม่ได้ทำให้ผู้ใช้ที่เป็นอันตรายมีโอกาสได้รับข้อมูลที่เป็นประโยชน์เพิ่มเติม (Goldreich, 2004) ผู้ตรวจสอบสามารถตรวจสอบได้ว่าผู้พิสูจน์มีจำนวนธุรกรรมเพียงพอผ่าน ZKP หรือไม่ โดยไม่เปิดเผยข้อมูลธุรกรรมส่วนตัวใด ๆ กระบวนการตรวจสอบประกอบด้วยการสร้างหลักฐานที่มีจำนวนเงินในการทำธุรกรรมที่ผู้พิสูจน์อ้างสิทธิ์ จากนั้นจึงส่งหลักฐานไปยังผู้ตรวจสอบจะทำการคำนวณที่กำหนดไว้ล่วงหน้าในการพิสูจน์และสร้างผลการคำนวณขั้นสุดท้ายเพื่อพิจารณาว่าจะยอมรับคำแถลงของผู้พิสูจน์โดยสรุปหรือไม่ . หากคำกล่าวของผู้พิสูจน์ได้รับการยอมรับ แสดงว่ามีจำนวนธุรกรรมเพียงพอ กระบวนการตรวจสอบข้างต้นสามารถบันทึกลงในบล็อกเชนได้โดยไม่มีการปลอมแปลงใดๆ (Feige, Fiat & Shamir, 1986)
คุณลักษณะของ ZKP นี้ช่วยให้มีบทบาทสำคัญในธุรกรรมบล็อกเชนและแอปพลิเคชันสกุลเงินดิจิทัล โดยเฉพาะอย่างยิ่งในแง่ของการปกป้องความเป็นส่วนตัวและการขยายเครือข่าย ZKP ไม่เพียงแต่กลายเป็นจุดสนใจของการวิจัยทางวิชาการเท่านั้น แต่ยังได้รับการพิจารณาอย่างกว้างขวางว่าเป็นการเผยแพร่ด้วยตนเอง เทคโนโลยีบัญชีแยกประเภท — — โดยเฉพาะ Bitcoin — หนึ่งในนวัตกรรมทางเทคโนโลยีที่สำคัญที่สุดนับตั้งแต่มีการใช้งานที่ประสบความสำเร็จ นอกจากนี้ยังเป็นแนวทางสำคัญสำหรับการใช้งานในอุตสาหกรรมและการร่วมลงทุน (Konstantopoulos, 2022)
เป็นผลให้โครงการเครือข่ายจำนวนมากที่ใช้ ZKP เกิดขึ้นทีละโครงการ เช่น ZkSync, StarkNet, Mina, Filecoin และ Aleo เป็นต้น ด้วยการพัฒนาโปรเจ็กต์เหล่านี้ นวัตกรรมอัลกอริทึมเกี่ยวกับ ZKP ก็เกิดขึ้นทีละรายการ และมีรายงานว่ามีการเผยแพร่อัลกอริทึมใหม่เกือบทุกสัปดาห์ (Lavery, 2024; AdaPulse, 2024) นอกจากนี้ การพัฒนาฮาร์ดแวร์ที่เกี่ยวข้องกับเทคโนโลยี ZKP ยังมีความก้าวหน้าอย่างรวดเร็ว ซึ่งรวมถึงชิปที่ได้รับการปรับแต่งสำหรับ ZKP ด้วย ตัวอย่างเช่น โครงการต่างๆ เช่น Ingonyama, Irreducible และ Cysic ได้เสร็จสิ้นการระดมทุนขนาดใหญ่แล้ว การพัฒนาเหล่านี้ไม่เพียงแสดงให้เห็นถึงความก้าวหน้าอย่างรวดเร็วของเทคโนโลยี ZKP เท่านั้น แต่ยังสะท้อนถึงการเปลี่ยนแปลงจากฮาร์ดแวร์ที่ใช้งานทั่วไปไปเป็นฮาร์ดแวร์เฉพาะทาง เช่น GPU, FPGA และ ASIC (Ingonyama, 2023 ; Burger, 2022)
การพัฒนาเหล่านี้แสดงให้เห็นว่าเทคโนโลยีพิสูจน์ความรู้เป็นศูนย์ไม่เพียงแต่เป็นความก้าวหน้าที่สำคัญในด้านการเข้ารหัสเท่านั้น แต่ยังเป็นปัจจัยสำคัญสำหรับการประยุกต์ใช้เทคโนโลยีบล็อกเชนในวงกว้าง โดยเฉพาะอย่างยิ่งในการปรับปรุงความสามารถในการปกป้องความเป็นส่วนตัวและการประมวลผล (Zhou et al, 2022)
ดังนั้นเราจึงตัดสินใจจัดระเบียบความรู้ที่เกี่ยวข้องของ Zero-Knowledge Proof (ZKP) อย่างเป็นระบบเพื่อช่วยเราในการตัดสินใจลงทุนในอนาคตได้ดียิ่งขึ้น ด้วยเหตุนี้ เราได้ตรวจสอบเอกสารทางวิชาการหลักที่เกี่ยวข้องกับ ZKP อย่างครอบคลุม (จัดเรียงตามความเกี่ยวข้องและจำนวนการอ้างอิง) ในเวลาเดียวกัน เรายังวิเคราะห์รายละเอียดข้อมูลและเอกสารทางเทคนิคของโครงการชั้นนำในสาขานั้นด้วย (จัดเรียงตาม ขนาดทางการเงิน) การรวบรวมและการวิเคราะห์ข้อมูลที่ครอบคลุมเหล่านี้เป็นรากฐานที่มั่นคงสำหรับการเขียนบทความนี้
1. ความรู้พื้นฐานของการพิสูจน์ความรู้เป็นศูนย์
1 ภาพรวม
ในปี 1985 นักวิชาการ Goldwasser, Micali และ Rackoff ได้เสนอการพิสูจน์ความรู้เป็นศูนย์ (Zero-KnowledgeProof, ZKP) และการพิสูจน์ความรู้เชิงโต้ตอบ (InteractiveZero-Knowledge, IZK) เป็นครั้งแรกในรายงานเรื่อง "TheKnowledge Complexity of Interactive Proof-Systems" บทความนี้เป็นรากฐานของการพิสูจน์ความรู้เป็นศูนย์และกำหนดแนวคิดหลายประการที่มีอิทธิพลต่อการวิจัยทางวิชาการในภายหลัง ตัวอย่างเช่น คำจำกัดความของความรู้คือ "ผลลัพธ์ของการคำนวณที่ไม่สามารถทำได้" กล่าวคือ ความรู้ต้องเป็นผลลัพธ์และการคำนวณที่เป็นไปไม่ได้ ซึ่งหมายความว่าไม่สามารถเป็นฟังก์ชันง่ายๆ ได้ แต่ต้องเป็นฟังก์ชันที่ซับซ้อน การคำนวณที่เป็นไปไม่ได้มักจะเข้าใจได้ว่าเป็นปัญหา NP นั่นคือปัญหาที่สามารถตรวจสอบได้ว่าโซลูชันถูกต้องในเวลาพหุนาม หมายความว่าเวลาทำงานของอัลกอริทึมสามารถแสดงได้ด้วยฟังก์ชันพหุนามของขนาดอินพุต นี่เป็นเกณฑ์สำคัญในวิทยาการคอมพิวเตอร์ในการวัดประสิทธิภาพและความเป็นไปได้ของอัลกอริทึม เนื่องจากกระบวนการแก้ไขปัญหา NP มีความซับซ้อน จึงถือเป็นการคำนวณที่เป็นไปไม่ได้ แต่กระบวนการตรวจสอบค่อนข้างง่าย ดังนั้นจึงเหมาะมากสำหรับการตรวจสอบหลักฐานที่ไม่มีความรู้ (Goldwasser, Micali & Rackoff, 1985)
ตัวอย่างคลาสสิกของปัญหา NP คือปัญหาพนักงานขายที่กำลังเดินทาง ซึ่งเส้นทางที่สั้นที่สุดจะพบว่าไปเยี่ยมชมเมืองต่างๆ และกลับไปยังจุดเริ่มต้น แม้ว่าการหาเส้นทางที่สั้นที่สุดอาจเป็นเรื่องยาก แต่เมื่อพิจารณาจากเส้นทางแล้ว มันค่อนข้างง่ายที่จะตรวจสอบว่าเส้นทางนี้สั้นที่สุดหรือไม่ เพราะการตรวจสอบระยะทางรวมของเส้นทางใดเส้นทางหนึ่งสามารถกระทำได้สำเร็จในเวลาพหุนาม
Goldwasser และคณะได้นำเสนอแนวคิดเรื่อง "ความซับซ้อนของความรู้" ในรายงานของพวกเขาเพื่อหาปริมาณความรู้ที่รั่วไหลโดยผู้พิสูจน์อักษรไปยังผู้ตรวจสอบในระบบพิสูจน์เชิงโต้ตอบ พวกเขายังเสนอ Interactive Proof Systems (IPS) ซึ่งผู้พิสูจน์ (Prover) และผู้ตรวจสอบ (Verifier) พิสูจน์ความถูกต้องของข้อความบางอย่างผ่านการโต้ตอบหลายรอบ (Goldwasser, Mikali & Rackoff, 1985)
โดยสรุป คำจำกัดความของการพิสูจน์ความรู้เป็นศูนย์ที่สรุปโดย Goldwasser และคณะ เป็นการพิสูจน์แบบโต้ตอบพิเศษที่ผู้ตรวจสอบไม่ได้รับข้อมูลเพิ่มเติมใดๆ ยกเว้นค่าความจริงของข้อความในระหว่างกระบวนการตรวจสอบ และคุณลักษณะพื้นฐานสามประการที่เสนอ ได้แก่ : :
ความสมบูรณ์: ความจริงที่ว่าผู้พิสูจน์ที่ซื่อสัตย์สามารถโน้มน้าวผู้ตรวจสอบที่ซื่อสัตย์ได้หากข้อโต้แย้งนั้นเป็นจริง
ความน่าเชื่อถือ (ความถูกต้อง): หากผู้พิสูจน์ไม่ทราบเนื้อหาของข้อความ เขาทำได้เพียงหลอกลวงผู้ตรวจสอบด้วยความน่าจะเป็นเพียงเล็กน้อยเท่านั้น
ความรู้เป็นศูนย์: หลังจากกระบวนการพิสูจน์เสร็จสิ้น ผู้ตรวจสอบจะได้รับเฉพาะข้อมูลที่ "ผู้พิสูจน์มีความรู้นี้" เท่านั้น และไม่สามารถรับเนื้อหาเพิ่มเติมใดๆ ได้ (Goldwasser, Micali & Rackoff, 1985)
2. ตัวอย่างการพิสูจน์ความรู้เป็นศูนย์
เพื่อให้เข้าใจการพิสูจน์ความรู้เป็นศูนย์และคุณสมบัติของมันได้ดีขึ้น ต่อไปนี้คือตัวอย่างในการตรวจสอบว่าผู้พิสูจน์มีข้อมูลส่วนตัวบางส่วนหรือไม่ ซึ่งแบ่งออกเป็นสามขั้นตอน: การตั้งค่า ความท้าทาย และการตอบสนอง
ขั้นตอนที่ 1: ตั้งค่า
ในขั้นตอนนี้ เป้าหมายของผู้พิสูจน์คือการสร้างหลักฐานว่าเขารู้เลขลับบางตัวโดยไม่ต้องเปิดเผย s โดยตรง สมมติว่าเป็นหมายเลขลับ
เลือกจำนวนเฉพาะขนาดใหญ่สองตัว p และ q แล้วคำนวณผลคูณของจำนวนนั้น สมมติจำนวนเฉพาะ และ , คำนวณ;
ในที่นี้การคำนวณ v ถูกส่งไปยังผู้ตรวจสอบซึ่งเป็นส่วนหนึ่งของการพิสูจน์ แต่ผู้ตรวจสอบหรือผู้ยืนดูจะอนุมาน s ได้ไม่เพียงพอ -
จำนวนเต็ม r จะถูกสุ่มเลือก คำนวณ และส่งไปยังเครื่องมือตรวจสอบ ค่า x นี้ใช้ในกระบวนการตรวจสอบภายหลัง แต่จะไม่เปิดเผย s อีกครั้ง สมมติจำนวนเต็มสุ่มแล้วคำนวณ
ขั้นตอนที่ 2: ความท้าทาย
ผู้ตรวจสอบจะสุ่มเลือกบิต a (ซึ่งอาจเป็น 0 หรือ 1) และส่งไปยังผู้พิสูจน์ "ความท้าทาย" นี้จะเป็นตัวกำหนดขั้นตอนต่อไปที่ผู้พิสูจน์อักษรต้องดำเนินการ
ขั้นตอนที่ 3: การตอบสนอง
ขึ้นอยู่กับมูลค่าของการปล่อยโดยผู้ตรวจสอบ ผู้พิสูจน์จะตอบสนอง:
ถ้าสุภาษิตส่ง (โดยที่ r คือหมายเลขที่เขาสุ่มเลือกไว้ก่อน)
หากผู้พิสูจน์อักษรคำนวณและส่ง สมมติว่าตัวตรวจสอบส่งบิตสุ่ม และขึ้นอยู่กับค่าของ a ผู้พิสูจน์จะคำนวณ
สุดท้าย ผู้ตรวจสอบจะตรวจสอบว่ามีค่าเท่ากันโดยพิจารณาจาก g ที่ได้รับหรือไม่ หากสมการยังคงอยู่ ผู้ตรวจสอบจะยอมรับการพิสูจน์ เมื่อ ผู้ตรวจสอบจะคำนวณผู้ตรวจสอบจะคำนวณ และทางขวาจะตรวจสอบ เมื่อ ผู้ตรวจสอบจะคำนวณโดยผู้ตรวจสอบจะคำนวณ และทางขวาจะตรวจสอบ
ที่นี่ เราเห็นการคำนวณของผู้ตรวจสอบที่ระบุว่าผู้พิสูจน์ได้ผ่านกระบวนการตรวจสอบสำเร็จโดยไม่เปิดเผยหมายเลขลับของเขา ตรงนี้ เนื่องจาก a สามารถรับได้เพียง 0 หรือ 1 เท่านั้น จึงมีเพียงสองความเป็นไปได้เท่านั้น และผู้พิสูจน์ต้องอาศัยโชคในการผ่านการตรวจสอบ (เมื่อรับ 0) แต่ผู้ตรวจสอบจะท้าทายผู้พิสูจน์อีกครั้ง และผู้พิสูจน์เปลี่ยนหมายเลขที่เกี่ยวข้องอย่างต่อเนื่อง ส่งไปยังผู้ตรวจสอบ และผ่านกระบวนการตรวจสอบได้สำเร็จเสมอ ด้วยวิธีนี้ ผู้พิสูจน์จะต้องอาศัยโชคในการผ่านการตรวจสอบ (เข้าใกล้ 0 อย่างไม่มีที่สิ้นสุด) ข้อสรุปได้รับการพิสูจน์ว่าผู้พิสูจน์รู้เลขลับบางตัว ตัวอย่างนี้พิสูจน์ความสมบูรณ์ ความน่าเชื่อถือ และความรู้เป็นศูนย์ของระบบพิสูจน์ความรู้เป็นศูนย์ (Fiat & Shamir, 1986)
2. การพิสูจน์ความรู้เป็นศูนย์แบบไม่โต้ตอบ
1.ความเป็นมา
Zero-Knowledge Proof (ZKP) มักจะเป็นรูปแบบโปรโตคอลแบบโต้ตอบและออนไลน์ในแนวคิดดั้งเดิม ตัวอย่างเช่น โปรโตคอล Sigma มักจะต้องมีการโต้ตอบสามถึงห้ารอบเพื่อให้การรับรองเสร็จสมบูรณ์ (Fiat & Shamir, 1986) อย่างไรก็ตาม ในสถานการณ์ เช่น การทำธุรกรรมทันทีหรือการลงคะแนน มักจะไม่มีโอกาสโต้ตอบหลายรอบ โดยเฉพาะอย่างยิ่งในการประยุกต์ใช้เทคโนโลยีบล็อกเชน ฟังก์ชันการตรวจสอบแบบออฟไลน์มีความสำคัญอย่างยิ่ง (Sun et al., 2021)
2. ข้อเสนอของ NIZK
ในปี 1988 Blum, Feldman และ Micali เสนอแนวคิดของการพิสูจน์ความรู้เป็นศูนย์แบบไม่โต้ตอบ (NIZK) เป็นครั้งแรก ซึ่งพิสูจน์ว่าผู้พิสูจน์ (Prover) และผู้ตรวจสอบ (Verifier) ยังคงสามารถดำเนินการตามกระบวนการรับรองให้เสร็จสิ้นได้โดยไม่ต้องผ่านการรับรองหลายรอบ ปฏิสัมพันธ์ ความก้าวหน้านี้ทำให้การทำธุรกรรมแบบทันที การลงคะแนนเสียง และแอปพลิเคชันบล็อกเชนเป็นไปได้ (Blum, Feldman & Micali, 1988)
พวกเขาเสนอว่าการพิสูจน์ความรู้เป็นศูนย์แบบไม่โต้ตอบ (NIZK) สามารถแบ่งออกเป็นสามขั้นตอน:
ติดตั้ง
คำนวณ
ตรวจสอบ
ขั้นตอนการตั้งค่าใช้ฟังก์ชันการคำนวณเพื่อแปลงพารามิเตอร์ความปลอดภัยให้เป็นความรู้สาธารณะ (ใช้ได้กับทั้งผู้พิสูจน์และผู้ตรวจสอบ) โดยทั่วไปจะเข้ารหัสใน Common Reference String (CRS) นี่คือวิธีการคำนวณและตรวจสอบการพิสูจน์โดยใช้พารามิเตอร์และอัลกอริธึมที่ถูกต้อง
ขั้นตอนการคำนวณใช้ฟังก์ชันการคำนวณ ปุ่มอินพุตและคีย์พิสูจน์อักษร และส่งออกผลลัพธ์การคำนวณและการพิสูจน์
ในระหว่างขั้นตอนการตรวจสอบความถูกต้องของหลักฐานจะได้รับการตรวจสอบโดยการตรวจสอบคีย์
โมเดลสตริงอ้างอิงทั่วไป (CRS) ที่พวกเขาเสนอใช้การพิสูจน์ความรู้แบบศูนย์แบบไม่โต้ตอบของปัญหา NP โดยอาศัยผู้เข้าร่วมทุกคนที่ใช้สตริงร่วมกัน การดำเนินการของโมเดลนี้ขึ้นอยู่กับการสร้าง CRS ที่เชื่อถือได้ และผู้เข้าร่วมทั้งหมดจะต้องมีสิทธิ์เข้าถึงสตริงเดียวกัน โซลูชันที่นำมาใช้ตามโมเดลนี้จะรับประกันความปลอดภัยได้ก็ต่อเมื่อ CRS ถูกสร้างขึ้นอย่างถูกต้องและปลอดภัยเท่านั้น กระบวนการสร้าง CRS อาจซับซ้อนและใช้เวลานานสำหรับผู้เข้าร่วมจำนวนมาก ดังนั้น แม้ว่าแผนงานดังกล่าวมักจะดำเนินการง่ายและพิสูจน์ได้ว่ามีขนาดเล็ก แต่ก็อาจเป็นเรื่องยากในการตั้งค่า (Blum, Feldman & Micali, 1988 ).
ต่อมา เทคโนโลยี NIZK ได้รับการพัฒนาอย่างรวดเร็ว และมีวิธีการต่างๆ มากมายในการแปลงการพิสูจน์ความรู้แบบโต้ตอบเป็นศูนย์ให้กลายเป็นการพิสูจน์แบบไม่โต้ตอบ วิธีการเหล่านี้แตกต่างกันในการสร้างระบบหรือในสมมติฐานของแบบจำลองการเข้ารหัสลับที่ซ่อนอยู่
3. การเปลี่ยนแปลงของ Fiat-Shamir
การแปลง Fiat-Shamir หรือที่เรียกว่า Fiat-ShamirHeurisitc (heuristic) หรือ Fiat-Shamir Paradigm (กระบวนทัศน์) เสนอโดย Fiat และ Shamir ในปี 1986 เป็นวิธีการที่สามารถแปลงการพิสูจน์ความรู้แบบศูนย์เชิงโต้ตอบให้เป็นแบบไม่โต้ตอบ วิธีนี้จะช่วยลดจำนวนการโต้ตอบโดยการใช้ฟังก์ชันแฮช และอาศัยสมมติฐานด้านความปลอดภัยเพื่อให้แน่ใจว่าหลักฐานมีความถูกต้องและมีความยากในการปลอมแปลง การแปลง Fiat-Shamir ใช้ฟังก์ชันแฮชการเข้ารหัสลับสาธารณะเพื่อแทนที่ส่วนหนึ่งของการสุ่มและการโต้ตอบ และเอาต์พุตของมันก็ถือได้ว่าเป็น CRS ในระดับหนึ่ง แม้ว่าโปรโตคอลนี้ถือว่าปลอดภัยในโมเดล Oracle แบบสุ่ม แต่ก็ขึ้นอยู่กับสมมติฐานว่าเอาต์พุตของฟังก์ชันแฮชนั้นเป็นแบบสุ่มสม่ำเสมอและเป็นอิสระจากอินพุตที่แตกต่างกัน (Fiat & Shamir, 1986) การวิจัยโดย Canetti, Goldreich และ Halevi ในปี 2546 แสดงให้เห็นว่าแม้ว่าสมมติฐานนี้ถือเป็นจริงในแบบจำลองทางทฤษฎี แต่ก็อาจเผชิญกับความท้าทายในการใช้งานจริง และดังนั้นจึงเสี่ยงต่อความล้มเหลวเมื่อใช้ (Canetti, Goldreich & Halevi, 2003) มิกาลีได้ปรับปรุงวิธีการนี้ในเวลาต่อมา และบีบอัดการโต้ตอบหลายรอบให้เป็นรอบเดียว ซึ่งทำให้กระบวนการโต้ตอบง่ายขึ้น (Micali, 1994)
4. Jens Groth และงานวิจัยของเขา
การวิจัยในภายหลังของ Jens Groth ได้ส่งเสริมการประยุกต์ใช้การพิสูจน์ความรู้เป็นศูนย์ในวิทยาการเข้ารหัสลับและเทคโนโลยีบล็อกเชนอย่างมาก ในปี พ.ศ. 2548 เขา ออสตรอฟสกี้ และซาไฮได้ร่วมกันเสนอระบบพิสูจน์ความรู้เป็นศูนย์แบบไม่โต้ตอบที่สมบูรณ์แบบระบบแรกซึ่งเหมาะสำหรับภาษา NP ใดๆ ซึ่งสามารถรับประกันความปลอดภัยแบบผสมผสานสากล (UC) แม้ต้องเผชิญกับคู่ต่อสู้ที่เปลี่ยนแปลงตลอดเวลาหรือปรับตัวได้ก็ตาม นอกจากนี้ พวกเขาใช้สมมติฐานความซับซ้อนของทฤษฎีจำนวนในการออกแบบระบบพิสูจน์ความรู้เป็นศูนย์แบบไม่โต้ตอบที่กระชับและมีประสิทธิภาพ ซึ่งลดขนาดของ CRS และการพิสูจน์ลงอย่างมาก (Groth& Sahai, 2005)
ในปี พ.ศ. 2550 Groth, Cramer และ Damgård เริ่มจำหน่ายเทคโนโลยีเหล่านี้ในเชิงพาณิชย์ โดยผ่านการตรวจสอบเชิงทดลอง การเข้ารหัสคีย์สาธารณะและแผนลายเซ็นได้ปรับปรุงประสิทธิภาพและความปลอดภัยอย่างมีนัยสำคัญ แม้ว่าแผนเหล่านี้จะอิงตามสมมติฐานของกลุ่มไบลิเนียร์ (Groth & Sahai, 2007) . ในปี 2011 Groth ได้สำรวจเพิ่มเติมถึงวิธีการรวมการเข้ารหัสแบบโฮโมมอร์ฟิกอย่างสมบูรณ์เข้ากับการพิสูจน์ความรู้เป็นศูนย์แบบไม่โต้ตอบ และเสนอวิธีแก้ปัญหาเพื่อลดค่าใช้จ่ายในการสื่อสารเพื่อให้ขนาดของ NIZK สอดคล้องกับขนาดพยานของการพิสูจน์ (Groth, 2011) ในปีต่อมา เขาและนักวิจัยคนอื่นๆ ได้ทำการวิจัยเชิงลึกเกี่ยวกับเทคนิคที่ใช้การจับคู่ โดยให้ข้อพิสูจน์แบบไม่โต้ตอบที่มีขนาดกะทัดรัดและมีประสิทธิภาพสำหรับการกล่าวอ้างในวงกว้าง แม้ว่าข้อพิสูจน์เหล่านี้ยังคงไม่หลุดไปจากกรอบการทำงานของกลุ่มไบลิเนียร์ (Bayer & Groth, 2012; Groth, Kohlweiss และ Pintore, 2016; Bootle, Cerulli, Chaidos, Groth & Petit, 2017;
5. การวิจัยอื่นๆ
ในสถานการณ์การใช้งานเฉพาะ การพิสูจน์ความรู้เป็นศูนย์แบบไม่โต้ตอบของผู้ตรวจสอบเฉพาะจะแสดงคุณค่าในทางปฏิบัติที่เป็นเอกลักษณ์ ตัวอย่างเช่น Cramer และ Shoup ใช้รูปแบบการเข้ารหัสคีย์สาธารณะที่พัฒนาขึ้นโดยใช้ฟังก์ชันแฮชสากลเพื่อต้านทานการโจมตีด้วยข้อความไซเฟอร์เท็กซ์แบบเลือกสรรอย่างมีประสิทธิภาพในปี 1998 และ 2002 นอกจากนี้ ในรูปแบบการลงทะเบียนคีย์ ได้มีการพัฒนาวิธีการพิสูจน์ความรู้เป็นศูนย์แบบไม่โต้ตอบแบบใหม่ ซึ่งเหมาะสำหรับการแก้ปัญหาประเภท NP ทั้งหมด สิ่งสำคัญคือผู้เข้าร่วมจำเป็นต้องลงทะเบียนคีย์ของตนเองสำหรับการตรวจสอบในภายหลัง (Cramer และโชว, 1998, 2002).
นอกจากนี้ Damgård, Fazio และ Nicolosi ยังเสนอวิธีการใหม่ในการปรับปรุงการเปลี่ยนแปลงของ Fiat-Shamir ที่มีอยู่ในปี 2549 โดยอนุญาตให้มีการพิสูจน์ความรู้เป็นศูนย์แบบไม่โต้ตอบโดยไม่ต้องมีปฏิสัมพันธ์โดยตรง ในแนวทางของพวกเขา ผู้ตรวจสอบจำเป็นต้องลงทะเบียนคีย์สาธารณะก่อนเพื่อเตรียมพร้อมสำหรับการดำเนินการเข้ารหัสลับในภายหลัง ผู้พิสูจน์ใช้การเข้ารหัสแบบโฮโมมอร์ฟิกเพิ่มเติมเพื่อดำเนินการกับข้อมูลโดยไม่รู้ตัว โดยสร้างข้อความที่เข้ารหัสซึ่งมีคำตอบเพื่อตอบสนองต่อความท้าทาย ความปลอดภัยของวิธีนี้ขึ้นอยู่กับ "สมมติฐานการใช้ประโยชน์จากความซับซ้อน" ซึ่งเชื่อว่าปัญหาการคำนวณบางอย่างที่ถือว่ายากต่อการแก้ไขอาจได้รับการแก้ไขโดยฝ่ายตรงข้ามที่มีทรัพยากรการประมวลผลพิเศษ (Damgård, Fazio & Nicolosi, 2006)
แนวคิดเรื่อง "ความน่าเชื่อถือที่อ่อนแอ" ที่เสนอโดย Ventre และ Visconti ในปี 2009 เป็นอีกทางเลือกหนึ่งนอกเหนือจากสมมติฐานนี้ เมื่อเสนอข้อพิสูจน์ที่เป็นเท็จ ฝ่ายตรงข้ามจะต้องไม่เพียงแต่ตระหนักถึงความเท็จเท่านั้น แต่ยังต้องเข้าใจว่าเขาสร้างมันขึ้นมาได้อย่างไร . ข้อกำหนดนี้เพิ่มความยากของการหลอกลวงอย่างมากเนื่องจากปฏิปักษ์ต้องชัดเจนเกี่ยวกับวิธีการหลอกลวงของตน ในทางปฏิบัติ ฝ่ายตรงข้ามที่ใช้แนวคิดนี้จำเป็นต้องจัดเตรียมการพิสูจน์เฉพาะที่มีข้อมูลไซเฟอร์เท็กซ์สำหรับตัวตรวจสอบที่ระบุ การพิสูจน์นั้นทำได้ยากหากไม่มีคีย์ส่วนตัวของผู้ตรวจสอบ ดังนั้น จึงเปิดเผยพฤติกรรมของฝ่ายตรงข้ามผ่านการตรวจจับเมื่อเขาพยายามปลอมแปลงการพิสูจน์ ( เวนเทรอ และวิสคอนติ, 2552)
การแปลง Unruh เป็นอีกทางเลือกหนึ่งของการแปลง Fiat-Shamir ที่เสนอในปี 2558 โดยทั่วไปวิธีการของ Fiat-Shamir จะไม่ปลอดภัยเมื่อเผชิญกับการคำนวณควอนตัม และสามารถสร้างโซลูชันที่ไม่ปลอดภัยสำหรับโปรโตคอลบางอย่างได้ (Unruh, 2015) ในทางตรงกันข้าม การแปลง Unruh ใน Random Oracle Model (ROM) มอบการพิสูจน์ความรู้เป็นศูนย์แบบไม่โต้ตอบ (NIZK) ที่ปลอดภัยและพิสูจน์ได้สำหรับโปรโตคอลเชิงโต้ตอบใดๆ กับศัตรูควอนตัม เช่นเดียวกับวิธี Fiat-Shamir การแปลง Unruh ไม่ต้องการขั้นตอนการตั้งค่าเพิ่มเติม (Ambainis, Rosmanis & Unruh, 2014)
นอกจากนี้ Kalai และคณะยังเสนอระบบสาธิตสำหรับปัญหาการตัดสินใจโดยพลการโดยอาศัยเทคโนโลยีการดึงข้อมูลส่วนตัว วิธีการนี้ใช้แบบจำลองระบบพิสูจน์เชิงโต้ตอบ (MIP) หลายตัวพิสูจน์ และแปลง MIP เป็นระบบอาร์กิวเมนต์ผ่านวิธีการของ Aiello และคณะ โครงสร้างนี้ดำเนินการภายในแบบจำลองมาตรฐาน และไม่จำเป็นต้องอาศัยสมมติฐานของออราเคิลแบบสุ่ม วิธีการนี้ใช้ในอาร์กิวเมนต์ที่ไม่มีความรู้บางข้อโดยอิงจาก "Proofs-for-Muggles" (Kalai, Raz & Rothblum, 2014)
ด้วยเทคโนโลยีเหล่านี้ NIZK) จึงถูกนำมาใช้กันอย่างแพร่หลายในด้านต่างๆ ที่ต้องการความปลอดภัยและการปกป้องความเป็นส่วนตัวสูง เช่น ธุรกรรมทางการเงิน การลงคะแนนทางอิเล็กทรอนิกส์ และเทคโนโลยีบล็อกเชน ด้วยการลดจำนวนการโต้ตอบและเพิ่มประสิทธิภาพกระบวนการสร้างหลักฐานและการตรวจสอบ NIZK ไม่เพียงปรับปรุงประสิทธิภาพของระบบ แต่ยังเพิ่มความสามารถในการรักษาความปลอดภัยและการปกป้องความเป็นส่วนตัวอีกด้วย ในอนาคต ด้วยการพัฒนาและปรับปรุงเทคโนโลยีเหล่านี้เพิ่มเติม เราคาดหวังได้ว่า NIZK จะมีบทบาทสำคัญในสาขาต่างๆ มากขึ้น และมอบรากฐานทางเทคนิคที่แข็งแกร่งสำหรับการประมวลผลและการส่งข้อมูลที่ปลอดภัยและมีประสิทธิภาพยิ่งขึ้น (Partala, Nguyen & Pirttikangas, 2020 ).
3. การพิสูจน์ความรู้เป็นศูนย์ตามวงจร
1.ความเป็นมา
ในด้านการเข้ารหัส เครื่องทัวริงรุ่นดั้งเดิมมีข้อจำกัดบางประการ โดยเฉพาะอย่างยิ่งเมื่อต้องรับมือกับงานคำนวณที่ต้องใช้การทำงานแบบขนานในระดับสูงและการประมวลผลบางประเภท (เช่น การดำเนินการเมทริกซ์ขนาดใหญ่) เครื่องทัวริงรุ่นต้องใช้กลไกการจัดการหน่วยความจำที่ซับซ้อนเพื่อจำลองเทปกระดาษที่มีความยาวไม่จำกัด และไม่เหมาะสำหรับการแสดงการประมวลผลแบบขนานและการทำงานของไปป์ไลน์โดยตรง ในทางตรงกันข้าม แบบจำลองวงจรซึ่งมีข้อได้เปรียบด้านโครงสร้างการคำนวณที่เป็นเอกลักษณ์ มีความเหมาะสมมากกว่าสำหรับงานประมวลผลการเข้ารหัสบางอย่าง (Chaidos, 2017) บทความนี้จะสำรวจโดยละเอียดเกี่ยวกับระบบ Zero-KnowledgeProof ตามแบบจำลองวงจร ระบบประเภทนี้เน้นเป็นพิเศษในการใช้วงจร (โดยปกติคือวงจรเลขคณิตหรือวงจรบูลีน) เพื่อแสดงและตรวจสอบกระบวนการคำนวณ
2. แนวคิดพื้นฐานและคุณลักษณะของแบบจำลองวงจร
ในแบบจำลองการคำนวณตามวงจร วงจรถูกกำหนดให้เป็นแบบจำลองการคำนวณพิเศษที่แปลงกระบวนการคำนวณใด ๆ ให้เป็นชุดของเกตและการเชื่อมต่อที่ดำเนินการเชิงตรรกะหรือทางคณิตศาสตร์เฉพาะ โดยเฉพาะโมเดลวงจรจะแบ่งออกเป็นสองประเภทหลักๆ คือ
วงจรเลขคณิต: ส่วนใหญ่ประกอบด้วยประตูบวกและคูณ ใช้ในการประมวลผลองค์ประกอบบนสนามจำกัด วงจรเลขคณิตเหมาะสำหรับการดำเนินการเชิงตัวเลขที่ซับซ้อน และมีการใช้กันอย่างแพร่หลายในอัลกอริธึมการเข้ารหัสและการวิเคราะห์เชิงตัวเลข
วงจรลอจิก: ประกอบด้วยลอจิกเกตพื้นฐาน เช่น เกท AND เกท OR และเกท NOT และใช้ในการประมวลผลการดำเนินการบูลีน วงจรลอจิกเหมาะสำหรับการดำเนินการตรรกะการตัดสินอย่างง่ายและการคำนวณไบนารี่ และมักใช้เพื่อใช้ระบบควบคุมต่างๆ และงานประมวลผลข้อมูลแบบง่าย (Chaidos, 2017)
3. การออกแบบวงจรและการประยุกต์ใช้ในการพิสูจน์ความรู้เป็นศูนย์
ในระบบพิสูจน์ความรู้เป็นศูนย์ กระบวนการออกแบบวงจรเกี่ยวข้องกับการแสดงปัญหาเพื่อพิสูจน์ว่าเป็นวงจร กระบวนการนี้จำเป็นต้องมีการออกแบบวงจร zk ต้องใช้ "การคิดย้อนกลับ" อย่างมาก: "หากการคำนวณอ้างว่าผลลัพธ์เป็นจริง จากนั้นจะต้องปฏิบัติตามข้อกำหนดบางประการ หากข้อกำหนดเหล่านี้ยากต่อการสร้างแบบจำลองด้วยการบวกหรือการคูณเพียงอย่างเดียว เราขอให้ผู้พิสูจน์อักษรทำงานเพิ่มเติมเพื่อให้เราสามารถจำลองข้อกำหนดเหล่านี้ได้ง่ายขึ้น กระบวนการออกแบบมักจะทำตามขั้นตอนต่อไปนี้ ( ไชโดส, 2017):
การเป็นตัวแทนปัญหา: ขั้นแรก แปลงปัญหาที่ต้องการพิสูจน์ เช่น กระบวนการคำนวณของฟังก์ชันแฮชการเข้ารหัส ให้อยู่ในรูปของวงจร ซึ่งเกี่ยวข้องกับการแจกแจงขั้นตอนการคำนวณออกเป็นหน่วยพื้นฐานในวงจร เช่น ประตูและสายไฟ
การเพิ่มประสิทธิภาพวงจร: ด้วยวิธีการทางเทคนิค เช่น การรวมเกตและการพับอย่างต่อเนื่อง การออกแบบวงจรได้รับการปรับให้เหมาะสมเพื่อลดจำนวนเกตและขั้นตอนการคำนวณที่จำเป็น ซึ่งจะช่วยปรับปรุงประสิทธิภาพการทำงานและความเร็วการตอบสนองของระบบ
แปลงเป็นรูปแบบพหุนาม: เพื่อปรับให้เข้ากับเทคโนโลยีพิสูจน์ความรู้เป็นศูนย์ วงจรที่ได้รับการปรับปรุงจะถูกแปลงเป็นรูปแบบพหุนามเพิ่มเติม แต่ละองค์ประกอบของวงจรและการเชื่อมต่อสอดคล้องกับข้อจำกัดพหุนามเฉพาะ
สร้างสตริงอ้างอิงสาธารณะ (CRS): ในระหว่างขั้นตอนการเริ่มต้นระบบ สตริงอ้างอิงสาธารณะซึ่งรวมถึงคีย์ใบรับรองและคีย์การตรวจสอบจะถูกสร้างขึ้นเพื่อใช้ในภายหลังในการสร้างใบรับรองและกระบวนการตรวจสอบ
การสร้างและการตรวจสอบพิสูจน์: ผู้พิสูจน์ทำการคำนวณบนวงจรตามอินพุตส่วนตัวและ CRS เพื่อสร้างหลักฐานที่ไม่มีความรู้ ผู้ตรวจสอบสามารถตรวจสอบความถูกต้องของการพิสูจน์ตามคำอธิบายวงจรสาธารณะและ CRS โดยไม่ต้องรู้ข้อมูลส่วนตัวของผู้พิสูจน์ (Chaidos, 2017)
การออกแบบวงจรพิสูจน์ความรู้เป็นศูนย์เกี่ยวข้องกับการแปลงกระบวนการคำนวณเฉพาะเป็นการแทนวงจรและสร้างข้อจำกัดพหุนามเพื่อให้มั่นใจในความถูกต้องของผลการคำนวณ ขณะเดียวกันก็หลีกเลี่ยงการเปิดเผยข้อมูลส่วนบุคคลเพิ่มเติมใดๆ ในการออกแบบวงจร ภารกิจหลักคือการเพิ่มประสิทธิภาพโครงสร้างของวงจรและสร้างการแสดงพหุนามที่มีประสิทธิภาพ เพื่อปรับปรุงประสิทธิภาพของการสร้างและการตรวจสอบพิสูจน์หลักฐาน ด้วยการดำเนินการตามขั้นตอนเหล่านี้ เทคโนโลยีการพิสูจน์ความรู้แบบศูนย์สามารถตรวจสอบความถูกต้องของการคำนวณได้โดยไม่ทำให้ข้อมูลเพิ่มเติมรั่วไหล ทำให้มั่นใจได้ว่าความต้องการสองประการในการปกป้องความเป็นส่วนตัวและความปลอดภัยของข้อมูลจะได้รับการตอบสนอง (Chaidos, 2017)
4. ข้อผิดพลาดและความท้าทายที่อาจเกิดขึ้น
ข้อเสีย ได้แก่ :
ความซับซ้อนและขนาดของวงจร: การคำนวณที่ซับซ้อนต้องใช้วงจรขนาดใหญ่ ส่งผลให้ต้นทุนการคำนวณในการสร้างและการตรวจสอบพิสูจน์หลักฐานเพิ่มขึ้นอย่างมาก โดยเฉพาะอย่างยิ่งเมื่อประมวลผลข้อมูลขนาดใหญ่
ความยากในการเพิ่มประสิทธิภาพ: แม้ว่าวิธีการทางเทคนิค (เช่น การรวมเกต การพับอย่างต่อเนื่อง ฯลฯ) สามารถเพิ่มประสิทธิภาพวงจรได้ แต่การออกแบบและเพิ่มประสิทธิภาพวงจรที่มีประสิทธิภาพยังคงต้องใช้ความเชี่ยวชาญเชิงลึก
ความสามารถในการปรับตัวให้เข้ากับงานการประมวลผลเฉพาะงาน: งานการประมวลผลที่แตกต่างกันต้องมีการออกแบบวงจรที่แตกต่างกัน และการออกแบบวงจรที่มีประสิทธิภาพสำหรับงานเฉพาะแต่ละงานอาจใช้เวลานานและยากที่จะสรุปได้
ความยากในการใช้อัลกอริธึมการเข้ารหัส: การใช้อัลกอริธึมการเข้ารหัสที่ซับซ้อน (เช่น ฟังก์ชันแฮชหรือการเข้ารหัสคีย์สาธารณะ) อาจต้องใช้ลอจิกเกตจำนวนมาก ทำให้การออกแบบวงจรและการใช้งานทำได้ยาก
การใช้ทรัพยากร: วงจรขนาดใหญ่ต้องการทรัพยากรฮาร์ดแวร์จำนวนมาก และอาจพบปัญหาคอขวดในการใช้งานฮาร์ดแวร์จริงในแง่ของการใช้พลังงาน ความร้อน และพื้นที่ทางกายภาพ (Goldreich, 2004; Chaidos, 2017; Partala, Nguyen & Pirttikangas, 2020; อาทิตย์ และคณะ 2021 )
แนวทางแก้ไขและการปรับปรุง:
เทคโนโลยีการบีบอัดวงจร: ลดจำนวนลอจิกเกตและทรัพยากรการประมวลผลที่ต้องการโดยการวิจัยและประยุกต์ใช้เทคโนโลยีการบีบอัดวงจรที่มีประสิทธิภาพ
การออกแบบแบบแยกส่วน: การออกแบบวงจรแบบแยกส่วนช่วยเพิ่มความสามารถในการนำกลับมาใช้ใหม่และความสามารถในการปรับขนาดของการออกแบบวงจร และลดภาระงานของการออกแบบวงจรใหม่สำหรับงานต่างๆ
การเร่งด้วยฮาร์ดแวร์: ใช้ฮาร์ดแวร์เฉพาะ (เช่น FPGA หรือ ASIC) เพื่อเร่งการคำนวณวงจร และปรับปรุงประสิทธิภาพโดยรวมของการพิสูจน์ความรู้แบบศูนย์ (Goldreich, 2004; Chaidos, 2017; Partala, Nguyen & Pirttikangas, 2020; Sun et al., 2021 ).
4. รูปแบบการพิสูจน์ความรู้เป็นศูนย์
1.ความเป็นมา
การพิสูจน์ความรู้แบบไม่มีวงจรนั้นมีความหลากหลายต่ำและจำเป็นต้องมีการพัฒนาโมเดลและอัลกอริธึมใหม่สำหรับปัญหาเฉพาะ ปัจจุบันมีคอมไพเลอร์ภาษาระดับสูงและเครื่องมือรวมวงจรระดับต่ำมากมายสำหรับการสร้างวงจรและอัลกอริธึมการออกแบบ ของการคำนวณที่เกี่ยวข้องสามารถทำได้ด้วยตนเอง เครื่องมือสร้างวงจร หรือคอมไพเลอร์อัตโนมัติเสร็จสมบูรณ์ การแปลงด้วยตนเองมักจะสร้างวงจรที่ได้รับการปรับปรุงให้เหมาะสมที่สุด ในขณะที่การแปลงอัตโนมัติจะสะดวกกว่าสำหรับนักพัฒนา แอปพลิเคชันที่เน้นประสิทธิภาพมักต้องใช้เครื่องมือแปลงด้วยตนเอง (Chaidos, 2017; Partala, Nguyen & Pirttikangas, 2020; Sun et al., 2021)
บทความนี้จะกล่าวถึงบางส่วนที่เป็นที่รู้จักมากที่สุด โดยรวมแล้ว โมเดลเหล่านี้เป็นส่วนขยายหรือตัวแปรของเทคโนโลยี zkSNARKs โดยแต่ละโมเดลพยายามที่จะเพิ่มประสิทธิภาพภายในข้อกำหนดการใช้งานเฉพาะ (เช่น ขนาดการพิสูจน์ ความซับซ้อนในการคำนวณ ข้อกำหนดในการตั้งค่า ฯลฯ)
แต่ละโปรโตคอลมีแอปพลิเคชัน ข้อดี และข้อจำกัดเฉพาะตัว โดยเฉพาะอย่างยิ่งในแง่ของข้อกำหนดในการตั้งค่า ขนาดการพิสูจน์ ความเร็วในการตรวจสอบ และค่าใช้จ่ายในการคำนวณ มีการใช้ในด้านต่างๆ ตั้งแต่ความเป็นส่วนตัวในการเข้ารหัสและระบบการลงคะแนนที่ปลอดภัย ไปจนถึงการประมวลผลทั่วไปที่ได้รับการตรวจสอบในลักษณะที่ไม่มีความรู้ (Šapko, Vukmirović & Nedić, 2019)
2. โมเดลอัลกอริทึมทั่วไป
1. โมเดล zkSNARK: ในปี 2011 มันถูกเสนอโดยนักเข้ารหัสลับ Bitansky และคนอื่นๆ ว่าเป็นคำย่อของ "Zero-KnowledgeSuccinct Non-Interactive Argument of Knowledge" มันเป็นกลไกการพิสูจน์ความรู้ที่เป็นศูนย์ที่ได้รับการปรับปรุง หากมีการแยกส่วนได้ ฟังก์ชัน Resistance Hash (ECRH) จึงเป็นไปได้ที่จะใช้ SNARK สำหรับปัญหา NP และสาธิตการประยุกต์ใช้ SNARK ในการมอบหมายการคำนวณ การพิสูจน์ความรู้แบบศูนย์แบบไม่โต้ตอบที่กระชับ และการบังคับใช้การคำนวณที่ปลอดภัยของทั้งสองฝ่ายโดยสรุป การศึกษานี้ยังแสดงให้เห็นว่าการมีอยู่ของ SNARK บ่งบอกถึงความจำเป็นของ ECRH โดยสร้างการเชื่อมโยงพื้นฐานระหว่างการเข้ารหัสลับแบบดั้งเดิมเหล่านี้ (Bitansky et al., 2011)
ระบบ zkSNARK ประกอบด้วยสามส่วน: การตั้งค่า ตัวพิสูจน์ และผู้ตรวจสอบ กระบวนการตั้งค่าจะสร้าง Proof Key (PK) และ Verification Key (VK) โดยใช้พารามิเตอร์ความปลอดภัยที่กำหนดไว้ล่วงหน้า l และวงจร F-เลขคณิต C อินพุตและเอาต์พุตทั้งหมดของวงจรนี้เป็นองค์ประกอบในโดเมน F PK ใช้เพื่อสร้างข้อพิสูจน์ที่ตรวจสอบได้ ในขณะที่ VK ใช้เพื่อตรวจสอบข้อพิสูจน์ที่สร้างขึ้น ขึ้นอยู่กับ PK ที่สร้างขึ้น ผู้พิสูจน์จะสร้างการพิสูจน์ p โดยใช้อินพุต x ∈ Fn และพยาน W ∈ Fh โดยที่ C(x, W) = 0 l ที่นี่ C(x, W) = 0 l หมายความว่าเอาต์พุตของวงจร C คือ 0 l และ x และ W เป็นพารามิเตอร์อินพุตของวงจร C n, h และ l แสดงถึงขนาดของเอาต์พุต x, W และ C ตามลำดับ สุดท้าย ผู้ตรวจสอบจะใช้ VK, x และ p ในการตรวจสอบ p และตัดสินใจที่จะยอมรับหรือปฏิเสธการพิสูจน์ตามผลการตรวจสอบ (Bitansky et al., 2011)
นอกจากนี้ zkSNARK ยังมีคุณสมบัติเพิ่มเติมบางอย่างอีกด้วย ขั้นแรก กระบวนการตรวจสอบสามารถเสร็จสิ้นได้ในเวลาอันสั้น และขนาดของหลักฐานโดยปกติจะมีขนาดเพียงไม่กี่ไบต์เท่านั้น ประการที่สอง ไม่จำเป็นต้องมีการสื่อสารแบบซิงโครนัสระหว่างผู้พิสูจน์และผู้ตรวจสอบ และผู้ตรวจสอบใดๆ ก็สามารถตรวจสอบการพิสูจน์แบบออฟไลน์ได้ ในที่สุด อัลกอริธึมของตัวพิสูจน์สามารถนำไปใช้ในเวลาพหุนามเท่านั้น ตั้งแต่นั้นเป็นต้นมา มีโมเดล zkSNARK ที่ได้รับการปรับปรุงมากมายเกิดขึ้น ซึ่งช่วยเพิ่มประสิทธิภาพและขอบเขตการใช้งานให้เหมาะสมยิ่งขึ้น (Bitansky et al., 2011)
2. แบบจำลองของ Ben-Sasson: Ben-Sasson และคณะ เสนอแบบจำลอง zkSNARK ใหม่สำหรับการดำเนินการโปรแกรมสถาปัตยกรรม von Neumann RISC ในปี 2013 และ 2014 จากนั้น จากเครื่องกำเนิดวงจรสากลที่นำเสนอ Ben-Sasson และคณะได้สร้างระบบและสาธิตการใช้งานในการตรวจสอบการทำงานของโปรแกรม ระบบประกอบด้วยสององค์ประกอบ: ระบบพิสูจน์การเข้ารหัสสำหรับตรวจสอบความพึงพอใจของวงจรเลขคณิต และเครื่องกำเนิดวงจรที่แปลงการทำงานของโปรแกรมเป็นวงจรเลขคณิต การออกแบบนี้มีประสิทธิภาพเหนือกว่างานก่อนหน้านี้ทั้งในด้านฟังก์ชันการทำงานและประสิทธิภาพ โดยเฉพาะอย่างยิ่งลักษณะทั่วไปของเครื่องกำเนิดวงจรและการพึ่งพาเพิ่มเติมของขนาดวงจรเอาท์พุต การประเมินเชิงทดลองแสดงให้เห็นว่าระบบสามารถจัดการโปรแกรมได้ถึง 10,000 คำสั่ง และสร้างข้อพิสูจน์ที่กระชับในระดับความปลอดภัยสูงด้วยเวลาการตรวจสอบเพียง 5 มิลลิวินาที คุณค่าของมันอยู่ที่การจัดหาโซลูชัน zk-SNARKs ที่มีประสิทธิภาพ อเนกประสงค์ และปลอดภัยสำหรับการใช้งานจริง เช่น บล็อกเชน และสัญญาอัจฉริยะที่รักษาความเป็นส่วนตัว (Ben-Sasson et al., 2013, 2014)
3. โมเดล Pinocchio: เสนอโดย Parno et al. (2013) ซึ่งเป็นชุดการสร้างอาร์กิวเมนต์ที่ไม่มีความรู้แบบไม่มีการโต้ตอบที่สมบูรณ์ (Parno et al., 2013) ประกอบด้วยคอมไพเลอร์ขั้นสูงที่ช่วยให้นักพัฒนาสามารถแปลการคำนวณเป็นวงจรได้อย่างง่ายดาย คอมไพเลอร์เหล่านี้ยอมรับโค้ดที่เขียนด้วยภาษาระดับสูง ดังนั้นอัลกอริธึมเก่าและใหม่จึงสามารถแปลงได้อย่างง่ายดาย อย่างไรก็ตาม อาจมีข้อจำกัดบางประการเกี่ยวกับโครงสร้างโค้ดเพื่อสร้างวงจรที่มีขนาดเหมาะสม
คุณสมบัติอีกประการหนึ่งของพินอคคิโอคือการใช้โครงสร้างทางคณิตศาสตร์ที่เรียกว่าโปรแกรมเลขคณิตกำลังสอง (QAP) ซึ่งสามารถแปลงงานการคำนวณเป็นงานตรวจสอบได้อย่างมีประสิทธิภาพ QAP สามารถเข้ารหัสวงจรเลขคณิตตามอำเภอใจเป็นชุดของพหุนาม และต้องการเพียงความซับซ้อนของเวลาและพื้นที่เชิงเส้นเพื่อสร้างพหุนามเหล่านี้ ขนาดของหลักฐานที่สร้างโดย Pinocchio คือ 288 ไบต์ ซึ่งไม่เปลี่ยนแปลงตามความซับซ้อนของงานคำนวณและขนาดอินพุตและเอาต์พุต สิ่งนี้จะช่วยลดค่าใช้จ่ายในการส่งข้อมูลและการจัดเก็บข้อมูลได้อย่างมาก โดยทั่วไปเวลาในการตรวจสอบของ Pinocchio คือ 10 มิลลิวินาที ซึ่งลดเวลาการตรวจสอบลง 5-7 ลำดับความสำคัญเมื่อเทียบกับงานก่อนหน้า สำหรับบางแอปพลิเคชัน Pinocchio สามารถตรวจสอบได้เร็วกว่าการดำเนินการแบบเนทีฟด้วยซ้ำ การลดค่าใช้จ่ายในการพิสูจน์ผู้ปฏิบัติงาน: Pinocchio ยังช่วยลดค่าใช้จ่ายในการสร้างหลักฐานผู้ปฏิบัติงานลงได้ 19-60 เท่าเมื่อเทียบกับงานก่อนหน้า (Parno etal., 2013)
4. โมเดลกันกระสุน: ในปี 2560 Benedikt Bünz และคณะ (2018) ได้ออกแบบโมเดล ZKP แบบไม่โต้ตอบใหม่ ไม่จำเป็นต้องตั้งค่าความน่าเชื่อถือ และขนาดการพิสูจน์จะเพิ่มขึ้นแบบลอการิทึมตามขนาดค่าพยาน กันกระสุนมีความเหมาะสมเป็นพิเศษสำหรับการพิสูจน์ช่วงเวลาในการทำธุรกรรมที่เป็นความลับ และสามารถพิสูจน์ได้ว่าค่าอยู่ในช่วงที่กำหนดโดยใช้องค์ประกอบกลุ่มและฟิลด์จำนวนน้อยที่สุด นอกจากนี้ Bulletproofs ยังสนับสนุนการรวมการพิสูจน์ตามช่วงเวลา ซึ่งช่วยให้สามารถสร้างการพิสูจน์เพียงรายการเดียวผ่านโปรโตคอลการคำนวณแบบหลายฝ่ายที่กระชับ ซึ่งช่วยลดเวลาในการสื่อสารและการตรวจสอบได้อย่างมาก Bulletproofs ได้รับการออกแบบให้มีประสิทธิภาพสูงและใช้งานได้จริงในสภาพแวดล้อมแบบกระจายและไม่น่าเชื่อถือ เช่น สกุลเงินดิจิทัล Bulletproofs ไม่ใช่โปรโตคอลแบบวงจรแบบดั้งเดิมอย่างเคร่งครัด ซึ่งไม่กระชับเท่ากับ SNARK และใช้เวลาในการตรวจสอบ Bulletproof นานกว่าการตรวจสอบ SNARK Proofs แต่จะมีประสิทธิภาพมากกว่าในสถานการณ์ที่ไม่จำเป็นต้องมีการตั้งค่าที่เชื่อถือได้
5. โมเดล Ligero: โมเดลอาร์กิวเมนต์ความรู้เป็นศูนย์แบบน้ำหนักเบาที่เสนอโดย Ames และคณะ (2017) ความซับซ้อนในการสื่อสารของ Ligero เป็นสัดส่วนกับรากที่สองของขนาดวงจรการตรวจสอบ นอกจากนี้ Ligero ยังสามารถพึ่งพาฟังก์ชันแฮชที่ป้องกันการชนกัน นอกจากนี้ Ligero อาจเป็นโครงร่าง zkSNARK ในโมเดล Oracle แบบสุ่ม โมเดลนี้ไม่จำเป็นต้องมีการตั้งค่าที่เชื่อถือได้หรือการเข้ารหัสคีย์สาธารณะ Ligero สามารถใช้กับวงจรตรวจสอบที่มีขนาดใหญ่มากได้ ในขณะเดียวกันก็เหมาะสำหรับวงจรขนาดกลางและขนาดใหญ่ในการใช้งาน
3. วิธีแก้ปัญหาโดยใช้ PCP เชิงเส้นและปัญหาลอการิทึมแบบไม่ต่อเนื่อง
Ishai และ Paskin (2007) เสนอให้ใช้การเข้ารหัสคีย์สาธารณะแบบโฮโมมอร์ฟิกเพิ่มเติม เพื่อลดความซับซ้อนในการสื่อสารของ PCP เชิงเส้นเชิงโต้ตอบ ต่อมา Groth และคณะได้ตีพิมพ์ผลการศึกษาหลายฉบับตั้งแต่ปี 2549 ถึง 2551 และเสนอโครงการ NIZK โดยอิงจากปัญหาลอการิทึมแบบไม่ต่อเนื่องและการจับคู่แบบไบลิเนียร์ เพื่อให้ได้ความครบถ้วนสมบูรณ์ ความถูกต้องในการคำนวณ และความรู้เป็นศูนย์ที่สมบูรณ์แบบ โครงการนี้กำหนดข้อความว่าเป็นปัญหาความพึงพอใจข้อจำกัดพีชคณิต โดยใช้โครงการข้อผูกพันในการเข้ารหัสที่คล้ายคลึงกับข้อผูกพัน Pedersen เพื่อให้ได้ความยาวการพิสูจน์แบบซับลิเนียร์และการไม่โต้ตอบ โดยไม่จำเป็นต้องใช้การวิเคราะห์พฤติกรรมของ Fiat-Shamir แม้ว่า CRS ขนาดใหญ่และสมมติฐานด้านการเข้ารหัสลับที่แข็งแกร่ง "ความรู้แบบเอ็กซ์โพเนนเชียล" จำเป็นต้องใช้ แต่ CRS ที่ยาวเพียงพอสามารถบรรลุความยาวการพิสูจน์ที่คงที่ การตรวจสอบและการพิสูจน์มีราคาแพง ดังนั้นจึงขอแนะนำให้ใช้โมเดลความปลอดภัย "การสกัดแบบจำลอง" รูปแบบประเภทนี้ขึ้นอยู่กับปัญหา PCP เชิงเส้นและ/หรือลอการิทึมแบบไม่ต่อเนื่อง แต่ไม่มีความต้านทานควอนตัมทั้งคู่ (Groth, 2006, 2006, 2008; Groth & Sahai, 2007)
6. โมเดล Groth 16: เป็นระบบพิสูจน์ความรู้เป็นศูนย์แบบไม่โต้ตอบที่มีประสิทธิภาพ เสนอโดย Jens Groth ในปี 2559 โปรโตคอลนี้ใช้การจับคู่ Elliptic Curve และโปรแกรมเลขคณิตกำลังสอง (QAP) และมีเป้าหมายเพื่อให้การพิสูจน์ความรู้แบบไม่มีความรู้ที่กระชับ รวดเร็ว และปลอดภัย
7. โมเดล Sonic: M. Maller และคณะ (2019) เสนอโมเดล CRS ที่อัปเดตได้โดยใช้ Groth โดยใช้โครงร่างความมุ่งมั่นแบบพหุนาม การจับคู่ และวงจรเลขคณิต จำเป็นต้องมีการตั้งค่าที่เชื่อถือได้ ซึ่งสามารถทำได้ผ่านการคำนวณแบบหลายฝ่ายที่ปลอดภัย เมื่อสร้าง CRS แล้ว จะรองรับวงจรทุกขนาด
8. โมเดล PLONK: zk-SNARK ทั่วไปที่เสนอในปี 2019 โดยใช้พหุนามที่มีการดัดแปลงเพื่อลดความซับซ้อนของการแทนค่าวงจรเลขคณิต ทำให้การพิสูจน์ง่ายขึ้นและมีประสิทธิภาพมากขึ้น มีความหลากหลายและรองรับการผสมการพิสูจน์แบบเรียกซ้ำ (Gabizon, Williamson & Ciobotaru, 2019) โมเดล PLONK อ้างว่าลดความยาวการพิสูจน์ของ Sonic และปรับปรุงประสิทธิภาพการพิสูจน์ แต่ยังไม่ผ่านการตรวจสอบโดยผู้ทรงคุณวุฒิ
9. โมเดล Marlin: โปรโตคอล zk-SNARK ที่ได้รับการปรับปรุง ซึ่งรวมประสิทธิภาพของระบบพิสูจน์พีชคณิตเข้ากับคุณสมบัติการตั้งค่าที่เป็นสากลและอัปเดตได้ของ Sonic และ PLONK ให้การปรับปรุงขนาดการพิสูจน์และเวลาในการตรวจสอบ (Chiesa et al., 2019)
10. โมเดล SLONK: โปรโตคอลใหม่ที่ Zac และ Ariel นำมาใช้ในเอกสาร ethresear ซึ่งเป็นส่วนขยายของ PLONK ที่ออกแบบมาเพื่อแก้ไขปัญหาประสิทธิภาพการคำนวณเฉพาะ และปรับปรุงการทำงานของระบบ PLONK ดั้งเดิม ซึ่งมักจะเกี่ยวข้องกับการเปลี่ยนแปลงในสมมติฐานการเข้ารหัสพื้นฐานหรือการใช้งาน ( การวิจัยอีเธอเรียม, 2019)
11. โมเดล SuperSonic: มีการใช้แผนพันธสัญญาพหุนามแบบใหม่เพื่อเปลี่ยน Sonic ให้เป็นโครงการที่ไม่มีความรู้โดยไม่ต้องตั้งค่าความเชื่อถือ ไม่ต้านทานควอนตัม (Bünz, Fisch & Szepieniec, 2019)
4. แนวทางแก้ไขตามคำรับรองของคนทั่วไป
"พิสูจน์เพื่อมักเกิ้ล" เป็นวิธีพิสูจน์ความรู้แบบศูนย์แบบใหม่ที่เสนอโดย Goldwasser, Kalai และ Rothblum ในปี 2551 แนวทางนี้สร้างการพิสูจน์เชิงโต้ตอบสำหรับเครื่องพิสูจน์พหุนาม-เวลาในรูปแบบการพิสูจน์เชิงโต้ตอบดั้งเดิม และใช้ได้กับปัญหาที่หลากหลาย การพิสูจน์เหล่านี้สามารถเปลี่ยนเป็นการพิสูจน์ความรู้เป็นศูนย์แบบไม่โต้ตอบผ่านการเปลี่ยนแปลงของ Kalai และคณะ (Kalai, Raz & Rothblum, 2014)
12. โมเดล Hyrax: จากการพิสูจน์ของคนทั่วไป Wahby และคณะ (2018) ได้ออกแบบแผนการโต้แย้งแบบไม่มีความรู้ที่มีการสื่อสารต่ำและมีต้นทุนต่ำ Hyrax ซึ่งมีต้นทุนต่ำมากสำหรับผู้พิสูจน์และผู้ตรวจสอบ ในสถานการณ์สมมตินี้ ไม่มีการตั้งค่าที่เชื่อถือได้ในอาร์กิวเมนต์นี้ หากใช้กับชุดคำสั่ง เวลาการตรวจสอบจะมีความสัมพันธ์ใต้เชิงเส้นกับขนาดวงจรเลขคณิตที่คงที่อย่างดี เวลาทำงานของสุภาษิตจะปรับขนาดเป็นเส้นตรงกับขนาดของวงจรเลขคณิตและจะคงที่เช่นกัน โดยใช้การวิเคราะห์พฤติกรรมของ Fiat-Shamir เพื่อให้เกิดการไม่โต้ตอบ โดยอิงตามปัญหาลอการิทึมแบบไม่ต่อเนื่อง และไม่สามารถต้านทานควอนตัมได้
13. โมเดล Libra: โมเดล ZKP รุ่นแรกที่มีเวลาพิสูจน์เชิงเส้น ขนาดการพิสูจน์ที่กระชับ และเวลาการตรวจสอบ ในราศีตุลย์ เพื่อลดค่าใช้จ่ายในการตรวจสอบ กลไกความรู้เป็นศูนย์จึงถูกนำมาใช้ผ่านวิธีการที่สามารถปกปิดพหุนามแบบสุ่มเล็กน้อยของการตอบสนองของผู้พิสูจน์ นอกจากนี้ Libra ต้องการการตั้งค่าที่เชื่อถือได้เพียงครั้งเดียว ซึ่งขึ้นอยู่กับขนาดอินพุตของวงจรเท่านั้น Libra มีประสิทธิภาพเชิงเส้นกำกับที่ยอดเยี่ยมและประสิทธิภาพในการพิสูจน์ที่ยอดเยี่ยม ประสิทธิภาพในแง่ของขนาดการพิสูจน์และเวลาในการตรวจสอบก็มีประสิทธิภาพมากเช่นกัน (Xie et al., 2019)
ในแง่ของความซับซ้อนในการคำนวณของอัลกอริธึมพิสูจน์อักษร Libra มีประสิทธิภาพเหนือกว่าแบบจำลองของ Ben-Sasson, Ligero, Hyrax และ Aurora นอกจากนี้ ความซับซ้อนในการคำนวณของอัลกอริธึมการพิสูจน์ของ Libra นั้นไม่ขึ้นอยู่กับประเภทของวงจร (Partala, Nguyen & Pirttikangas, 2020)
14. โมเดล Spartan: ระบบพิสูจน์ความรู้เป็นศูนย์ที่เสนอโดย Srinath Setty (2019) ซึ่งมีจุดมุ่งหมายเพื่อให้การพิสูจน์ที่มีประสิทธิภาพโดยไม่ต้องมีการตั้งค่าที่เชื่อถือได้ ใช้การแปลง Fiat-Shamir เพื่อให้เกิดการไม่มีการโต้ตอบ เป็นที่รู้จักในด้านการออกแบบให้มีน้ำหนักเบาและความสามารถในการจัดการวงจรขนาดใหญ่ได้อย่างมีประสิทธิภาพ
5. ความรู้เป็นศูนย์โดยอิงจากการพิสูจน์ความน่าจะเป็น (PCP)
Kilian (1992) ได้สร้างโครงการอาร์กิวเมนต์ความรู้เป็นศูนย์เชิงโต้ตอบชุดแรกสำหรับ NP ซึ่งทำให้เกิดการสื่อสารแบบหลายลอการิทึม โครงการนี้ใช้ฟังก์ชันแฮชที่ทนต่อการชนกัน ระบบพิสูจน์แบบโต้ตอบ (IP) และการพิสูจน์พิสูจน์ความน่าจะเป็น (PCP) ผู้พิสูจน์และผู้ตรวจสอบ (เป็นอัลกอริธึมแบบสุ่ม) สื่อสารผ่านหลายรอบ โดยผู้ตรวจสอบจะทดสอบความรู้ของผู้พิสูจน์เกี่ยวกับข้อความนั้น โดยทั่วไปจะพิจารณาเฉพาะข้อผิดพลาดด้านเดียวเท่านั้น ผู้พิสูจน์สามารถปกป้องข้อความที่แท้จริงได้เสมอ แต่ผู้ตรวจสอบอาจยอมรับข้อความเท็จที่มีความน่าจะเป็นต่ำ ในปี พ.ศ. 2543 มิกาลีใช้การแปลง Fiat-Shamir เพื่อแปลงรูปแบบให้เป็นข้อความเดียวแบบไม่โต้ตอบ การใช้งานต่อไปนี้สามารถพิจารณาได้ว่าจะใช้แนวทางนี้:
15. โมเดล STARK: ในปี 2018 เทคโนโลยี ZK-STARK (Scalable Transparent ARgument of Knowledge) ได้รับการเสนอโดย Ben-Sasson และคณะ ในปี 2018 โดยมีเป้าหมายเพื่อแก้ไขปัญหาความไร้ประสิทธิภาพของ zk-SNARK เมื่อประมวลผลการพิสูจน์ที่ซับซ้อน ในเวลาเดียวกัน จะช่วยแก้ปัญหาในการตรวจสอบความสมบูรณ์ของการคำนวณในข้อมูลส่วนตัว และสามารถให้การพิสูจน์ที่โปร่งใสและปลอดภัยหลังควอนตัม โดยไม่ต้องพึ่งพาฝ่ายที่เชื่อถือได้
ในปีเดียวกันนั้น Ben-Sasson และคนอื่นๆ ได้ก่อตั้ง StarkWare Industries และพัฒนาโซลูชันความสามารถในการขยายขนาดตัวแรก StarkEx โดยใช้ ZK-STARK ตามเอกสารอย่างเป็นทางการของ Ethereum สามารถบรรลุการไม่โต้ตอบในโมเดล oracle แบบสุ่มผ่านกระบวนทัศน์ Fiat-Shamir โครงสร้างนี้ทนทานต่อควอนตัม แต่ความปลอดภัยขึ้นอยู่กับสมมติฐานการเข้ารหัสที่ไม่ได้มาตรฐานเกี่ยวกับรหัสรีด-โซโลมอน ZK-STARK มีลักษณะเช่นเดียวกับ ZK-SNARK แต่มีข้อดีดังต่อไปนี้: ก) ความสามารถในการปรับขนาด: กระบวนการตรวจสอบเร็วขึ้น ความโปร่งใส: กระบวนการตรวจสอบเป็นแบบสาธารณะ ขนาดการพิสูจน์ที่ใหญ่กว่า: ต้องใช้ค่าธรรมเนียมการทำธุรกรรมที่สูงขึ้น (StarkWare Industries, 2018, 2018)
16. โมเดลออโรร่า: เสนอโดย Ben-Sasson และคณะ (2019) ซึ่งอิงตาม Succinct Non-Interactive Argument (SNARG) ของ STARK แบบไม่โต้ตอบตามการก่อสร้าง Fiat-Shamir ใช้กับความพึงพอใจของวงจรเลขคณิต ขนาดอาร์กิวเมนต์ของออโรร่าจะปรับขนาดแบบโพลิลอการิทึมตามขนาดวงจร นอกจากนี้ ออโรรายังมีคุณสมบัติที่น่าสนใจหลายประการ ในออโรร่า มีฉากที่โปร่งใส ไม่มีการโจมตีด้วยคอมพิวเตอร์ควอนตัมที่มีประสิทธิภาพใดที่สามารถทำลายออโรราได้ นอกจากนี้ การเข้ารหัสแบบสมมาตรที่รวดเร็วยังใช้เป็นกล่องดำอีกด้วย ออโรร่าปรับขนาดการพิสูจน์ให้เหมาะสม ตัวอย่างเช่น หากพารามิเตอร์ความปลอดภัยเป็น 128 บิต ขนาดการพิสูจน์ของ Aurora จะอยู่ที่สูงสุด 250 กิโลไบต์ Aurora และ Ligero ปรับขนาดการพิสูจน์ให้เหมาะสมและค่าใช้จ่ายในการคำนวณ ทำให้เหมาะสำหรับการพิสูจน์ความรู้แบบเป็นศูนย์บนอุปกรณ์ที่มีทรัพยากรจำกัด การเพิ่มประสิทธิภาพเหล่านี้ไม่เพียงแต่ปรับปรุงประสิทธิภาพเท่านั้น แต่ยังขยายขอบเขตการประยุกต์ใช้เทคโนโลยีพิสูจน์ความรู้เป็นศูนย์ ทำให้สามารถนำไปใช้ในสถานการณ์จริงได้มากขึ้น
17. โมเดล Succinct Aurora: Ben-Sasson และคณะ (2019) เสนอในรายงานฉบับเดียวกัน: ส่วนขยายของโปรโตคอล Aurora ที่ให้ขนาดการพิสูจน์และกระบวนการตรวจสอบที่เหมาะสมยิ่งขึ้น โดยจะรักษาการตั้งค่าที่โปร่งใสและคุณลักษณะด้านความปลอดภัยของ Aurora ในขณะเดียวกันก็เพิ่มประสิทธิภาพ
18. แบบจำลองแฟร็กทัล: Chiesa และคณะ (2020) เสนอ SNARK การประมวลผลล่วงหน้าที่ใช้ชุดค่าผสมแบบเรียกซ้ำเพื่อปรับปรุงประสิทธิภาพและความสามารถในการปรับขนาด ใช้ขนาดการพิสูจน์ลอการิทึมและเวลาการตรวจสอบ และเหมาะอย่างยิ่งสำหรับการคำนวณที่ซับซ้อน
6. การจำแนกประเภทตามขั้นตอนการตั้งค่าของ CPC (Common Proof Construction)
รุ่นที่ 1 (G 1) - แต่ละวงจรต้องมีการตั้งค่าที่เชื่อถือได้แยกต่างหาก zkSNARK, พินอคคิโอ และกรอธ 16
รุ่นที่ 2 (G 2) - ตั้งค่าเริ่มต้นครั้งเดียวสำหรับทุกวงจร PlonK, Sonic, Marlin, slonk และ Libra
รุ่นที่สาม (G 3) - ระบบการรับรองที่ไม่จำเป็นต้องมีการตั้งค่าที่เชื่อถือได้ เครื่องกันกระสุน, STARK, Spartan, Fractal, Supersonic, Ligero, Aurora และ SuccinctAurora (Šapko, Vukmirović & Nedić, 2019; Partala, Nguyen & Pirttikangas, 2020)
5. ภาพรวมและการพัฒนาเครื่องเสมือนที่ไม่มีความรู้
1.ความเป็นมา
ส่วนก่อนหน้านี้เป็นข้อมูลเพิ่มเติมเกี่ยวกับการพัฒนา ZKP ที่ไม่มีความรู้ในการเข้ารหัส ต่อไป เราจะแนะนำการพัฒนาในด้านคอมพิวเตอร์โดยย่อ
ในปี 2019 Andreev และคนอื่นๆ ได้เสนอแนวคิดของ ZK-VM เป็นครั้งแรกในการประชุม "ZkVM: สัญญาบล็อคเชนที่รวดเร็ว เป็นส่วนตัว และยืดหยุ่น" เพื่อเป็นวิธีการปรับใช้ระบบพิสูจน์ความรู้เป็นศูนย์ เป้าหมายของ ZK-VM คือการสร้างการพิสูจน์ความรู้แบบศูนย์โดยการรันโปรแกรมเครื่องเสมือนเพื่อตรวจสอบความถูกต้องของการทำงานของโปรแกรมโดยไม่ทำให้ข้อมูลอินพุตรั่วไหล
VM (VirtualMachine, เครื่องเสมือน) เป็นระบบคอมพิวเตอร์จำลองด้วยซอฟต์แวร์ที่สามารถรันโปรแกรมได้คล้ายกับคอมพิวเตอร์จริง โดยปกติแล้ว VM จะใช้เพื่อสร้างสภาพแวดล้อมระบบปฏิบัติการอิสระ ดำเนินการทดสอบและพัฒนาซอฟต์แวร์ ฯลฯ VM หรือ VM abstraction สามารถเข้าใจได้ว่าเป็น CPU abstraction ในกรณีส่วนใหญ่ โดยหมายถึงการสรุปการดำเนินการที่ซับซ้อนและสถาปัตยกรรมของหน่วยประมวลผล (CPU) ของคอมพิวเตอร์ให้เป็นชุดของสถาปัตยกรรมชุดคำสั่งที่เรียบง่ายและใช้งานได้ (ISA) เพื่อลดความซับซ้อนของการออกแบบและการดำเนินการ ของโปรแกรมคอมพิวเตอร์ ในแง่นามธรรมนี้ โปรแกรมคอมพิวเตอร์สามารถทำงานผ่านเครื่องเสมือน (VM) ที่จำลองพฤติกรรมการปฏิบัติงานของ CPU จริง (Henderson, 2007)
โดยทั่วไปแล้ว Zero-Knowledge Proofs (ZKP) จำเป็นต้องมีการดำเนินการผ่าน CPU Abstraction การตั้งค่าคือผู้พิสูจน์รันโปรแกรมสาธารณะบนอินพุตส่วนตัว และต้องการพิสูจน์ต่อผู้ตรวจสอบว่าโปรแกรมดำเนินการอย่างถูกต้องและสร้างเอาต์พุตที่ยืนยัน โดยไม่เปิดเผยอินพุตที่คำนวณหรือสถานะระดับกลาง นามธรรมของ CPU มีประโยชน์มากในกรณีนี้เนื่องจากช่วยให้โปรแกรมทำงานในสภาพแวดล้อมเสมือนที่มีการควบคุมในขณะที่สร้างการพิสูจน์ (Arun, Setty & Thaler, 2024)
ตัวอย่าง: ผู้พิสูจน์ประสงค์ที่จะพิสูจน์ว่ามีรหัสผ่านที่ถูกแฮชโดยไม่เปิดเผยรหัสผ่าน:
รหัสผ่าน → ฟังก์ชันแฮช → ค่าแฮช
ส่วนตัว → สาธารณะ
โดยทั่วไป ผู้พิสูจน์ควรจะสามารถเรียกใช้โค้ดที่ดำเนินการแฮชและสร้าง "การพิสูจน์" ที่ช่วยให้ใครก็ตามสามารถตรวจสอบว่าการพิสูจน์นั้นถูกต้อง กล่าวคือ ผู้พิสูจน์มีรูปภาพก่อนหน้าที่ถูกต้องของค่าแฮชที่กำหนดจริง ๆ .
ระบบที่สร้างการพิสูจน์เชิงนามธรรมของ VM เหล่านี้มักเรียกว่า "zkVM" ชื่อนี้ทำให้เข้าใจผิดจริงๆ เนื่องจาก ZKVM ไม่จำเป็นต้องให้ความรู้เป็นศูนย์ กล่าวโดยย่อคือ ZKVM เป็นเครื่องเสมือนที่มุ่งเน้นไปที่การพิสูจน์ความรู้แบบศูนย์ โดยจะขยายฟังก์ชันของ VM แบบดั้งเดิม สามารถลดเกณฑ์การพัฒนาของวงจรที่ไม่มีความรู้ในระดับสากล และสามารถสร้างการพิสูจน์สำหรับแอปพลิเคชันหรือการคำนวณใดๆ ได้ทันที (Zhang etal. ., 2023)
2. การจำแนกประเภทของ ZKVM ที่มีอยู่
ตามเป้าหมายการออกแบบส่วนใหญ่จะแบ่งออกเป็นสามประเภท:
1. ZKVM กระแสหลัก
ZKVM เหล่านี้ใช้ประโยชน์จากสถาปัตยกรรมชุดคำสั่งมาตรฐาน (ISA) และชุดเครื่องมือคอมไพเลอร์ที่มีอยู่ และเหมาะสำหรับแอปพลิเคชันและสภาพแวดล้อมการพัฒนาที่หลากหลาย
RISCZero (2021): ใช้ชุดคำสั่ง RISC-V พร้อมระบบนิเวศคอมไพเลอร์ที่สมบูรณ์ (Bögli, 2024)
PolygonMiden (2021): อิงตามมาตรฐาน ISA ช่วยให้การพัฒนาง่ายและมีประสิทธิภาพ (Chawla, 2021)
zkWASM (2022): zkWASM ใช้การพิสูจน์ความรู้เป็นศูนย์ของชุดคำสั่ง WebAssembly (WASM) ซึ่งเป็นชุดคำสั่งมาตรฐานที่นำมาใช้กันอย่างแพร่หลาย (DelphinusLab, 2022)
2. ZKVM เทียบเท่า EVM
ZKVM เหล่านี้ได้รับการออกแบบมาเป็นพิเศษเพื่อให้เข้ากันได้กับ Ethereum Virtual Machine (EVM) และสามารถรันโค้ดไบต์ของ Ethereum ได้โดยตรง
โปรเจ็กต์ zkEVM: หลายโปรเจ็กต์กำลังทำงานเพื่อให้บรรลุความเข้ากันได้ระดับไบต์โค้ดกับ EVM เช่น zkSync (MatterLabs, 2020) และ Polygon Hermez (Polygon Labs, 2021)
3. การเพิ่มประสิทธิภาพ Zero-knowledge (เป็นมิตรต่อความรู้เป็นศูนย์) ZKVM
ZKVM เหล่านี้เพิ่มประสิทธิภาพและประสิทธิภาพของการพิสูจน์ความรู้แบบศูนย์ และได้รับการออกแบบมาสำหรับสถานการณ์การใช้งานเฉพาะ
Cairo-VM (2018): เรียบง่ายและเข้ากันได้กับการพิสูจน์ SNARK ชุดคำสั่งได้รับการออกแบบเป็นพิเศษให้เป็นมิตรกับเลขคณิต ทำให้ง่ายต่อการใช้งานการดำเนินการทางคณิตศาสตร์พื้นฐาน เช่น การบวก การคูณ ฯลฯ ในวงจรความรู้เป็นศูนย์ (StarkWare, 2561)
ความถูกต้อง (2023): ปรับให้เหมาะสมสำหรับแอปพลิเคชันเฉพาะ เช่น ผ่านอัลกอริธึมการปรับให้เหมาะสม ทรัพยากรการประมวลผลและเวลาที่จำเป็นในการสร้างการพิสูจน์จะลดลง การออกแบบที่มีน้ำหนักเบาทำให้เหมาะสำหรับสภาพแวดล้อมฮาร์ดแวร์และซอฟต์แวร์ต่างๆ (LitaFoundation, 2023)
TinyRAM (2013): ไม่ต้องพึ่งพากลุ่มเครื่องมือมาตรฐาน เนื่องจากการออกแบบที่เรียบง่ายและปรับให้เหมาะสม โดยปกติแล้วจะไม่รองรับกลุ่มเครื่องมือ LLVM หรือ GCC และสามารถใช้ได้เฉพาะกับส่วนประกอบซอฟต์แวร์ที่ปรับแต่งขนาดเล็กเท่านั้น (Ben-Sasson et al. , 2013)
มุมมองทั่วไปในปัจจุบันคือ VM ที่เรียบง่ายกว่าสามารถแปลงเป็นวงจรที่มีเกตน้อยลงต่อขั้นตอนได้ สิ่งนี้เห็นได้ชัดเจนที่สุดในการออกแบบ VM ที่เรียบง่ายและเป็นมิตรกับ SNARK เช่น TinyRAM และ Cairo-VM อย่างไรก็ตาม สิ่งนี้ต้องการค่าใช้จ่ายเพิ่มเติม เนื่องจากจำเป็นต้องมีคำสั่งดั้งเดิมจำนวนมากเพื่อดำเนินการตามการดำเนินการดั้งเดิมของ CPU ในโลกแห่งความเป็นจริงบน VM แบบธรรมดา (Arun, Setty & Thaler, 2024)
3. กระบวนทัศน์ส่วนหน้าและส่วนหลัง
จากมุมมองของการเขียนโปรแกรม โดยทั่วไประบบ ZKP สามารถแบ่งออกเป็นสองส่วน: ส่วนหน้าและส่วนหลัง ส่วนหน้าของระบบ ZKP จะใช้ภาษาระดับต่ำเพื่อแสดงภาษาระดับสูงเป็นหลัก เช่น ปัญหาการคำนวณทั่วไปสามารถแสดงได้โดยใช้ภาษาวงจรระดับล่าง เช่น การคำนวณการสร้างข้อจำกัดของวงจร R 1 CS เป็นต้น . (เช่น circom ใช้ R 1 CS อธิบายวงจรส่วนหน้า) ส่วนแบ็กเอนด์ของระบบ ZKP คือระบบพิสูจน์การเข้ารหัส โดยส่วนใหญ่จะสร้างวงจรที่อธิบายในภาษาระดับต่ำในส่วนหน้าและแปลงเป็นการสร้างการพิสูจน์และตรวจสอบความถูกต้อง ตัวอย่างเช่น โปรโตคอลระบบแบ็กเอนด์ที่ใช้กันทั่วไป ได้แก่ Groth 16 และ Plonk (Arun, Setty & Thaler, 2024; Zhang et al., 2023)
โดยทั่วไปแล้ว วงจรจะ "ดำเนินการ" แต่ละขั้นตอนของโปรแกรมคำนวณทีละขั้นตอน (ด้วยความช่วยเหลือของ "อินพุตที่แนะนำ") ที่ไม่น่าเชื่อถือ การดำเนินการขั้นตอนบน CPU ตามแนวคิดเกี่ยวข้องกับงานสองอย่าง: (1) การระบุคำสั่งพื้นฐานที่ขั้นตอนควรดำเนินการ และ (2) การดำเนินการคำสั่งและการอัปเดตสถานะ CPU อย่างเหมาะสม ส่วนหน้าที่มีอยู่ใช้งานเหล่านี้ผ่านประตูหรือข้อจำกัดที่ออกแบบมาอย่างระมัดระวัง ซึ่งใช้เวลานานและเกิดข้อผิดพลาดได้ง่าย และส่งผลให้วงจรมีขนาดใหญ่เกินความจำเป็นมาก (Arun, Setty, & Thaler, 2024; Zhang et al., 2023)
4. ข้อดีและข้อเสียของกระบวนทัศน์ ZKVM
ข้อได้เปรียบ:
การใช้ประโยชน์จาก ISA ที่มีอยู่: ตัวอย่างเช่น ชุดคำสั่ง RISC-V และ EVM โครงสร้างพื้นฐานคอมไพลเลอร์ที่มีอยู่ และกลุ่มเครื่องมือสามารถใช้ประโยชน์ได้โดยไม่ต้องสร้างโครงสร้างพื้นฐานตั้งแต่เริ่มต้น คอมไพเลอร์ที่มีอยู่สามารถเรียกได้โดยตรงเพื่อแปลงเครื่องตรวจสอบพยานที่เขียนด้วยภาษาระดับสูงเป็นรหัสแอสเซมบลีของ ISA และได้รับประโยชน์จากการตรวจสอบครั้งก่อนหรืองานตรวจสอบอื่น ๆ
วงจรเดี่ยวรองรับหลายโปรแกรม: zkVM อนุญาตให้หนึ่งวงจรรันโปรแกรมทั้งหมดจนกว่าจะถึงขีดจำกัดเวลาที่กำหนด ในขณะที่วิธีอื่นอาจต้องรันส่วนหน้าใหม่สำหรับแต่ละโปรแกรม
วงจรที่มีโครงสร้างซ้ำ: วงจรเอาท์พุตส่วนหน้าที่มีโครงสร้างซ้ำ และส่วนหลังสำหรับวงจรเหล่านี้สามารถประมวลผลได้เร็วขึ้น (Arun, Setty & Thaler, 2024; Zhang et al., 2023)
ข้อบกพร่อง:
โอเวอร์เฮดที่เกิดจากความสามารถรอบด้าน: เพื่อรองรับลำดับคำสั่ง CPU ที่เป็นไปได้ทั้งหมด วงจร zkVM จำเป็นต้องจ่ายราคาสำหรับความสามารถรอบด้าน ส่งผลให้ขนาดวงจรและต้นทุนการรับรองเพิ่มขึ้น
การดำเนินการที่มีต้นทุนสูง: การดำเนินการที่สำคัญบางอย่าง เช่น การดำเนินการเข้ารหัสลับ มีราคาแพงมากในการนำไปใช้ใน zkVM ตัวอย่างเช่น การตรวจสอบลายเซ็น ECDSA ใช้เวลา 100 ไมโครวินาทีบน CPU จริง และคำสั่งนับล้านคำสั่งบนคำสั่ง RISC-V ดังนั้นโปรเจ็กต์ zkVM จึงประกอบด้วยวงจรที่ปรับให้เหมาะสมด้วยมือและตารางค้นหาสำหรับการคำนวณฟังก์ชันเฉพาะ
ต้นทุนการพิสูจน์สูง: แม้สำหรับ ISA ธรรมดาๆ ต้นทุนการพิสูจน์ของ zkVM ที่มีอยู่ยังคงสูงอยู่ ตัวอย่างเช่น ผู้พิสูจน์ของ Cairo-VM จำเป็นต้องส่งองค์ประกอบโดเมน 51 รายการแบบเข้ารหัสในแต่ละขั้นตอน ซึ่งหมายความว่าการดำเนินการคำสั่งดั้งเดิมอาจจำเป็นต้องดำเนินการคำสั่งหลายล้านคำสั่งบน CPU จริง ซึ่งจำกัดการใช้งานในแอปพลิเคชันที่ซับซ้อน (Arun , Setty & Thaler , 2024 ; จาง และคณะ 2023 )
6. ภาพรวมและการพัฒนาเครื่องเสมือน Ethereum ที่ไม่มีความรู้
1. ความเป็นมา
ZKEVM (Zero-Knowledge Ethereum Virtual Machine) และ ZKVM (Zero-Knowledge Virtual Machine) เป็นทั้งเครื่องเสมือนที่ใช้เทคโนโลยี Zero-Knowledge Proof (ZKP) Ethereum Virtual Machine (EVM) เป็นส่วนหนึ่งของระบบบล็อกเชน Ethereum และมีหน้าที่รับผิดชอบในการจัดการการปรับใช้และการดำเนินการสัญญาอัจฉริยะ EVM มีสถาปัตยกรรมแบบสแต็กและเป็นกลไกการประมวลผลที่ให้การคำนวณและพื้นที่เก็บข้อมูลสำหรับชุดคำสั่งเฉพาะ (เช่น การดำเนินการบันทึก การดำเนินการ การเข้าถึงหน่วยความจำและพื้นที่เก็บข้อมูล โฟลว์การควบคุม การบันทึก การโทร ฯลฯ) บทบาทของ EVM คือการอัปเดตสถานะของ Ethereum หลังจากใช้การดำเนินการของสัญญาอัจฉริยะ ZKEVM ได้รับการออกแบบมาเป็นพิเศษสำหรับ Ethereum และส่วนใหญ่จะใช้เพื่อตรวจสอบความถูกต้องของการดำเนินการสัญญาอัจฉริยะ ในขณะเดียวกันก็ปกป้องความเป็นส่วนตัวของธุรกรรม ZKEVM แปลงคำสั่ง EVM ที่ตั้งค่าไว้เป็นระบบ ZK เพื่อดำเนินการ และแต่ละคำสั่งจำเป็นต้องมีการพิสูจน์ ซึ่งรวมถึงการพิสูจน์สถานะและการพิสูจน์ความถูกต้องในการดำเนินการ (Šapko, Vukmirović & Nedić, 2019)
โซลูชันกระแสหลักในปัจจุบันของ ZKEVM ได้แก่ STARKWARE, ZkSync, Polygen-Hermez, Scroll ฯลฯ ต่อไปนี้เป็นข้อมูลเบื้องต้นสำหรับโปรเจ็กต์เหล่านี้ (Šapko, Vukmirović & Nedić, 2019):
STARKWARE: ก่อตั้งโดย Ben-Sasson และคณะ (2018) มุ่งมั่นที่จะใช้เทคโนโลยีพิสูจน์ความรู้เป็นศูนย์ของ STARK เพื่อปรับปรุงความเป็นส่วนตัวและความสามารถในการปรับขนาดของบล็อกเชน
zkSync: Matter Labs ก่อตั้งโดย Alex Gluchowski (2020) และคนอื่นๆ และเสนอโซลูชันการขยาย Ethereum Layer 2 โดยใช้ zk-rollups
Polygon-Hermez: Hermez เดิมเป็นโปรเจ็กต์อิสระ เปิดตัวในปี 2020 หลังจากที่ Polygon เข้าซื้อกิจการในเดือนสิงหาคม 2021 บริษัทก็กลายเป็น PolygonHermez โดยมุ่งเน้นไปที่โซลูชัน zk-rollups ที่มีปริมาณงานสูง
Scroll: ก่อตั้งโดย Zhang และ Peng (2021) มีปริมาณธุรกรรมที่สูงขึ้นและค่าธรรมเนียม Gas ที่ลดลง ดังนั้นจึงปรับปรุงประสิทธิภาพโดยรวมและประสบการณ์ผู้ใช้ของ Ethereum
โดยทั่วไปสามารถแบ่งตามระดับความเข้ากันได้กับ EVM (Šapko, Vukmirović & Nedić, 2019):
ความเข้ากันได้ระดับฟังก์ชันสัญญาอัจฉริยะที่เข้ากันได้กับ EVM-EVM เช่น STARKWARE, zkSync
เทียบเท่า EVM, ความเข้ากันได้ระดับคำสั่ง EVM (เทียบเท่า) เช่น polygen-Hrmez, scroll
วิธีแก้ปัญหาสำหรับการปรับปรุงระบบ Ethereum โดยอาศัยความรู้เป็นศูนย์แสดงอยู่ในรูปที่ 1
รูปที่ 1 โซลูชันการปรับปรุงระบบ Ethereum โดยอิงจากความรู้เป็นศูนย์
2. ZKEVM ทำงานอย่างไร
การประมวลผลโปรแกรมโหนด: โปรแกรมโหนดจะประมวลผลและตรวจสอบบันทึกการดำเนินการ ส่วนหัวของบล็อก ธุรกรรม รหัสไบต์ของสัญญา การพิสูจน์ Merkel ฯลฯ และส่งข้อมูลเหล่านี้ไปยัง zkEVM เพื่อการประมวลผล
สร้างการพิสูจน์ ZK: zkEVM ใช้วงจรเพื่อสร้างการพิสูจน์ ZK ของผลลัพธ์การดำเนินการ (การพิสูจน์สถานะและการดำเนินการที่ถูกต้อง) ฟังก์ชันวงจรเหล่านี้ส่วนใหญ่จะนำไปใช้โดยใช้ตารางและวงจรพิเศษ
การพิสูจน์การรวมกลุ่ม: ใช้วงจรการรวมเพื่อสร้างการพิสูจน์ที่มีขนาดเล็กลงจากการพิสูจน์ที่มีขนาดใหญ่ เช่น การใช้การพิสูจน์แบบเรียกซ้ำ
ส่งไปยังสัญญา L1: หลักฐานรวมจะถูกส่งไปยังสัญญา L1 ในรูปแบบของธุรกรรมเพื่อดำเนินการ (Šapko, Vukmirović & Nedić, 2019)
3. กระบวนการปรับใช้ ZKEVM
รับข้อมูล: รับข้อมูลจากระบบบล็อกเชน Ethereum รวมถึงธุรกรรม ส่วนหัวของบล็อก สัญญา ฯลฯ
ประมวลผลข้อมูล: ประมวลผลและตรวจสอบบันทึกการดำเนินการ ส่วนหัวของบล็อก ธุรกรรม รหัสไบต์ของสัญญา การพิสูจน์ Merkle ฯลฯ
สร้างการพิสูจน์: ใช้วงจรเพื่อสร้างการพิสูจน์ ZK เพื่อรับรองความถูกต้องของการอัปเดตสถานะและการดำเนินการของแต่ละคำสั่ง
การพิสูจน์แบบเรียกซ้ำ: บีบอัดการพิสูจน์ขนาดใหญ่ที่สร้างขึ้นให้เป็นการพิสูจน์รวมที่มีขนาดเล็กลง
ส่งหลักฐาน: ส่งหลักฐานรวมไปยังสัญญา L1 เพื่อยืนยันธุรกรรมให้เสร็จสมบูรณ์ (Šapko, Vukmirović & Nedić, 2019)
4. คุณสมบัติของ ZKEVM
ปรับปรุงความสามารถในการประมวลผลธุรกรรม: ดำเนินธุรกรรมผ่าน ZKEVM บน L2 เพื่อลดภาระบน L1
การคุ้มครองความเป็นส่วนตัว: ปกป้องความเป็นส่วนตัวของธุรกรรมในขณะที่ตรวจสอบการดำเนินการตามสัญญาอัจฉริยะ
การตรวจสอบที่มีประสิทธิภาพ: ใช้เทคโนโลยีพิสูจน์ความรู้เป็นศูนย์เพื่อให้บรรลุสถานะที่มีประสิทธิภาพและการตรวจสอบความถูกต้องในการดำเนินการ (Šapko, Vukmirović & Nedić, 2019)
7. ภาพรวมและการพัฒนาโซลูชันเครือข่าย Zero-Knowledge Layer 2
1. ความเป็นมา
Ethereum blockchain เป็นหนึ่งในระบบนิเวศ blockchain ที่ได้รับการยอมรับอย่างกว้างขวางที่สุดในปัจจุบัน อย่างไรก็ตาม Ethereum เผชิญกับปัญหาความสามารถในการขยายขนาดที่ร้ายแรงซึ่งทำให้มีค่าใช้จ่ายสูง โซลูชันเครือข่ายสองชั้นความรู้แบบศูนย์ (ZK Rollup) ขึ้นอยู่กับการพิสูจน์ความรู้แบบศูนย์ (ZKP) เป็นโซลูชันเครือข่ายสองชั้น (เลเยอร์ 2) สำหรับการขยาย Ethereum ซึ่งเอาชนะข้อบกพร่องของการยืนยันธุรกรรมขั้นสุดท้ายของ OptimisticRollups เวลานานเกินไป (Ganguly, 2023)
2. กลไกการทำงานของ ZK Rollup
ZK Rollup ช่วยให้สามารถปรับขนาดได้ภายในธุรกรรมเดียว สัญญาอัจฉริยะบน L1 มีหน้าที่รับผิดชอบในการประมวลผลและตรวจสอบความถูกต้องของการโอนทั้งหมด ซึ่งจะสร้างธุรกรรมได้เพียงรายการเดียวเท่านั้น ซึ่งจะช่วยลดการใช้ทรัพยากรการคำนวณบน Ethereum โดยดำเนินธุรกรรมนอกเครือข่ายและวางธุรกรรมที่ลงนามครั้งสุดท้ายกลับบนเครือข่าย ขั้นตอนนี้เรียกว่า ValidityProof ในบางกรณี การตรวจสอบอาจไม่เสร็จสมบูรณ์ภายในหลักฐานเดียว และจำเป็นต้องมีธุรกรรมเพิ่มเติมเพื่อเผยแพร่ข้อมูลในการยกเลิกไปยังเครือข่ายหลักของ Ethereum เพื่อให้แน่ใจว่าข้อมูลมีความพร้อมใช้งาน (Ganguly, 2023)
ในแง่ของพื้นที่ การใช้ ZK Rollup ช่วยเพิ่มประสิทธิภาพเนื่องจากไม่จำเป็นต้องจัดเก็บข้อมูลเหมือนสัญญาอัจฉริยะทั่วไป การทำธุรกรรมแต่ละครั้งต้องใช้เพียงหลักฐานยืนยันเท่านั้น ซึ่งจะช่วยยืนยันการลดขนาดข้อมูลเพิ่มเติม ทำให้ราคาถูกลงและเร็วขึ้น (Ganguly, 2023)
แม้ว่าชื่อ ZK Rollup จะมีคำว่า "ZK" (ความรู้เป็นศูนย์) แต่ส่วนใหญ่ใช้ความเรียบง่ายของการพิสูจน์ความรู้เป็นศูนย์เพื่อปรับปรุงประสิทธิภาพการประมวลผลของธุรกรรมบล็อกเชน แทนที่จะมุ่งเน้นไปที่การปกป้องความเป็นส่วนตัวเป็นหลัก (Ganguly, 2023)
3. ข้อเสียและการเพิ่มประสิทธิภาพของ ZKRolup
ในฐานะโซลูชันเลเยอร์ 2 สำหรับความสามารถในการขยายขนาด Ethereum นั้น ZK Rollup (การสะสมความรู้เป็นศูนย์) ทำงานได้ดีในการปรับปรุงประสิทธิภาพการประมวลผลธุรกรรม แต่ปัญหาหลักคือต้นทุนการคำนวณสูงมาก อย่างไรก็ตาม ด้วยโซลูชันการปรับให้เหมาะสมบางอย่าง ประสิทธิภาพและความเป็นไปได้ของ ZK Rollup จึงสามารถปรับปรุงได้อย่างมาก (Šapko, Vukmirović & Nedić, 2019)
1. ปรับการคำนวณอัลกอริธึมการเข้ารหัสให้เหมาะสม
การเพิ่มประสิทธิภาพกระบวนการคำนวณของอัลกอริธึมการเข้ารหัสสามารถปรับปรุงประสิทธิภาพของ ZK Rollup และลดเวลาในการคำนวณและการใช้ทรัพยากรได้ ตัวอย่างเช่น Plonky 2 ได้รับการเสนอโดย PolygonZero (เดิมชื่อ MIR) และเป็นโซลูชัน ZK Rollup แบบกระจายอำนาจ Plonky 2 เป็น SNARK แบบเรียกซ้ำซึ่งเร็วกว่าทางเลือกอื่นที่เข้ากันได้กับ Ethereum ถึง 100 เท่า โดยผสมผสานคุณสมบัติที่ดีที่สุดของ STARK และ SNARK:
Plonk และ FRI: ให้การพิสูจน์ที่รวดเร็วโดยไม่ต้องตั้งค่าความน่าเชื่อถือ
สนับสนุนการเรียกซ้ำ: ปรับปรุงประสิทธิภาพผ่านการพิสูจน์แบบเรียกซ้ำ
ต้นทุนการตรวจสอบต่ำ: การตรวจสอบที่มีประสิทธิภาพทำได้โดยการผสมผสานระหว่าง FRI แบบเรียกซ้ำ 64 บิตและ Plonk
2. ผสมผสานการมองโลกในแง่ดีและ ZK Rollup
ตัวอย่างเช่น PolygonNightfall เป็นชุดรวมอัปเดตแบบไฮบริดที่รวมคุณลักษณะของชุดรวม Optimistic และ ZK เข้าด้วยกัน โดยมีเป้าหมายเพื่อเพิ่มความเป็นส่วนตัวของธุรกรรมและลดค่าธรรมเนียมการโอน (สูงสุด 86%)
3. พัฒนา ZK EVM โดยเฉพาะ
ZK EVM เฉพาะได้รับการออกแบบมาเพื่อปรับปรุงอัลกอริธึม ZK Rollup และสามารถปรับกระบวนการพิสูจน์ความรู้เป็นศูนย์ให้เหมาะสมได้ ต่อไปนี้คือตัวเลือกเฉพาะหลายประการ:
AppliedZKP: โครงการโอเพ่นซอร์สที่ได้รับทุนจาก Ethereum Foundation ที่ใช้ ZK สำหรับ opcode ดั้งเดิมของ Ethereum EVM โดยใช้อัลกอริธึมการเข้ารหัสเช่น halo 2, KZG และ Barreto-Naehrig (BN-254) การจับคู่เส้นโค้งรูปไข่
zkSync: zkEVM ที่พัฒนาโดย Matter Labs เป็น EVM แบบกำหนดเองที่รวบรวมโค้ดสัญญาลงใน YUL (ภาษากลางของคอมไพเลอร์ Solidity) จากนั้นคอมไพล์เป็นโค้ดไบต์แบบกำหนดเองที่รองรับ โดยใช้ ultraPlonk ซึ่งเป็นเวอร์ชันขยายของ Plonk
Polygon Hermez: ปรับแต่ง Rollup แบบกระจายอำนาจที่เข้ากันได้กับ EVM คอมไพล์โค้ดสัญญาลงในชุดคำสั่งย่อยที่รองรับ และใช้ระบบพิสูจน์อักษร Plonk, KZG และ Groth 16
Sin 7 Y zkEVM: ใช้ ZK ของ EVM opcodes ดั้งเดิมและปรับ opcodes เฉพาะทางให้เหมาะสมโดยใช้ halo 2, KZG และ RecursivePlonk
Polygon Miden: เครื่องเสมือนทั่วไปที่ไม่มีความรู้ซึ่งใช้ STARK
4. การเพิ่มประสิทธิภาพฮาร์ดแวร์
การเพิ่มประสิทธิภาพฮาร์ดแวร์สามารถปรับปรุงประสิทธิภาพของ ZK Rollup ได้อย่างมาก ต่อไปนี้เป็นโซลูชันการปรับให้เหมาะสมฮาร์ดแวร์หลายประการ:
DIZK (DIstributedZero Knowledge): ปรับให้เหมาะสมโดยการกระจายการดำเนินการพิสูจน์ zkSNARK ทั่วทั้งคลัสเตอร์การประมวลผล สถาปัตยกรรมฮาร์ดแวร์ประกอบด้วยสองระบบย่อย ระบบหนึ่งสำหรับการคำนวณพหุโนเมียล (POLY) พร้อมการแปลงเชิงทฤษฎีจำนวนขนาดใหญ่ (NTT) และอีกระบบหนึ่งสำหรับการดำเนินการคูณหลายสเกลาร์ (MSM) บนเส้นโค้งวงรี (EC) PipeMSM เป็นอัลกอริธึมการออกแบบ MSM แบบไปป์ไลน์สำหรับการนำไปใช้บน FPGA
การออกแบบตัวเร่งฮาร์ดแวร์ ZKP ที่ใช้ FPGA: รวมถึงหน่วย FFT (Fast Fourier Transform) หลายหน่วยและการสลายตัวของการดำเนินการ FFT, หน่วย MAC (วงจรคูณและสะสม) หลายหน่วย และหน่วย ECP (การประมวลผล Elliptic Curve) หลายหน่วย เพื่อลดค่าใช้จ่ายในการคำนวณ การออกแบบ zk-SNARK ที่ใช้ FPGA ช่วยลดเวลาในการพิสูจน์ได้ประมาณ 10 เท่า
การเร่งความเร็วด้วยฮาร์ดแวร์ของโปรโตคอล Bulletproof: การใช้งานผ่านเฟรมเวิร์กการทำงานร่วมกันของ CPU-GPU และ Bulletproofs แบบขนานบน GPU (Šapko, Vukmirović & Nedić, 2019)
8. ทิศทางการพัฒนาในอนาคตของการพิสูจน์ความรู้เป็นศูนย์
1. เร่งการพัฒนาสภาพแวดล้อมการประมวลผล
โปรโตคอลการพิสูจน์ความรู้เป็นศูนย์ (เช่น ZKSNARK และ ZKSTARK) มักจะเกี่ยวข้องกับการดำเนินการทางคณิตศาสตร์ที่ซับซ้อนจำนวนมากในระหว่างกระบวนการดำเนินการ การดำเนินการเหล่านี้จำเป็นต้องทำให้เสร็จสิ้นในเวลาอันสั้นมาก ทำให้มีความต้องการทรัพยากรการประมวลผลที่สูงมาก (เช่น CPU และ GPU) ส่งผลให้มีความซับซ้อนในการคำนวณสูงและใช้เวลาในการคำนวณยาวนาน นอกจากนี้ การสร้างและการตรวจสอบหลักฐานที่ไม่มีความรู้จำเป็นต้องมีการเข้าถึงข้อมูลปริมาณมากบ่อยครั้ง ทำให้มีความต้องการแบนด์วิธหน่วยความจำสูง ระบบคอมพิวเตอร์สมัยใหม่มีแบนด์วิธหน่วยความจำที่จำกัด และไม่สามารถรองรับข้อกำหนดในการเข้าถึงข้อมูลความถี่สูงได้อย่างมีประสิทธิภาพ ส่งผลให้เกิดปัญหาคอขวดด้านประสิทธิภาพ ท้ายที่สุดแล้ว ภาระการคำนวณที่สูงจะนำไปสู่การใช้พลังงานที่สูง โดยเฉพาะอย่างยิ่งในบล็อกเชนและแอปพลิเคชันที่มีการกระจายอำนาจ ซึ่งจำเป็นต้องมีการคำนวณการพิสูจน์จำนวนมากอย่างต่อเนื่อง ดังนั้น แม้ว่าโซลูชันการปรับแต่งซอฟต์แวร์ให้เหมาะสมสามารถบรรเทาปัญหาเหล่านี้ได้บางส่วน แต่ก็เป็นเรื่องยากที่จะบรรลุประสิทธิภาพระดับสูงและการใช้พลังงานต่ำของการเร่งด้วยฮาร์ดแวร์ เนื่องจากข้อจำกัดทางกายภาพของฮาร์ดแวร์คอมพิวเตอร์สำหรับใช้งานทั่วไป โซลูชันแบบไฮบริดสามารถบรรลุการปรับปรุงประสิทธิภาพสูงในขณะที่ยังคงความยืดหยุ่น (Zhang et al., 2021)
ZK-ASIC (วงจรรวมเฉพาะแอปพลิเคชัน)
ในช่วงปี 2020 มีหลายโครงการเกิดขึ้นโดยมีเป้าหมายเพื่อเร่งและเพิ่มประสิทธิภาพกระบวนการสร้างและการตรวจสอบของ Zero-Knowledge Proofs (ZKP) ผ่านฮาร์ดแวร์ เช่น GPU หรือ FPGA เพื่อปรับปรุงประสิทธิภาพ (Filecoin, 2024; Coda, 2024; GPU Groove 16 Prover, 2024) ; รอย และคณะ 2019;
พ.ศ. 2564: Zhang และคณะได้เสนอโซลูชันการเร่งความเร็วแบบไม่มีความรู้โดยใช้สถาปัตยกรรมไปป์ไลน์ โดยใช้อัลกอริธึม Pippenger เพื่อเพิ่มประสิทธิภาพการคูณแบบหลายสเกลาร์ (MSM) และลดความล่าช้าในการส่งข้อมูลด้วยการ "คลาย" การแปลงฟูริเยร์ที่รวดเร็ว (FFT) (จางและคณะ, 2021)
ZKCoprocessor (ตัวประมวลผลร่วม)
Axiom (2022) เสนอแนวคิดของ ZKCoprocessor นั่นคือ ZK coprocessor โปรเซสเซอร์ร่วมเป็นชิปแยกต่างหากที่เพิ่มประสิทธิภาพ CPU และจัดให้มีการดำเนินการพิเศษ เช่น การดำเนินการจุดทศนิยม การดำเนินการเข้ารหัสลับ หรือการประมวลผลกราฟิก แม้ว่าคำนี้จะไม่ถูกใช้กันทั่วไปอีกต่อไปเนื่องจาก CPU มีประสิทธิภาพมากขึ้น แต่ GPU ยังคงถือเป็นตัวประมวลผลร่วมของ CPU โดยเฉพาะอย่างยิ่งในบริบทของการเรียนรู้ของเครื่อง
คำว่าตัวประมวลผลร่วม ZK ขยายความคล้ายคลึงของชิปตัวประมวลผลร่วมทางกายภาพไปสู่การประมวลผลแบบบล็อกเชน ช่วยให้นักพัฒนาสัญญาอัจฉริยะสามารถพิสูจน์การคำนวณแบบนอกเครือข่ายของข้อมูลบนเครือข่ายที่มีอยู่ได้ หนึ่งในปัญหาคอขวดที่ใหญ่ที่สุดที่นักพัฒนาสัญญาอัจฉริยะต้องเผชิญยังคงมีต้นทุนสูงในการประมวลผลแบบออนไลน์ เนื่องจากการดำเนินการทุกครั้งต้องคำนึงถึงแก๊ส ต้นทุนของตรรกะการใช้งานที่ซับซ้อนจึงกลายเป็นสิ่งที่เป็นไปไม่ได้อย่างรวดเร็ว โปรเซสเซอร์ร่วม ZK นำเสนอรูปแบบการออกแบบใหม่สำหรับแอปพลิเคชันออนไลน์ ซึ่งขจัดข้อจำกัดที่ว่าการคำนวณจะต้องเสร็จสิ้นในเครื่องเสมือนบล็อกเชน ช่วยให้แอปพลิเคชันสามารถเข้าถึงข้อมูลได้มากขึ้นและดำเนินการในขนาดที่ใหญ่ขึ้นกว่าเดิม (Axiom, 2022)
2. ข้อเสนอและการพัฒนา ZKML
แนวคิดของ ZKML
การเรียนรู้ของเครื่องแบบ Zero-Knowledge (ZKML) เป็นสาขาเกิดใหม่ที่ใช้เทคโนโลยี Zero-Knowledge Proof (ZKP) กับการเรียนรู้ของเครื่อง แนวคิดหลักของ ZKML คือการอนุญาตให้ตรวจสอบผลการคำนวณของ Machine Learning โดยไม่ต้องเปิดเผยข้อมูลหรือรายละเอียดของโมเดล สิ่งนี้ไม่เพียงปกป้องความเป็นส่วนตัวของข้อมูล แต่ยังรับประกันความน่าเชื่อถือและความถูกต้องของผลการคำนวณ (Zhang et al., 2020)
การพัฒนา ZKML
ในปี 2020 Scholar Zhang และคนอื่นๆ ได้เสนอแนวคิดของ ZKML อย่างเป็นระบบเป็นครั้งแรกในการประชุม CCS ปี 2020 โดยสาธิตวิธีดำเนินการพิสูจน์ความรู้แบบ Zero-Know ของการคาดการณ์แผนผังการตัดสินใจ โดยไม่ทำให้ข้อมูลหรือรายละเอียดโมเดลรั่วไหล นี่เป็นการวางรากฐานทางทฤษฎีสำหรับ ZKML
ในปี 2022 Wang และ Hoang ได้ศึกษาเพิ่มเติมและนำ ZKML ไปใช้ และเสนอไปป์ไลน์การอนุมานของแมชชีนเลิร์นนิงแบบไม่มีความรู้ที่มีประสิทธิภาพ ซึ่งแสดงวิธีนำ ZKML ไปใช้งานในแอปพลิเคชันในโลกแห่งความเป็นจริง การวิจัยแสดงให้เห็นว่าแม้ว่าเทคโนโลยี ZKP จะซับซ้อน แต่ด้วยการเพิ่มประสิทธิภาพที่สมเหตุสมผล แต่ก็สามารถบรรลุประสิทธิภาพการประมวลผลที่ยอมรับได้ ในขณะเดียวกันก็รับประกันความเป็นส่วนตัวของข้อมูลและความถูกต้องในการคำนวณ
3. การพัฒนาที่เกี่ยวข้องกับเทคโนโลยีการขยาย ZKP
มีการเสนอแนวคิดของ ZKThreads
ในปี 2021 StarkWare เสนอแนวคิดของ ZKThreads ซึ่งมีจุดมุ่งหมายเพื่อรวมการพิสูจน์ความรู้เป็นศูนย์ (ZKP) และเทคโนโลยีการแบ่งส่วนเพื่อให้มีความสามารถในการปรับขนาดและการปรับแต่งสำหรับแอปพลิเคชันแบบกระจายอำนาจ (DApps) โดยไม่ก่อให้เกิดปัญหาการกระจายตัว ZKThreads ปรับปรุงความปลอดภัยและความสามารถในการจัดองค์ประกอบโดยรับประกันแบบเรียลไทม์ในทุกขั้นตอนโดยการถอยกลับโดยตรงที่เลเยอร์ฐาน
ZKThreads ได้รับการปรับให้เหมาะสมในสามด้าน: โครงสร้างแบบลูกโซ่เดี่ยว ปัญหาสภาพคล่องแบบสะสม และ Proto-Danksharding
โซลูชันสายโซ่เดียว: ในสถาปัตยกรรมสายโซ่เดี่ยวแบบดั้งเดิม ธุรกรรมทั้งหมดจะได้รับการประมวลผลบนสายโซ่เดียว ส่งผลให้ระบบโอเวอร์โหลดและความสามารถในการขยายขนาดไม่ดี ZKThreads ปรับปรุงประสิทธิภาพการประมวลผลอย่างมีนัยสำคัญโดยการกระจายข้อมูลและงานการคำนวณไปยังส่วนต่างๆ
โซลูชัน ZK-rollups: แม้ว่า ZK-rollups จะปรับปรุงความเร็วการประมวลผลธุรกรรมและลดต้นทุนได้อย่างมาก แต่มักจะทำงานแยกกัน ซึ่งนำไปสู่ปัญหาสภาพคล่องและการทำงานร่วมกัน ZKThreads มอบสภาพแวดล้อมการพัฒนาที่ได้มาตรฐาน รองรับการทำงานร่วมกันระหว่างส่วนต่างๆ และแก้ปัญหาการกระจายตัวของสภาพคล่อง
เทคโนโลยี Proto-Danksharding: นี่คือแผนการปรับปรุงภายในของ Ethereum ซึ่งช่วยลดต้นทุนการทำธุรกรรมของ zk-rollups โดยการจัดเก็บบล็อคข้อมูลชั่วคราว ZKThreads ปรับปรุงเพิ่มเติมบนพื้นฐานนี้ และลดการพึ่งพาการจัดเก็บข้อมูลชั่วคราวผ่านสถาปัตยกรรมการแบ่งส่วนที่มีประสิทธิภาพมากขึ้น ปรับปรุงประสิทธิภาพโดยรวมและความปลอดภัยของระบบ (StarkWare, 2021)
มีการเสนอแนวคิดของ ZK Sharding
หลังจากนั้นในปี 2022 NilFoundation ได้เสนอแนวคิดของ ZK Sharding โดยมีเป้าหมายเพื่อให้บรรลุความสามารถในการปรับขนาดของ Ethereum และความเร็วในการทำธุรกรรมที่เร็วขึ้นโดยการรวมการพิสูจน์ความรู้เป็นศูนย์ (ZKP) และเทคโนโลยีการแบ่งส่วน เทคโนโลยีนี้มีจุดมุ่งหมายเพื่อแบ่งเครือข่าย Ethereum ออกเป็นหลายส่วนเพื่อประมวลผลธุรกรรมด้วยวิธีที่ถูกกว่าและมีประสิทธิภาพมากขึ้น เทคโนโลยีนี้รวมถึง zkSharding ซึ่งใช้เทคโนโลยีที่ไม่มีความรู้เพื่อสร้างข้อพิสูจน์เพื่อให้แน่ใจว่าธุรกรรมในชาร์ดต่างๆ นั้นถูกต้องก่อนที่จะถูกส่งไปยังเชนหลัก วิธีการนี้ไม่เพียงแต่ช่วยเพิ่มความเร็วในการทำธุรกรรม แต่ยังช่วยลดการกระจายตัวของข้อมูลในห่วงโซ่ และรับประกันความปลอดภัยทางเศรษฐกิจและสภาพคล่อง
4. การพัฒนาความสามารถในการทำงานร่วมกันของ ZKP
ช่องของรัฐ ZK
ในปี 2021 แนวคิดของ ZK StateChannels ได้รับการเสนอโดย Virtual Labs ซึ่งผสมผสานการพิสูจน์ความรู้เป็นศูนย์ (ZKP) และเทคโนโลยีช่องทางของรัฐ โดยมีเป้าหมายเพื่อให้บรรลุการทำธุรกรรมนอกเครือข่ายที่มีประสิทธิภาพผ่านช่องทางของรัฐ ขณะเดียวกันก็ใช้การพิสูจน์ความรู้เป็นศูนย์เพื่อรับรองความเป็นส่วนตัวและ ความปลอดภัยของการทำธุรกรรม
โซลูชันดั้งเดิมแทนที่ด้วย ZK State Channels
1. ช่องทางของรัฐแบบดั้งเดิม (StateChannels):
โซลูชันดั้งเดิม: ช่องทางของรัฐแบบดั้งเดิมอนุญาตให้ผู้ใช้สองคนทำธุรกรรมแบบ peer-to-peer (P2P) ในสัญญาอัจฉริยะโดยการล็อคเงินทุน เนื่องจากเงินถูกล็อค การแลกเปลี่ยนลายเซ็นระหว่างผู้ใช้จึงสามารถเกิดขึ้นได้โดยตรง โดยไม่เกี่ยวข้องกับค่าธรรมเนียมก๊าซและความล่าช้า อย่างไรก็ตาม วิธีการนี้จำเป็นต้องมีที่อยู่ที่กำหนดไว้ล่วงหน้า และการเปิดและปิดช่องสัญญาณจำเป็นต้องมีการดำเนินการแบบออนไลน์ ซึ่งจะจำกัดความยืดหยุ่น
ทางเลือก: ZK StateChannels ให้การสนับสนุนผู้เข้าร่วมไม่จำกัด ทำให้สามารถเข้าและออกแบบไดนามิกโดยไม่จำเป็นต้องใช้ที่อยู่ผู้ใช้ที่กำหนดไว้ล่วงหน้า นอกจากนี้ ด้วยการพิสูจน์ที่ไม่มีความรู้ ZK StateChannels ให้การเข้าถึงข้ามเชนทันทีและการพิสูจน์ที่ตรวจสอบด้วยตนเอง แก้ปัญหาด้านความยืดหยุ่นและความสามารถในการปรับขนาดของช่องทางของรัฐแบบดั้งเดิม
2. การสนับสนุนหลายห่วงโซ่:
โซลูชันดั้งเดิม: ช่องทางของรัฐแบบดั้งเดิมมักจะรองรับธุรกรรมบนเครือข่ายเดียวเท่านั้น และไม่สามารถใช้การดำเนินการข้ามเครือข่ายได้ ซึ่งจำกัดขอบเขตการดำเนินงานของผู้ใช้
ทางเลือก: ZK StateChannels ใช้เทคโนโลยีพิสูจน์ความรู้เป็นศูนย์เพื่อให้บรรลุธุรกรรมข้ามสายโซ่ทันทีและการไหลของสินทรัพย์โดยไม่จำเป็นต้องใช้บริดจ์ตัวกลาง ซึ่งปรับปรุงการทำงานร่วมกันแบบหลายสายโซ่ได้อย่างมาก
3. ข้อจำกัดที่อยู่ที่กำหนดไว้ล่วงหน้า:
วิธีแก้ปัญหาแบบเดิม: ในช่องทางของรัฐแบบดั้งเดิม ที่อยู่ของผู้เข้าร่วมธุรกรรมจะต้องถูกกำหนดไว้ล่วงหน้าเมื่อสร้างช่องทาง หากผู้เข้าร่วมรายใหม่เข้าร่วมหรือออก ช่องทางจะต้องถูกปิดและเปิดใหม่ ซึ่งจะเพิ่มความซับซ้อนในการดำเนินงานและต้นทุน
ทางเลือก: ZK StateChannels อนุญาตให้เข้าร่วมและออกแบบไดนามิก ผู้เข้าร่วมใหม่สามารถเข้าร่วมช่องทางที่มีอยู่ได้ตลอดเวลาโดยไม่ส่งผลกระทบต่อการดำเนินงานของผู้ใช้ปัจจุบัน ซึ่งช่วยเพิ่มความยืดหยุ่นและประสบการณ์ผู้ใช้ของระบบอย่างมาก
4.โปรโตคอลการทำงานร่วมกันของ ZK Omnichain
ในปี 2022 Way Network เสนอ ZKOmnichain Interoperability Protocol เพื่อให้บรรลุถึงการทำงานร่วมกันของสินทรัพย์และข้อมูลที่ข้ามสายโซ่โดยอิงจากการพิสูจน์ความรู้เป็นศูนย์ โปรโตคอลใช้การสื่อสารแบบลูกโซ่เต็มรูปแบบและการส่งข้อมูลโดยใช้ zkRelayer, ZK Verifier, IPFS, ผู้ส่งและผู้รับ
โครงการ Omnichain มุ่งเน้นไปที่การทำงานร่วมกันข้ามสายโซ่และมีเป้าหมายเพื่อสร้างเครือข่ายที่ปลอดภัยและมีเวลาแฝงต่ำเพื่อเชื่อมต่อบล็อกเชนต่างๆ ช่วยให้สามารถถ่ายโอนสินทรัพย์และข้อมูลระหว่างบล็อคเชนได้อย่างราบรื่นโดยการแนะนำโปรโตคอลธุรกรรมข้ามเชนที่ได้มาตรฐาน วิธีการนี้ไม่เพียงแต่ปรับปรุงประสิทธิภาพของธุรกรรมเท่านั้น แต่ยังรับประกันความปลอดภัยของการดำเนินงานข้ามสายโซ่อีกด้วย
Way Network ถือเป็นการนำแนวคิด Omnichain ไปใช้อย่างเป็นรูปธรรม โดยเฉพาะอย่างยิ่งในการใช้เทคโนโลยีที่ไม่มีความรู้เพื่อเพิ่มความเป็นส่วนตัวและความปลอดภัย สถาปัตยกรรมทางเทคนิคของ Way Network ช่วยให้สามารถทำงานร่วมกันได้อย่างราบรื่นระหว่างเครือข่าย ในขณะเดียวกันก็รักษาการกระจายอำนาจและประสิทธิภาพไว้
โดยสรุป Omnichain มอบเฟรมเวิร์กโดยรวมสำหรับการทำงานร่วมกันข้ามเชน ในขณะที่ Way Network มอบเฟรมเวิร์กนี้ด้วยการปกป้องความเป็นส่วนตัวและการรักษาความปลอดภัยที่แข็งแกร่งยิ่งขึ้นผ่านเทคโนโลยีพิสูจน์ความรู้แบบศูนย์
9. บทสรุป
บทความนี้เป็นการทบทวนวรรณกรรมที่ครอบคลุมเกี่ยวกับเทคโนโลยี Zero-Knowledge Proof (ZKP) รวมถึงการพัฒนาและแอปพลิเคชันล่าสุดในสาขาบล็อกเชน เราตรวจสอบ ZKP อย่างเป็นระบบในบริบทบล็อกเชน สำรวจแผนการโต้แย้งที่ไม่มีความรู้อันล้ำสมัยซึ่งเหมาะสำหรับบล็อกเชนและการคำนวณที่ตรวจสอบได้ และสำรวจแอปพลิเคชันของพวกเขาในธุรกรรมที่ไม่เปิดเผยตัวตนและเป็นความลับ และสัญญาอัจฉริยะด้านความเป็นส่วนตัว บทความนี้แสดงรายการข้อดีและข้อเสียของโซลูชันและวิธีการตรวจสอบโดยผู้ทรงคุณวุฒิทางวิชาการเหล่านี้ มีเอกสารอ้างอิงสำหรับการประเมินเชิงปฏิบัติและการเปรียบเทียบโซลูชันเหล่านี้ และเน้นย้ำถึงทักษะและความรู้ที่นักพัฒนาจำเป็นต้องมีในการเลือกโซลูชันที่เหมาะสมสำหรับกรณีการใช้งานเฉพาะ
นอกจากนี้ บทความนี้ยังมุ่งหวังถึงทิศทางการพัฒนาในอนาคตของการพิสูจน์ความรู้เป็นศูนย์ ในแง่ของการเร่งด้วยฮาร์ดแวร์ ความสามารถในการปรับขนาดบล็อคเชน ความสามารถในการทำงานร่วมกัน และการปกป้องความเป็นส่วนตัว บทความนี้ให้มุมมองที่ครอบคลุมเกี่ยวกับการทำความเข้าใจและการใช้เทคโนโลยีพิสูจน์ความรู้เป็นศูนย์ผ่านการวิเคราะห์โดยละเอียดเกี่ยวกับเทคโนโลยีล่าสุดและแนวโน้มการพัฒนา ซึ่งแสดงให้เห็นถึงศักยภาพมหาศาลในการปรับปรุงประสิทธิภาพและความปลอดภัยของระบบบล็อกเชน ในเวลาเดียวกัน การศึกษาครั้งนี้ได้วางรากฐานที่มั่นคงสำหรับการวิจัยในภายหลังเกี่ยวกับการลงทุนโครงการ ZK
