Foresight Ventures: ถอดรหัส zk, zkVM, zkEVM และอนาคตของพวกเขา

บทความนี้ให้ข้อมูลสรุปอย่างละเอียดเกี่ยวกับแนวคิดเช่น zk, zkVM, zkEVM เป็นต้น โดยมีจุดมุ่งหมายเพื่อให้เข้าใจเทคโนโลยี zk อย่างลึกซึ้งผ่านการวิเคราะห์อย่างเป็นระเบียบ

TL; DR

  • เทคโนโลยีพิสูจน์ทศนิยมศูนย์ทำให้ความสมบูรณ์ ความถูกต้อง และความเป็นส่วนตัวของการคำนวณ ซึ่งสามารถนำไปใช้ในการขยายขอบเขตและความเป็นส่วนตัวของบล็อกเชน
  • zk-SNARK และ zk-STARK มีข้อดีของตนแต่ละประเภท และการผสมกันอย่างมีเหตุผลจะมีศักยภาพมากยิ่งขึ้น
  • zkVM ทำให้แอปพลิเคชันสามารถใช้งานกับความสามารถในการพิสูจน์ทศนิยมศูนย์ และถูกจัดหมวดหมู่เป็นการนำไปใช้งานหลัก EVM หรือการนำไปใช้งานในชุดคำสั่งใหม่
  • การปรับปรุง EVM รวมถึงความเข้ากันได้ของ EVM, ความเทียบเท่า, และความเป็นไปตามข้อกำหนด
  • zkEVM เป็นสภาพแวดล้อมที่เหมาะสำหรับพิสูจน์ทฤษฎีศาสตร์ที่เป็นศูนย์ที่เข้ากันได้กับ EVM และถูกแบ่งเป็นรุ่นเดิมและรุ่นคอมไพล์
  • Native zkEVM เป็นอนาคตของ Ethereum และบล็อกเชน
  • zkVM ทั่วไปที่สนับสนุนระบบ Solidity เป็นอนาคตของ Web3

0. พิสูจน์ที่ไม่เปิดเผย

นี่คือบทนำที่เรียบง่ายและเข้าใจง่ายเกี่ยวกับหลักฐานที่ไม่เป็นศูนย์

มองว่าคุณอยู่ในโรงเรียนประถม ครูคือผู้ตรวจสอบ และคุณเป็นนักเรียนที่เป็นผู้พิสูจน์ คุณจะพิสูจน์ได้อย่างไรว่าคุณเข้าใจสูตรในการแก้สมการกำลังสอง? นั่นคือที่ที่การสอบคณิตศาสตร์มาช่วย

ครูจะสุ่มให้คุณ 10 คำถามที่เกี่ยวข้อง และหากคุณเข้าใจแนวคิดจริง ๆ คุณจะสามารถแก้ทุกข้อได้ ระหว่างกระบวนการนี้ คุณไม่จำเป็นต้องจำหรือเขียนเนื้อหาเฉพาะของสูตร แต่ครูสามารถตรวจสอบระดับความรู้ของคุณได้อย่างง่ายดาย

ที่จริงแล้วนี่เป็นวิธีที่ Tartaglia และ Cardano ใช้ (ใช่นั่นคือชื่อ) เพื่อแข่งขันกันว่าใครเป็นผู้ค้นพบวิธีแก้ปัญหาสมการลูกบาศก์ พวกเขาทั้งสองไม่ต้องการเปิดเผยเนื้อหาของสูตรของพวกเขาต่อกัน แต่ด้วยการแก้ปัญหาพวกเขาสามารถตรวจสอบและพิจารณาว่าพวกเขาเชี่ยวชาญความรู้นี้หรือไม่โดยไม่ต้องเปิดเผยรายละเอียด

วัตถุประสงค์ของศาสตร์พิสูจน์ที่ไม่รู้เรื่องคืออะไร? วัตถุประสงค์คือเพื่อประหยัดพลังงานคำนวณและลดพื้นที่บนเชื่อมโยงในกระบวนการทั้งหมด นอกจากนี้ยังสามารถให้ความเป็นส่วนตัว จัดอยู่ในลักษณะของความไว้วางใจในบล็อกเชนและหลักการของการเข้ารหัส

1. SNARK และ STARK

ในด้านบล็อกเชนคำว่า "zk" ที่ใช้หรือกล่าวถึงมักไม่ได้หมายถึงพิสูจน์ที่ไม่ใช้ศัพท์ภาษาคุณแต่มักหมายถึงการพิสูจน์ความถูกต้อง เนื่องจากความสับสนในศัพท์คำบางส่วนของข้อความนี้จะยังคงใช้คำว่า "พิสใช้" เหล่านี้ต่อไป

ในภูมิทัศน์ปัจจุบันของบล็อกเชน zk สามารถถือเป็นการแก้ปัญหาและเทคโนโลยีสำหรับความสามารถในการขยายของบล็อกเชน (ไม่ใช่ zk แต่เป็น Validity Proof) และเทคโนโลยีความเป็นส่วนตัว (zk ที่แท้จริง) ซึ่งใช้ในโครงการเช่น Tornado.cash, ZCash, zkSync, zk.money, Filecoin และ Mina

โซลูชันทางเทคนิคในปัจจุบันส่วนใหญ่แบ่งออกเป็นสองประเภท: SNARK และ STARK ใน STARK "S" ย่อมาจาก scalable ซึ่งหมายความว่าคําสั่งที่พิสูจน์แล้วมีโครงสร้างซ้ํา ๆ ในขณะที่ SNARK รองรับวงจรโดยพลการที่ประมวลผลไว้ล่วงหน้าเพื่อให้ได้หลักฐานที่รัดกุม ในหมู่พวกเขาการใช้งานจริงของ SNARKs ได้ครองตําแหน่งผู้นําในขณะที่ STARKs ส่วนใหญ่ถูกนํามาใช้ในขนาดใหญ่ในผลิตภัณฑ์ที่เปิดตัวโดย StarkWare ต่อไปนี้เป็นการเปรียบเทียบระหว่างพวกเขา

จากมุมมองของ Meme, STARK ดีกว่า SNARK (😊, Star Wars, Star Trek)

หาก SNARK เป็นอนาคตของ Ethereum 2.0 แล้ว STARK ก็จะเป็นอนาคตของ Ethereum 3.0 อย่างจริงจัง ข้อดีของ STARK คือ

  • ค่าธรรมเนียมแก๊สต่ำกว่า (ความสามารถในการขยายขนาดที่ดีกว่า)
  • ขนาดกลุ่มที่ใหญ่กว่า (มีความยืดหยุ่นที่ดีกว่ามาก)
  • การพิสูจน์ที่เร็วขึ้น (มากกว่าการขยายมากขึ้น)
  • ไม่มีการติดตั้งที่เชื่อถือได้ (พารามิเตอร์ที่สร้างขึ้นมีผลบังคับเฉพาะสำหรับแอปพลิเคชันปัจจุบันเท่านั้น และหากมีการเปลี่ยนแปลงใด ๆ เกิดขึ้น จะต้องมีการติดตั้งใหม่)
  • ความปลอดภัยหลังควอนตัม

อย่างไรก็ตามหลักฐานที่สร้างโดย STARK มีขนาดใหญ่มาก เนื่องจากข้อ จํากัด บางประการเช่นที่กําหนดโดย WASM อาจจําเป็นต้องมีการดําเนินการเพิ่มเติมในระหว่างการก่อสร้าง (ในที่นี้เราหมายถึง SNARK) เมื่อเร็ว ๆ นี้ Mir ได้ให้การใช้งานจริงของ STARK ที่ใช้ AIR โดยใช้ Starky ซึ่งเป็นส่วนหนึ่งของ Plonky2 (ความสัมพันธ์ระหว่าง Plonky2 และ Starky ค่อนข้างซับซ้อน...) ในความเห็นส่วนตัวของฉันในขณะที่ขนาดสามารถปรับให้เหมาะสมได้โดยใช้เทคนิคต่าง ๆ มันเป็นเรื่องยากที่จะบีบอัดความซับซ้อนของเวลาของอัลกอริทึมเอง

เทคโนโลยีพิสูจน์ทศนิยมศูนย์เหลือเหลือเหลือจะสามารถรวมกันในทางที่เหมาะสมเพื่อสร้างการใช้งานที่มีประสิทธิภาพมากขึ้น ตัวอย่างเช่น Polygon Hermez ใช้ SNARK เพื่อยืนยันความถูกต้องของ STARK ซึ่งจะลดค่าธรรมเนียมในการเผยแพร่พิสูจน์

โดยรวม SNARK และ STARK ทั้งสองเป็นเทคโนโลยีพิสูจน์ศูนย์ที่ยอดเยี่ยม แต่ละอย่างมีจุดเด่นของตนเอง และการผสมผสานที่สมเหตุสมผลของพวกเขายังมีศักยภาพมากขึ้น

2. zkVM

Tornado.cash และ zk.money ที่กล่าวถึงมาก่อนหน้านี้ เป็นแอปพลิเคชันที่คล้ายกันโดยรองรับการดำเนินการโอนเงินเท่านั้นโดยใช้พิสูจน์ที่ไม่เปิดเผยข้อมูล พวกเขาไม่สนับสนุนการคำนวณทั่วไป ในการเปรียบเทียบ แอปพลิเคชันเหล่านี้มีเพียงความสามารถของ Bitcoin เท่านั้น น้อยกว่า Ethereum ที่สามารถคำนวณแบบ Turing-complete จริงๆ ยังไม่ได้สร้างนิเวศที่เจริญรุ่งเรือง (สมาร์ทคอนแทรคต์บน Bitcoin ยังไม่ได้สร้างนิเวศที่เจริญรุ่งเรือง)

zkVM เป็นเครื่องจำลองเสมือนที่ให้ความมั่นคงและน่าเชื่อถือโดยใช้พิสูจน์ที่ไม่เปิดเผยเป็นศูนย์ นั่นคือ มันใช้สถานะเก่าและโปรแกรมเป็นอินพุตและส่งคืนสถานะใหม่ มันทำให้แอปพลิเคชันทุกตัวมีพลังพิเสธที่ไม่เปิดเผย

การนำเสนอของ Miden ที่ ETH Amsterdam สรุปสาระสำคัญของ zkVM ด้วยภาพเดียว

ข้อดีของ zkVM:

  • ใช้ง่าย: นักพัฒนาสามารถใช้ zkVM เพื่อเรียกใช้โปรแกรมและให้ความมั่นคงในด้านความปลอดภัยในการคำนวณโดยไม่จำเป็นต้องเรียนรู้เรื่องการเข้ารหัสหรือการพัฒนาที่ไม่มีความรู้ในฐานะศูนย์ (ซึ่งไม่ได้หมายความว่าไม่มีอุปสรรคในการเข้าสู่ระบบ)
  • Universal: zkVM สามารถสร้างพิสูจน์สำหรับโปรแกรมและการคำนวณใด ๆ ได้
  • สรุป: สามารถอธิบาย VM ทั้งหมดด้วยเงื่อนไขที่น้อยมากโดยไม่ต้องสร้างวงจร VM ทั้งหมดอีกครั้ง
  • การทำซ้ำ: คุณลักษณะการทำซ้ำฟรี คล้ายกับความทั่วถึงของมัน การตรวจสอบของ VM สามารถทำได้โดยใช้ VM ตัวเอง สิ่งนี้น่าสนใจอย่างมาก เช่น คุณสามารถมี zkVM ใน zkVM เช่นเดียวกับแนวคิดของ L3 ที่ถูกกล่าวถึงโดย StarkWare

ข้อเสียของ zkVM:

  • โครงสร้างคำนวณที่เฉพาะเจาะจง: ไม่ทุกระบบพิสูจน์ทศนิยมที่เป็นศูนย์สามารถนำมาใช้สำหรับ zkVM ได้
  • ปัญหาเรื่องประสิทธิภาพ: วงจรต้องถูกปรับและสามารถปรับแต่งอย่างเฉพาะเจาะจงสำหรับการคำนวณบางอย่าง

ขณะนี้มีสามประเภทหลักของ zkVM โดยมีเซตคำสั่งที่เกี่ยวข้องแต่ละประเภทดังนี้: หลัก (WASM, RISC-V), EVM (EVM bytecode), ZK-Optimized (เซตคำสั่งใหม่ที่ถูกปรับให้เหมาะสำหรับพิสูจน์ที่ไม่มีศูนย์ เช่น Cairo และ zkSync) ข้างล่างนี้คือตารางเปรียบเทียบของประเภทเหล่านี้โดยขึ้นอยู่กับการนำเสนอของ Miden ที่ ETH Amsterdam

หลายสิ่งที่ทำในระบบนิยามที่ไม่รู้เกี่ยวกับการพัฒนาโครงสร้างมั่นใจในการให้นักพัฒนาใช้ไลบรารี Circom (และ snarkyjs เช่น) หรือภาษาที่สร้างขึ้นใหม่ (เช่น Leo หรือ Cairo ซึ่งมีข้อจำกัดที่เป็นเอกลักษณ์ของตน) สำหรับการพัฒนา zk DApps ทั่วไป อย่างไรก็ตามนี่ไม่ใช่เรื่องง่ายและเรียนรู้ง่ายเหมือนการใช้ Solidity บน Ethereum

นอกจากนั้นยังมีโครงการมากมาย เช่น zkSync, Scroll หรือบางโครงการภายใต้ร่มรบกวนของ Polygon ที่กำลังทดลองกับ zkEVM หรือโซลูชั่น zkVM อื่น ๆ

3. EVM

EVM คือเครื่องจำลองเสมือนของ Ethereum ซึ่งสามารถเข้าใจได้เช่นกันว่าเป็นชุดของสภาพแวดล้อมการดำเนินการสำหรับการเรียกใช้สัญญาฉลากอัจฉริยะ

ในระยะเวลาหลายปี บล็อกเชนสาธารณะต่าง ๆ ได้พยายามอย่างต่อเนื่องที่จะเข้ากันได้กับ EVM โดยผนวกเข้ากับระบบพัฒนา Ethereum โดยประการนี้ แนวคิดนี้ได้นำไปสู่การหาคำจำกัดความเช่น EVM compatibility, EVM equivalence, และคำจำกัดความอื่น ๆ

  • ความเข้ากันได้กับ EVM: การปรับเปลี่ยนในระดับภาษา เช่นด้วย Solidity
  • ระดับเทียบเท่ากับ EVM: การปรับเข้ากันที่ระดับรหัส bytecode ของ EVM
  • การปรับปรุงข้อมูลของ EVM: นี่คือสิ่งที่มักจะถูกอ้างถึงว่าเป็น zkEVM แท้จริง ในส่วนมาก มันยังเป็นเซตย่อยที่ถูกปรับให้เข้ากันได้ย้อนหลัง และถูกพัฒนาให้มีคุณสมบัติที่ EVM ไม่มี เช่น การสรุปบัญชี (โดยที่แต่ละบัญชีเป็นสมาร์ทคอนแทรค)

4. zkEVM

เรามาทำความเข้าใจ zkEVM อีกเพิ่มเติม ตามนิยาม zkEVM คือเครื่องจำลองเสมือนที่เข้ากันได้กับ EVM และเป็นมิตรกับพิสูจน์ทฤษฎีศาสตร์ที่เป็นศูนย์ ๆ ที่สร้างความถูกต้องอย่างสมบูรณ์ของโปรแกรม การดำเนินการ และข้อมูลเข้า/ออก

เพื่อบรรทึกความสามารถในการคำนวณทั่วไป มีทั้งหมด 2 ความท้าทายหลักในการพัฒนา zkEVM:

a) ความซับซ้อนของวงจร

สัญญาที่แตกต่างกันต้องการการสร้างวงจรที่แตกต่างกัน และวงจรเหล่านี้มีความ 'ซับซ้อน' อย่างมาก

ด้านนี้ใช้วิธีการปรับปรุงต่าง ๆ อย่างหลายอย่าง ตัวอย่างเช่น Aleo (แม้ว่ามันไม่ใช่ประเภท ZK โดยตรง... เป็นตัวอย่างเพื่อการปรับปรุง) ใช้คลัสเตอร์ที่กระจายสำหรับการคำนวณพิสูจน์พร้อมกัน หรือการปรับปรุงฮาร์ดแวร์ต่าง ๆ สำหรับการเร่งความเร็ว

b) ความยากลำบากในการออกแบบ

zkEVM ต้องการไม่เพียงแค่การสร้างใหม่ของ EVM แต่ยังต้องการการสร้างใหม่ของการเปลี่ยนแปลงสถานะทั้งหมดของ Ethereum โดยใช้เทคโนโลยีพิสูจน์ทศนิยมศูนย์

การออกแบบเดิมของ EVM ไม่ได้คาดหวังถึงการพัฒนา zkEVM ซึ่งเป็นเหตุให้เกิดความยากลำบากอย่างมาก ซึ่งได้ผลให้เกิดโรงเรียนสองฝ่ายดังแสดงในแผนภูมิ

หรือเพื่อแยกแยะตามโครงสร้างของเครื่องจำลองเสมือน (VM) เช่นในแผนภาพด้านล่าง (ขอขอบคุณอย่างสูงที่ Scroll Tech สำหรับภาพสรุปดั้งเดิม!) Opcode หมายถึง EVM Opcode ส่วนของ StarkWare ใช้ Warp เพื่อแปลงสัญญา Solidity เป็นสัญญา Cairo หรือสามารถเขียนสัญญาใน Cairo โดยตรง และยังคงได้ประสบการณ์การพัฒนาที่ดีและชุดเครื่องมือครบ

ที่ระดับนักพัฒนาและผู้ใช้, ฉันเห็นว่าโซลูชันเหล่านี้เกือบจะไม่สามารถแยกแยะได้ อย่างไรก็ตาม, ในเชิงโครงสร้างพื้นฐาน, โซลูชันทางขวามือมีความสามารถในการทำงานร่วมกับ EVM ได้ดีกว่า สามารถให้การรองรับอย่างไม่มีปัญหากับโครงสร้างพื้นฐาน เช่น Geth แต่ความคืบหน้าในการพัฒนามักจะช้าลง

5. zkEVM และ zkVM

ในความคิดของฉันการมีอยู่ของ zkEVM คือการคิดค้นและแก้ไขระบบนิเวศของ Ethereum ซึ่งเอื้อต่อความเจริญรุ่งเรืองของ Ethereum และระบบนิเวศ ในทางกลับกันการมีอยู่ของ zkVM อาจไม่จําเป็นต้องเสริมสร้าง Ethereum แต่ให้จินตนาการที่มากขึ้น

แม้ว่า Cairo VM ของ StarkNet อาจจะไม่ใช่ zkVM ที่สมบูรณ์แบบที่ฉันคาดหวัง แต่มันสามารถทำได้มากกว่า EVM หรือ zkEVM ฟังก์ชันพิเศษเหล่านี้เกินความสามารถของส่วนขยาย EIP บน Cairo VM โมเดลการเรียนรู้ของเครื่องสามารถรัน และยังมีแพลตฟอร์มโมเดลการเรียนรู้ของเครื่องกำลังถูกสร้างขึ้นบน StarkNet อีกด้วย

เมื่อเปรียบเทียบกับ zkEVM การสร้าง zkVM ง่ายกว่า (โดยไม่ต้องกังวลเรื่องหนี้สูญญากาศทางเทคนิคของ EVM) ยืดหยุ่นมากกว่า (โดยไม่ต้องกังวลเรื่องการอัปเดตของ EVM) และง่ายต่อการปรับปรุง (ตรวจสอบและตัวจัดการพิสูจน์ที่ง่ายและถูกกว่าการสร้าง zkEVM)

อย่างไรก็ตาม, zkVM มีข้อเสียเล็กน้อย แต่อาจเป็นอุปสรรคที่ชีพจรได้ หาก zkVM ไม่สามารถให้ความเข้ากันได้กับ EVM ในระดับภาษา Solidity, จะยากสำหรับ zkVM ที่จะสร้างระบบนิเวศการพัฒนา Web3 อย่างเต็มรูปแบบและสมบูรณ์เช่นเดียวกับ EVM

zkVM อาจเป็นแนวโน้มที่ใหญ่กว่าซึ่งสามารถเปิดโอกาสให้การปรับแต่งแนวราบของ EVM และการขยายตัวแนอนของระบบนิเวศ EVM โดยที่ไม่ต้องได้รับข้อจำกัดของ EVM

6. 未来的 zkVM

หากมี zkVM สากลที่อนุญาตให้สมาร์ทคอนแทร็กทุกภาษาโปรแกรมไม่แค่ Solidity ไม่แค่ Cairo แต่ Rust C++ Go ทำงานอย่างปลอดภัยด้วยหลักฐานที่ไม่เปิดเผย นั้นก็ดีน่าหวังใจใช่ไหม (Stellar พยายามแล้ว แต่ล้มเหลว)

เหมือน @kelvinfichterกล่าวถึง: ทำไม zkEVM ถ้า zkMIPS ล่ะ?@KyleSamaniกล่าวถึง: EVM เป็นข้อผิดพลาดไม่ใช่คุณสมบัติ ทำไม zkEVM ถ้า zkVM?

Winterfall, Distaff, Miden VM, และ zkVMs อื่น ๆ ยังไม่ได้รับการยินยอมจากนักพัฒนาในระดับสูง Nervos มี RISC-V VM แต่มันไม่ใช้เทคโนโลยี proof zero-knowledge

Solition ที่ดีที่สุดในสถานการณ์ปัจจุบันคือการสร้าง WASM หรือ RISC-V zkVM, ดีขึ้นอีกถ้ามันสามารถรองรับภาษาเช่น Rust, Go, C++, และ Solidity (zkSync ดูเหมือนจะสามารถมีส่วนช่วยอย่างมีนัยสำคัญ) หากมี zkVM สากลเช่นนั้น มันจะเป็นการโจมตีที่มีนัยสำคัญต่อ zkEVM

จำนวนนักพัฒนา Web3 มีอยู่ประมาณ 0.07% ของนักพัฒนาทั้งหมด นี่หมายความว่าจำนวนนักพัฒนา Solidity ยิ่งน้อยกว่า 0.07% และนักพัฒนาน้อยมากกว่านักพัฒนาจะใช้ Cairo เพื่อเขียนสัญญาหรือ Leo เพื่อเขียนวงจร ด้วยผลลัพธ์ที่ zkVM ที่สมบูรณ์ถึงเป้าหมายที่จะเป็นที่ชื่นชมสำหรับนักพัฒนาเกือบ 100% เนื่องจากนักพัฒนาใดก็สามารถได้รับสภาพแวดล้อมที่ดีเยี่ยมที่เป็นศูนย์ของความรู้ได้โดยใช้ภาษาโปรแกรมใดก็ได้เกือบทุกภาษา

หากวันหนึ่ง Web3 และ Crypto จะครองโลก ฉันเชื่อว่ามันแน่นอนจะไม่ใช่ระบบนิเวศ EVM ที่ครอบครอง 100% ของนักพัฒนาทั้งหมด แต่เป็นนักพัฒนาทั้งหมดที่เริ่มเปลี่ยนไปเป็นนักพัฒนา Web3 และ Crypto เป็นบางส่วน นี่คือที่ที่ความฉลาดของ zkVM สามารถหล่อหลอม

Native zkEVM เป็นอนาคตของบล็อกเชน

Universal zkVM เป็นอนาคตของ Web3.

คำชี้แจง:

  1. บทความนี้ถูกพิมพ์ซ้ำจาก [ วิจัยภาพรังสี]. ลิขสิทธิ์ทั้งหมดเป็นของผู้เขียนต้นฉบับ [ msfew @ บริษัท Foresight Ventures]. หากมีการท้าทายในการพิมพ์ฉบับนี้ โปรดติดต่อGate เรียนรู้ทีม และพวกเขาจะจัดการกับมันโดยรวดเร็ว
  2. คำปฏิเสธความรับผิด: มุมมองและความคิดเห็นที่แสดงในบทความนี้เป็นเพียงของผู้เขียนเท่านั้น และไม่เป็นการให้คำแนะนำทางการลงทุนใด ๆ
  3. การแปลบทความเป็นภาษาอื่นๆ ทำโดยทีม Gate Learn หากไม่ได้กล่าวถึง การคัดลอก การกระจาย หรือการลอกเลียนบทความที่ถูกแปล นั้นถือเป็นการละเมิด

Foresight Ventures: ถอดรหัส zk, zkVM, zkEVM และอนาคตของพวกเขา

มือใหม่12/27/2023, 3:12:52 PM
บทความนี้ให้ข้อมูลสรุปอย่างละเอียดเกี่ยวกับแนวคิดเช่น zk, zkVM, zkEVM เป็นต้น โดยมีจุดมุ่งหมายเพื่อให้เข้าใจเทคโนโลยี zk อย่างลึกซึ้งผ่านการวิเคราะห์อย่างเป็นระเบียบ

TL; DR

  • เทคโนโลยีพิสูจน์ทศนิยมศูนย์ทำให้ความสมบูรณ์ ความถูกต้อง และความเป็นส่วนตัวของการคำนวณ ซึ่งสามารถนำไปใช้ในการขยายขอบเขตและความเป็นส่วนตัวของบล็อกเชน
  • zk-SNARK และ zk-STARK มีข้อดีของตนแต่ละประเภท และการผสมกันอย่างมีเหตุผลจะมีศักยภาพมากยิ่งขึ้น
  • zkVM ทำให้แอปพลิเคชันสามารถใช้งานกับความสามารถในการพิสูจน์ทศนิยมศูนย์ และถูกจัดหมวดหมู่เป็นการนำไปใช้งานหลัก EVM หรือการนำไปใช้งานในชุดคำสั่งใหม่
  • การปรับปรุง EVM รวมถึงความเข้ากันได้ของ EVM, ความเทียบเท่า, และความเป็นไปตามข้อกำหนด
  • zkEVM เป็นสภาพแวดล้อมที่เหมาะสำหรับพิสูจน์ทฤษฎีศาสตร์ที่เป็นศูนย์ที่เข้ากันได้กับ EVM และถูกแบ่งเป็นรุ่นเดิมและรุ่นคอมไพล์
  • Native zkEVM เป็นอนาคตของ Ethereum และบล็อกเชน
  • zkVM ทั่วไปที่สนับสนุนระบบ Solidity เป็นอนาคตของ Web3

0. พิสูจน์ที่ไม่เปิดเผย

นี่คือบทนำที่เรียบง่ายและเข้าใจง่ายเกี่ยวกับหลักฐานที่ไม่เป็นศูนย์

มองว่าคุณอยู่ในโรงเรียนประถม ครูคือผู้ตรวจสอบ และคุณเป็นนักเรียนที่เป็นผู้พิสูจน์ คุณจะพิสูจน์ได้อย่างไรว่าคุณเข้าใจสูตรในการแก้สมการกำลังสอง? นั่นคือที่ที่การสอบคณิตศาสตร์มาช่วย

ครูจะสุ่มให้คุณ 10 คำถามที่เกี่ยวข้อง และหากคุณเข้าใจแนวคิดจริง ๆ คุณจะสามารถแก้ทุกข้อได้ ระหว่างกระบวนการนี้ คุณไม่จำเป็นต้องจำหรือเขียนเนื้อหาเฉพาะของสูตร แต่ครูสามารถตรวจสอบระดับความรู้ของคุณได้อย่างง่ายดาย

ที่จริงแล้วนี่เป็นวิธีที่ Tartaglia และ Cardano ใช้ (ใช่นั่นคือชื่อ) เพื่อแข่งขันกันว่าใครเป็นผู้ค้นพบวิธีแก้ปัญหาสมการลูกบาศก์ พวกเขาทั้งสองไม่ต้องการเปิดเผยเนื้อหาของสูตรของพวกเขาต่อกัน แต่ด้วยการแก้ปัญหาพวกเขาสามารถตรวจสอบและพิจารณาว่าพวกเขาเชี่ยวชาญความรู้นี้หรือไม่โดยไม่ต้องเปิดเผยรายละเอียด

วัตถุประสงค์ของศาสตร์พิสูจน์ที่ไม่รู้เรื่องคืออะไร? วัตถุประสงค์คือเพื่อประหยัดพลังงานคำนวณและลดพื้นที่บนเชื่อมโยงในกระบวนการทั้งหมด นอกจากนี้ยังสามารถให้ความเป็นส่วนตัว จัดอยู่ในลักษณะของความไว้วางใจในบล็อกเชนและหลักการของการเข้ารหัส

1. SNARK และ STARK

ในด้านบล็อกเชนคำว่า "zk" ที่ใช้หรือกล่าวถึงมักไม่ได้หมายถึงพิสูจน์ที่ไม่ใช้ศัพท์ภาษาคุณแต่มักหมายถึงการพิสูจน์ความถูกต้อง เนื่องจากความสับสนในศัพท์คำบางส่วนของข้อความนี้จะยังคงใช้คำว่า "พิสใช้" เหล่านี้ต่อไป

ในภูมิทัศน์ปัจจุบันของบล็อกเชน zk สามารถถือเป็นการแก้ปัญหาและเทคโนโลยีสำหรับความสามารถในการขยายของบล็อกเชน (ไม่ใช่ zk แต่เป็น Validity Proof) และเทคโนโลยีความเป็นส่วนตัว (zk ที่แท้จริง) ซึ่งใช้ในโครงการเช่น Tornado.cash, ZCash, zkSync, zk.money, Filecoin และ Mina

โซลูชันทางเทคนิคในปัจจุบันส่วนใหญ่แบ่งออกเป็นสองประเภท: SNARK และ STARK ใน STARK "S" ย่อมาจาก scalable ซึ่งหมายความว่าคําสั่งที่พิสูจน์แล้วมีโครงสร้างซ้ํา ๆ ในขณะที่ SNARK รองรับวงจรโดยพลการที่ประมวลผลไว้ล่วงหน้าเพื่อให้ได้หลักฐานที่รัดกุม ในหมู่พวกเขาการใช้งานจริงของ SNARKs ได้ครองตําแหน่งผู้นําในขณะที่ STARKs ส่วนใหญ่ถูกนํามาใช้ในขนาดใหญ่ในผลิตภัณฑ์ที่เปิดตัวโดย StarkWare ต่อไปนี้เป็นการเปรียบเทียบระหว่างพวกเขา

จากมุมมองของ Meme, STARK ดีกว่า SNARK (😊, Star Wars, Star Trek)

หาก SNARK เป็นอนาคตของ Ethereum 2.0 แล้ว STARK ก็จะเป็นอนาคตของ Ethereum 3.0 อย่างจริงจัง ข้อดีของ STARK คือ

  • ค่าธรรมเนียมแก๊สต่ำกว่า (ความสามารถในการขยายขนาดที่ดีกว่า)
  • ขนาดกลุ่มที่ใหญ่กว่า (มีความยืดหยุ่นที่ดีกว่ามาก)
  • การพิสูจน์ที่เร็วขึ้น (มากกว่าการขยายมากขึ้น)
  • ไม่มีการติดตั้งที่เชื่อถือได้ (พารามิเตอร์ที่สร้างขึ้นมีผลบังคับเฉพาะสำหรับแอปพลิเคชันปัจจุบันเท่านั้น และหากมีการเปลี่ยนแปลงใด ๆ เกิดขึ้น จะต้องมีการติดตั้งใหม่)
  • ความปลอดภัยหลังควอนตัม

อย่างไรก็ตามหลักฐานที่สร้างโดย STARK มีขนาดใหญ่มาก เนื่องจากข้อ จํากัด บางประการเช่นที่กําหนดโดย WASM อาจจําเป็นต้องมีการดําเนินการเพิ่มเติมในระหว่างการก่อสร้าง (ในที่นี้เราหมายถึง SNARK) เมื่อเร็ว ๆ นี้ Mir ได้ให้การใช้งานจริงของ STARK ที่ใช้ AIR โดยใช้ Starky ซึ่งเป็นส่วนหนึ่งของ Plonky2 (ความสัมพันธ์ระหว่าง Plonky2 และ Starky ค่อนข้างซับซ้อน...) ในความเห็นส่วนตัวของฉันในขณะที่ขนาดสามารถปรับให้เหมาะสมได้โดยใช้เทคนิคต่าง ๆ มันเป็นเรื่องยากที่จะบีบอัดความซับซ้อนของเวลาของอัลกอริทึมเอง

เทคโนโลยีพิสูจน์ทศนิยมศูนย์เหลือเหลือเหลือจะสามารถรวมกันในทางที่เหมาะสมเพื่อสร้างการใช้งานที่มีประสิทธิภาพมากขึ้น ตัวอย่างเช่น Polygon Hermez ใช้ SNARK เพื่อยืนยันความถูกต้องของ STARK ซึ่งจะลดค่าธรรมเนียมในการเผยแพร่พิสูจน์

โดยรวม SNARK และ STARK ทั้งสองเป็นเทคโนโลยีพิสูจน์ศูนย์ที่ยอดเยี่ยม แต่ละอย่างมีจุดเด่นของตนเอง และการผสมผสานที่สมเหตุสมผลของพวกเขายังมีศักยภาพมากขึ้น

2. zkVM

Tornado.cash และ zk.money ที่กล่าวถึงมาก่อนหน้านี้ เป็นแอปพลิเคชันที่คล้ายกันโดยรองรับการดำเนินการโอนเงินเท่านั้นโดยใช้พิสูจน์ที่ไม่เปิดเผยข้อมูล พวกเขาไม่สนับสนุนการคำนวณทั่วไป ในการเปรียบเทียบ แอปพลิเคชันเหล่านี้มีเพียงความสามารถของ Bitcoin เท่านั้น น้อยกว่า Ethereum ที่สามารถคำนวณแบบ Turing-complete จริงๆ ยังไม่ได้สร้างนิเวศที่เจริญรุ่งเรือง (สมาร์ทคอนแทรคต์บน Bitcoin ยังไม่ได้สร้างนิเวศที่เจริญรุ่งเรือง)

zkVM เป็นเครื่องจำลองเสมือนที่ให้ความมั่นคงและน่าเชื่อถือโดยใช้พิสูจน์ที่ไม่เปิดเผยเป็นศูนย์ นั่นคือ มันใช้สถานะเก่าและโปรแกรมเป็นอินพุตและส่งคืนสถานะใหม่ มันทำให้แอปพลิเคชันทุกตัวมีพลังพิเสธที่ไม่เปิดเผย

การนำเสนอของ Miden ที่ ETH Amsterdam สรุปสาระสำคัญของ zkVM ด้วยภาพเดียว

ข้อดีของ zkVM:

  • ใช้ง่าย: นักพัฒนาสามารถใช้ zkVM เพื่อเรียกใช้โปรแกรมและให้ความมั่นคงในด้านความปลอดภัยในการคำนวณโดยไม่จำเป็นต้องเรียนรู้เรื่องการเข้ารหัสหรือการพัฒนาที่ไม่มีความรู้ในฐานะศูนย์ (ซึ่งไม่ได้หมายความว่าไม่มีอุปสรรคในการเข้าสู่ระบบ)
  • Universal: zkVM สามารถสร้างพิสูจน์สำหรับโปรแกรมและการคำนวณใด ๆ ได้
  • สรุป: สามารถอธิบาย VM ทั้งหมดด้วยเงื่อนไขที่น้อยมากโดยไม่ต้องสร้างวงจร VM ทั้งหมดอีกครั้ง
  • การทำซ้ำ: คุณลักษณะการทำซ้ำฟรี คล้ายกับความทั่วถึงของมัน การตรวจสอบของ VM สามารถทำได้โดยใช้ VM ตัวเอง สิ่งนี้น่าสนใจอย่างมาก เช่น คุณสามารถมี zkVM ใน zkVM เช่นเดียวกับแนวคิดของ L3 ที่ถูกกล่าวถึงโดย StarkWare

ข้อเสียของ zkVM:

  • โครงสร้างคำนวณที่เฉพาะเจาะจง: ไม่ทุกระบบพิสูจน์ทศนิยมที่เป็นศูนย์สามารถนำมาใช้สำหรับ zkVM ได้
  • ปัญหาเรื่องประสิทธิภาพ: วงจรต้องถูกปรับและสามารถปรับแต่งอย่างเฉพาะเจาะจงสำหรับการคำนวณบางอย่าง

ขณะนี้มีสามประเภทหลักของ zkVM โดยมีเซตคำสั่งที่เกี่ยวข้องแต่ละประเภทดังนี้: หลัก (WASM, RISC-V), EVM (EVM bytecode), ZK-Optimized (เซตคำสั่งใหม่ที่ถูกปรับให้เหมาะสำหรับพิสูจน์ที่ไม่มีศูนย์ เช่น Cairo และ zkSync) ข้างล่างนี้คือตารางเปรียบเทียบของประเภทเหล่านี้โดยขึ้นอยู่กับการนำเสนอของ Miden ที่ ETH Amsterdam

หลายสิ่งที่ทำในระบบนิยามที่ไม่รู้เกี่ยวกับการพัฒนาโครงสร้างมั่นใจในการให้นักพัฒนาใช้ไลบรารี Circom (และ snarkyjs เช่น) หรือภาษาที่สร้างขึ้นใหม่ (เช่น Leo หรือ Cairo ซึ่งมีข้อจำกัดที่เป็นเอกลักษณ์ของตน) สำหรับการพัฒนา zk DApps ทั่วไป อย่างไรก็ตามนี่ไม่ใช่เรื่องง่ายและเรียนรู้ง่ายเหมือนการใช้ Solidity บน Ethereum

นอกจากนั้นยังมีโครงการมากมาย เช่น zkSync, Scroll หรือบางโครงการภายใต้ร่มรบกวนของ Polygon ที่กำลังทดลองกับ zkEVM หรือโซลูชั่น zkVM อื่น ๆ

3. EVM

EVM คือเครื่องจำลองเสมือนของ Ethereum ซึ่งสามารถเข้าใจได้เช่นกันว่าเป็นชุดของสภาพแวดล้อมการดำเนินการสำหรับการเรียกใช้สัญญาฉลากอัจฉริยะ

ในระยะเวลาหลายปี บล็อกเชนสาธารณะต่าง ๆ ได้พยายามอย่างต่อเนื่องที่จะเข้ากันได้กับ EVM โดยผนวกเข้ากับระบบพัฒนา Ethereum โดยประการนี้ แนวคิดนี้ได้นำไปสู่การหาคำจำกัดความเช่น EVM compatibility, EVM equivalence, และคำจำกัดความอื่น ๆ

  • ความเข้ากันได้กับ EVM: การปรับเปลี่ยนในระดับภาษา เช่นด้วย Solidity
  • ระดับเทียบเท่ากับ EVM: การปรับเข้ากันที่ระดับรหัส bytecode ของ EVM
  • การปรับปรุงข้อมูลของ EVM: นี่คือสิ่งที่มักจะถูกอ้างถึงว่าเป็น zkEVM แท้จริง ในส่วนมาก มันยังเป็นเซตย่อยที่ถูกปรับให้เข้ากันได้ย้อนหลัง และถูกพัฒนาให้มีคุณสมบัติที่ EVM ไม่มี เช่น การสรุปบัญชี (โดยที่แต่ละบัญชีเป็นสมาร์ทคอนแทรค)

4. zkEVM

เรามาทำความเข้าใจ zkEVM อีกเพิ่มเติม ตามนิยาม zkEVM คือเครื่องจำลองเสมือนที่เข้ากันได้กับ EVM และเป็นมิตรกับพิสูจน์ทฤษฎีศาสตร์ที่เป็นศูนย์ ๆ ที่สร้างความถูกต้องอย่างสมบูรณ์ของโปรแกรม การดำเนินการ และข้อมูลเข้า/ออก

เพื่อบรรทึกความสามารถในการคำนวณทั่วไป มีทั้งหมด 2 ความท้าทายหลักในการพัฒนา zkEVM:

a) ความซับซ้อนของวงจร

สัญญาที่แตกต่างกันต้องการการสร้างวงจรที่แตกต่างกัน และวงจรเหล่านี้มีความ 'ซับซ้อน' อย่างมาก

ด้านนี้ใช้วิธีการปรับปรุงต่าง ๆ อย่างหลายอย่าง ตัวอย่างเช่น Aleo (แม้ว่ามันไม่ใช่ประเภท ZK โดยตรง... เป็นตัวอย่างเพื่อการปรับปรุง) ใช้คลัสเตอร์ที่กระจายสำหรับการคำนวณพิสูจน์พร้อมกัน หรือการปรับปรุงฮาร์ดแวร์ต่าง ๆ สำหรับการเร่งความเร็ว

b) ความยากลำบากในการออกแบบ

zkEVM ต้องการไม่เพียงแค่การสร้างใหม่ของ EVM แต่ยังต้องการการสร้างใหม่ของการเปลี่ยนแปลงสถานะทั้งหมดของ Ethereum โดยใช้เทคโนโลยีพิสูจน์ทศนิยมศูนย์

การออกแบบเดิมของ EVM ไม่ได้คาดหวังถึงการพัฒนา zkEVM ซึ่งเป็นเหตุให้เกิดความยากลำบากอย่างมาก ซึ่งได้ผลให้เกิดโรงเรียนสองฝ่ายดังแสดงในแผนภูมิ

หรือเพื่อแยกแยะตามโครงสร้างของเครื่องจำลองเสมือน (VM) เช่นในแผนภาพด้านล่าง (ขอขอบคุณอย่างสูงที่ Scroll Tech สำหรับภาพสรุปดั้งเดิม!) Opcode หมายถึง EVM Opcode ส่วนของ StarkWare ใช้ Warp เพื่อแปลงสัญญา Solidity เป็นสัญญา Cairo หรือสามารถเขียนสัญญาใน Cairo โดยตรง และยังคงได้ประสบการณ์การพัฒนาที่ดีและชุดเครื่องมือครบ

ที่ระดับนักพัฒนาและผู้ใช้, ฉันเห็นว่าโซลูชันเหล่านี้เกือบจะไม่สามารถแยกแยะได้ อย่างไรก็ตาม, ในเชิงโครงสร้างพื้นฐาน, โซลูชันทางขวามือมีความสามารถในการทำงานร่วมกับ EVM ได้ดีกว่า สามารถให้การรองรับอย่างไม่มีปัญหากับโครงสร้างพื้นฐาน เช่น Geth แต่ความคืบหน้าในการพัฒนามักจะช้าลง

5. zkEVM และ zkVM

ในความคิดของฉันการมีอยู่ของ zkEVM คือการคิดค้นและแก้ไขระบบนิเวศของ Ethereum ซึ่งเอื้อต่อความเจริญรุ่งเรืองของ Ethereum และระบบนิเวศ ในทางกลับกันการมีอยู่ของ zkVM อาจไม่จําเป็นต้องเสริมสร้าง Ethereum แต่ให้จินตนาการที่มากขึ้น

แม้ว่า Cairo VM ของ StarkNet อาจจะไม่ใช่ zkVM ที่สมบูรณ์แบบที่ฉันคาดหวัง แต่มันสามารถทำได้มากกว่า EVM หรือ zkEVM ฟังก์ชันพิเศษเหล่านี้เกินความสามารถของส่วนขยาย EIP บน Cairo VM โมเดลการเรียนรู้ของเครื่องสามารถรัน และยังมีแพลตฟอร์มโมเดลการเรียนรู้ของเครื่องกำลังถูกสร้างขึ้นบน StarkNet อีกด้วย

เมื่อเปรียบเทียบกับ zkEVM การสร้าง zkVM ง่ายกว่า (โดยไม่ต้องกังวลเรื่องหนี้สูญญากาศทางเทคนิคของ EVM) ยืดหยุ่นมากกว่า (โดยไม่ต้องกังวลเรื่องการอัปเดตของ EVM) และง่ายต่อการปรับปรุง (ตรวจสอบและตัวจัดการพิสูจน์ที่ง่ายและถูกกว่าการสร้าง zkEVM)

อย่างไรก็ตาม, zkVM มีข้อเสียเล็กน้อย แต่อาจเป็นอุปสรรคที่ชีพจรได้ หาก zkVM ไม่สามารถให้ความเข้ากันได้กับ EVM ในระดับภาษา Solidity, จะยากสำหรับ zkVM ที่จะสร้างระบบนิเวศการพัฒนา Web3 อย่างเต็มรูปแบบและสมบูรณ์เช่นเดียวกับ EVM

zkVM อาจเป็นแนวโน้มที่ใหญ่กว่าซึ่งสามารถเปิดโอกาสให้การปรับแต่งแนวราบของ EVM และการขยายตัวแนอนของระบบนิเวศ EVM โดยที่ไม่ต้องได้รับข้อจำกัดของ EVM

6. 未来的 zkVM

หากมี zkVM สากลที่อนุญาตให้สมาร์ทคอนแทร็กทุกภาษาโปรแกรมไม่แค่ Solidity ไม่แค่ Cairo แต่ Rust C++ Go ทำงานอย่างปลอดภัยด้วยหลักฐานที่ไม่เปิดเผย นั้นก็ดีน่าหวังใจใช่ไหม (Stellar พยายามแล้ว แต่ล้มเหลว)

เหมือน @kelvinfichterกล่าวถึง: ทำไม zkEVM ถ้า zkMIPS ล่ะ?@KyleSamaniกล่าวถึง: EVM เป็นข้อผิดพลาดไม่ใช่คุณสมบัติ ทำไม zkEVM ถ้า zkVM?

Winterfall, Distaff, Miden VM, และ zkVMs อื่น ๆ ยังไม่ได้รับการยินยอมจากนักพัฒนาในระดับสูง Nervos มี RISC-V VM แต่มันไม่ใช้เทคโนโลยี proof zero-knowledge

Solition ที่ดีที่สุดในสถานการณ์ปัจจุบันคือการสร้าง WASM หรือ RISC-V zkVM, ดีขึ้นอีกถ้ามันสามารถรองรับภาษาเช่น Rust, Go, C++, และ Solidity (zkSync ดูเหมือนจะสามารถมีส่วนช่วยอย่างมีนัยสำคัญ) หากมี zkVM สากลเช่นนั้น มันจะเป็นการโจมตีที่มีนัยสำคัญต่อ zkEVM

จำนวนนักพัฒนา Web3 มีอยู่ประมาณ 0.07% ของนักพัฒนาทั้งหมด นี่หมายความว่าจำนวนนักพัฒนา Solidity ยิ่งน้อยกว่า 0.07% และนักพัฒนาน้อยมากกว่านักพัฒนาจะใช้ Cairo เพื่อเขียนสัญญาหรือ Leo เพื่อเขียนวงจร ด้วยผลลัพธ์ที่ zkVM ที่สมบูรณ์ถึงเป้าหมายที่จะเป็นที่ชื่นชมสำหรับนักพัฒนาเกือบ 100% เนื่องจากนักพัฒนาใดก็สามารถได้รับสภาพแวดล้อมที่ดีเยี่ยมที่เป็นศูนย์ของความรู้ได้โดยใช้ภาษาโปรแกรมใดก็ได้เกือบทุกภาษา

หากวันหนึ่ง Web3 และ Crypto จะครองโลก ฉันเชื่อว่ามันแน่นอนจะไม่ใช่ระบบนิเวศ EVM ที่ครอบครอง 100% ของนักพัฒนาทั้งหมด แต่เป็นนักพัฒนาทั้งหมดที่เริ่มเปลี่ยนไปเป็นนักพัฒนา Web3 และ Crypto เป็นบางส่วน นี่คือที่ที่ความฉลาดของ zkVM สามารถหล่อหลอม

Native zkEVM เป็นอนาคตของบล็อกเชน

Universal zkVM เป็นอนาคตของ Web3.

คำชี้แจง:

  1. บทความนี้ถูกพิมพ์ซ้ำจาก [ วิจัยภาพรังสี]. ลิขสิทธิ์ทั้งหมดเป็นของผู้เขียนต้นฉบับ [ msfew @ บริษัท Foresight Ventures]. หากมีการท้าทายในการพิมพ์ฉบับนี้ โปรดติดต่อGate เรียนรู้ทีม และพวกเขาจะจัดการกับมันโดยรวดเร็ว
  2. คำปฏิเสธความรับผิด: มุมมองและความคิดเห็นที่แสดงในบทความนี้เป็นเพียงของผู้เขียนเท่านั้น และไม่เป็นการให้คำแนะนำทางการลงทุนใด ๆ
  3. การแปลบทความเป็นภาษาอื่นๆ ทำโดยทีม Gate Learn หากไม่ได้กล่าวถึง การคัดลอก การกระจาย หรือการลอกเลียนบทความที่ถูกแปล นั้นถือเป็นการละเมิด
今すぐ始める
登録して、
$100
のボーナスを獲得しよう!