หลักฐานโดยละเอียดเกี่ยวกับความถูกต้องของ Rollup และคุณสมบัติทางเทคนิคของ Cairo VM

ที่มา: การปรับขนาด Ethereum อย่างมีประสิทธิภาพ การรวบรวม: Starknet Chinese Community

ภาพรวม

  • Proof of Validity Rollup เป็นวิธีที่มีศักยภาพมากที่สุดในการเพิ่มปริมาณงานของ Ethereum ด้วยวิธีที่ปลอดภัยและกระจายอำนาจ zkEVM และ Cairo VM (CVM) เป็นเครื่องเสมือน (VM) สองเครื่องที่ใช้ในประเภท Rollup of Validity Proof
  • zkEVM มุ่งเน้นไปที่ความเข้ากันได้ของ Ethereum โดยที่ค่าใช้จ่ายของประสิทธิภาพและความสามารถในการปรับขนาด
  • Cairo VM ที่ Starknet นำมาใช้นั้นให้ความสำคัญกับประสิทธิภาพและความสามารถในการปรับขนาดมากกว่าความเข้ากันได้

Rollups เป็นประเด็นร้อนในปีนี้เกี่ยวกับการปรับขนาด Ethereum ในบรรดา Rollup ประเภทต่างๆ เราเชื่อว่า Validity Proof Rollup (ต่อไปนี้จะเรียกว่า VR หรือ zk-rollup) เป็นโซลูชันการขยายตัวที่มีแนวโน้มดีที่สุดในการเพิ่มปริมาณงานของ Ethereum ด้วยวิธีที่ปลอดภัยและกระจายอำนาจ แกนหลักของแผนการขยายนี้คือการใช้หลักฐานความถูกต้องสำหรับการคำนวณที่ตรวจสอบได้ นี่คือวิธีการทำงาน:

  • ไม่เหมือนกับการประมวลผลแต่ละธุรกรรมบน Ethereum mainnet ผู้ดำเนินการดำเนินการธุรกรรมในสภาพแวดล้อมนอกเครือข่าย สภาพแวดล้อมแบบออฟไลน์คือ L2 ซึ่งเป็นชั้นปฏิบัติการที่ทำงานบน Ethereum
  • หลังจากการประมวลผลธุรกรรมจำนวนมากเสร็จสิ้น ผู้ดำเนินการ L2 จะส่งคืนผลลัพธ์เป็นสถานะ Ethereum พร้อมกับหลักฐานความถูกต้องเพื่อตรวจสอบความสมบูรณ์ของการดำเนินการนอกเครือข่าย หลักฐานนี้รับประกันว่าการทำธุรกรรมทั้งหมดในแบทช์เดียวกันนั้นถูกต้องและได้รับการตรวจสอบโดยอัตโนมัติโดยสัญญาการตรวจสอบแบบออนไลน์ การดำเนินการนี้ทำให้ Ethereum ใช้ผลลัพธ์กับสถานะของมันได้

คุณลักษณะทางเทคนิคโดยละเอียดของ Rollup และ Cairo VM เพื่อพิสูจน์ความถูกต้อง

การยกเลิกหลักฐานความถูกต้อง

โปรดทราบ: การพิสูจน์ความถูกต้องของ Rollups มักจะเรียกว่า Zero-Knowledge Rollups (zkRollup) อย่างผิดพลาด ซึ่งไม่ถูกต้อง การยกเลิกการตรวจสอบความถูกต้องส่วนใหญ่ไม่ได้ใช้การพิสูจน์ที่ไม่มีความรู้ และไม่ได้ใช้เพื่อรับรองความเป็นส่วนตัว ดังนั้น คำว่า "Validity Proof Rollup" จึงถูกต้องกว่า

เครื่องเสมือนนอกเครือข่าย

ก่อนที่เราจะไปไกลกว่านี้ เราต้องตอบคำถามแรก: เครื่องเสมือน (VM) คืออะไร? กล่าวโดยย่อ เครื่องเสมือนคือสภาพแวดล้อมที่โปรแกรมต่างๆ สามารถเรียกใช้ได้ เช่น ระบบปฏิบัติการ Windows ที่ทำงานบนเครื่อง Mac VM เปลี่ยนระหว่างสถานะหลังจากทำการคำนวณในบางอินพุต Ethereum Virtual Machine (EVM) เป็น VM ที่รันสัญญาอัจฉริยะของ Ethereum

Zero-knowledge virtual machine (zkVM) เป็นสภาพแวดล้อมการทำงานของโปรแกรมที่ร่วมกับเอาต์พุตของโปรแกรม สร้างหลักฐานยืนยันความถูกต้องที่ตรวจสอบได้ง่าย หลักฐานความถูกต้องใช้เพื่อพิสูจน์ว่าโปรแกรมได้รับการดำเนินการอย่างถูกต้อง เมื่อคำว่า "zkEVM" ถูกใช้ มักจะหมายถึงค่าสะสมที่เรียกใช้ Ethereum Virtual Machine (EVM) และสามารถยืนยันถึงการดำเนินการของ EVM คำศัพท์นี้อาจทำให้เข้าใจผิดได้เนื่องจาก EVM เองไม่สามารถสร้างการพิสูจน์เหล่านี้ได้ แทนที่จะเป็นการพิสูจน์ที่สร้างขึ้นโดยกลไกการพิสูจน์ที่แยกต่างหากซึ่งใช้ผลลัพธ์ของการดำเนินการของ EVM เป็นจุดเริ่มต้น นอกจากนี้ หลักฐานข้างต้นทั้งหมดเกี่ยวข้องกับความถูกต้องและไม่เกี่ยวข้องกับความเป็นส่วนตัว ดังนั้นจึงไม่สามารถเรียกได้อย่างแม่นยำว่าเป็นการพิสูจน์ความรู้ที่ไม่มีศูนย์ เพื่อความสอดคล้อง คำศัพท์ดั้งเดิม "zkEVM" ยังคงใช้ในบทความนี้

ในขณะที่ Proof-of-Validity Rollups ทั้งหมดตั้งเป้าที่จะปรับขนาด Ethereum ด้วย Proof-of-Validity แผนการที่แตกต่างกันทำให้ทางเลือกที่แตกต่างกันเกี่ยวกับวิธีที่ VM ดำเนินการธุรกรรมนอกเครือข่าย การพิสูจน์ความถูกต้องของการยกเลิกจำนวนมากเลือกที่จะทำซ้ำการออกแบบ EVM (ดังนั้นชื่อ "zkEVM rollup") โดยพยายามทำซ้ำ Ethereum ในการยกเลิก L2 Starknet ใช้ Cairo VM (CVM) ซึ่งเป็น VM ใหม่ล่าสุดที่ออกแบบมาเพื่อเพิ่มประสิทธิภาพการพิสูจน์ความถูกต้อง

สองวิธีข้างต้นมีข้อดีข้อเสียและการแลกเปลี่ยน แต่ zkEVM เสียสละประสิทธิภาพเพื่อความเข้ากันได้กับ Ethereum ในขณะที่ Cairo VM ให้ความสำคัญกับประสิทธิภาพเหนือความเข้ากันได้และจัดลำดับความสำคัญของความสามารถในการปรับขนาด

ทำความเข้าใจวิธีการทำงานของ zkEVM

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

วิธีนี้มีข้อบกพร่องที่สำคัญ ซึ่งลดความสามารถในการปรับขนาดของการพิสูจน์ความถูกต้อง เนื่องจากมุ่งเน้นที่การเข้ากันได้กับ Ethereum zkEVM จึงช้ากว่าและใช้ทรัพยากรมากกว่า ซึ่งแตกต่างจาก CVM, EVM ไม่ได้ออกแบบโดยคำนึงถึงประสิทธิภาพการพิสูจน์ สิ่งนี้จำกัดการใช้การปรับให้เหมาะสมในการปรับปรุงประสิทธิภาพและความสามารถในการปรับขนาด ซึ่งส่งผลต่อประสิทธิภาพโดยรวมของระบบในที่สุด

ความน่าจะเป็นของ EVM

ความท้าทายหลักของแนวทาง zkEVM อยู่ที่พิมพ์เขียวดั้งเดิมที่ฝังแน่นของ EVM ซึ่งเดิมไม่ได้ออกแบบมาให้ทำงานในสภาพแวดล้อมที่พิสูจน์ความถูกต้องได้ ดังนั้น หากใช้ความพยายามทั้งหมดในการตระหนักถึงการทำงานของ Ethereum ก็จะไม่สามารถเปิดเผยศักยภาพทั้งหมดของหลักฐานความถูกต้องได้ ส่งผลให้ประสิทธิภาพไม่เป็นที่พอใจ ความไร้ประสิทธิภาพนี้ทำให้ประสิทธิภาพโดยรวมของระบบลดลงในที่สุด ความเข้ากันได้ของ EVM กับหลักฐานความถูกต้องถูกขัดขวางโดย:

  • **EVM ใช้โมเดลแบบอิงตามสแต็ก ในขณะที่ความถูกต้องได้รับการพิสูจน์แล้วว่ามีประสิทธิภาพมากกว่าสำหรับโมเดลแบบรีจิสเตอร์ **ธรรมชาติของ EVM ที่อิงตามสแต็กทำให้ยากขึ้นในการพิสูจน์ความถูกต้องของการดำเนินการและให้การสนับสนุนโดยตรงสำหรับ toolchain ดั้งเดิม
  • **เค้าโครงพื้นที่จัดเก็บ Ethereum ต้องอาศัย Keccak และ Merkle Patricia tree ขนาดใหญ่ ซึ่งทั้งสองอย่างนี้พิสูจน์ไม่ได้ว่าเป็นมิตรต่อสิ่งแวดล้อมและทำให้เกิดภาระในการพิสูจน์อย่างมาก **ตัวอย่างเช่น Keccak นั้นเร็วมากสำหรับสถาปัตยกรรม x86 (โดยทั่วไปจะใช้เพื่อเรียกใช้ EVM) แต่ต้องใช้ขั้นตอน 90k เพื่อพิสูจน์ (ต้องใช้ในตัวแบบพิเศษ) ในขณะที่ Pedersen (ฟังก์ชันแฮชที่ปราศจากความรู้) ต้องการเพียง 32 ขั้นตอน แม้จะมีการบีบอัดแบบเรียกซ้ำ การใช้ Keccak ใน zkEVM ก็ยังกินทรัพยากรเครื่องพิสูจน์จำนวนมาก และผู้ใช้ต้องแบกรับต้นทุนในท้ายที่สุด

ดังนั้น zkEVM ประเภทต่างๆ จึงได้รับการออกแบบมาเพื่อให้การสนับสนุนในระดับต่างๆ สำหรับเครื่องมือ Ethereum แต่ยิ่งความเข้ากันได้ของ zkEVM กับ Ethereum สูงเท่าใด ประสิทธิภาพก็จะยิ่งลดลงเท่านั้น (ดูส่วนท้ายของบทความสำหรับประเภท zkEVM เพิ่มเติม)

คุณลักษณะทางเทคนิคโดยละเอียดของ Rollup และ Cairo VM เพื่อพิสูจน์ความถูกต้อง

ทำความเข้าใจวิธีการทำงานของ Cairo-VM

โซลูชัน zkEVM ได้ลงทุนเวลาในการพัฒนาจำนวนมากในการ "ทำให้ EVM เหมาะสมกับ Validity Proof Rollup" โดยให้ความสำคัญกับความเข้ากันได้มากกว่าประสิทธิภาพในระยะยาวและความสามารถในการปรับขนาด มีตัวเลือกอื่น: ใช้เครื่องเสมือนเฉพาะใหม่ และเพิ่มเลเยอร์เพิ่มเติมเพื่อรองรับเครื่องมือ Ethereum นั่นคือขั้นตอนที่ Starknet กำลังทำอยู่ โดยเปิดตัวการยกเลิกการพิสูจน์ความถูกต้องโดยไม่ได้รับอนุญาตในเดือนพฤศจิกายน 2021 Starknet เป็นการยกเลิกการตรวจสอบความถูกต้องครั้งแรกที่ใช้แพลตฟอร์มสัญญาอัจฉริยะสำหรับวัตถุประสงค์ทั่วไปในเครือข่ายที่ประกอบได้อย่างสมบูรณ์

Starknet ใช้ Cairo-VM (CVM) และสร้างภาษาระดับสูงของไคโรในชื่อเดียวกัน Cairo-VM ได้รับการออกแบบมาสำหรับการสร้างหลักฐานความถูกต้องของการดำเนินการโปรแกรมอย่างมีประสิทธิภาพ

ด้วยไคโร (VM และภาษาการเขียนโปรแกรม) คุณสามารถ:

  1. บทพิสูจน์ประสิทธิภาพการปรับให้เหมาะสม แต่ละคำสั่งมีการแสดงออกทางพีชคณิตที่ถูกต้อง
  2. ภาษาคล้ายสนิมสมัยใหม่สำหรับการเขียนโปรแกรมที่พิสูจน์ได้
  3. Intermediate expression (Sierra) ระหว่างภาษาไคโรระดับสูงและแอสเซมบลีไคโร (คำสั่ง VM) ซึ่งสามารถรันโค้ดไคโรได้อย่างมีประสิทธิภาพ

การพัฒนาภาษาใหม่ทั้งหมดสามารถปรับให้เหมาะกับความต้องการเฉพาะ สามารถรวมคุณสมบัติที่ไม่สามารถใช้ได้มาก่อน และตอบสนองความต้องการใหม่

ไคโรและการเข้ารหัสพหุนิยม

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

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

ความมุ่งมั่นของ Starknet ต่อนวัตกรรมนั้นเห็นได้ชัดเจนในแนวทางการทำให้โค้ดหลายส่วน ไคโรใช้เทคโนโลยี STARK เพื่อให้ได้ฟังก์ชันส่วนขยายที่เหมาะสมที่สุด ไม่จำกัดเพียงการเขียนสัญญากับสภาพแวดล้อมในท้องถิ่นของไคโร นักพัฒนายังสามารถเลือกวิธีที่เหมาะสมที่สุด:

  • **การเข้ารหัสเฉพาะในไคโร:**ไคโร 1.0 ได้รับแรงบันดาลใจจาก Rust ซึ่งสอดคล้องกับพฤติกรรมการใช้งานของนักพัฒนาและปลอดภัยยิ่งขึ้น การเขียนตรรกะของโปรแกรมจะง่ายขึ้นและเกิดข้อผิดพลาดน้อยลง
  • **ความเข้ากันได้ของ Solidity: **นักพัฒนา Solidity สามารถเขียนโค้ดที่รองรับ Cairo VM วิธีการนี้มอบประสบการณ์นักพัฒนาที่คล้ายกับ Ethereum และสนับสนุนการย้ายสัญญาอัจฉริยะของ Solidity ไปยัง Starknet มีสองวิธีในการดำเนินการย้ายข้อมูล:
  • **การแปล: **การแปลคือกระบวนการแปลงซอร์สโค้ดของภาษาโปรแกรมหนึ่งเป็นภาษาอื่น ทีม Nethermind ได้สร้าง Warp transpiler สำหรับการส่งผ่านรหัส Solidity ไปยังไคโร Warp ทำให้ Solidity smart contract พกพาไปยัง Starknet ทำให้เป็น zkEVM ประเภทที่สี่ได้อย่างมีประสิทธิภาพ ปัจจุบันใช้เพื่อแปลและปรับใช้สัญญา Uniswap โดยมีการเปลี่ยนแปลงเพียงเล็กน้อย
  • zkEVM บน Starknet: สามารถใช้ Cairo VM เพื่อยืนยันการทำงานของ VM อื่นได้ Kakarot เป็น zkEVM ที่เขียนขึ้นในไคโร ซึ่งสามารถใช้เพื่อเรียกใช้ Ethereum smart contracts บน Starknet Cairo VM และ zkEVM ไม่ได้อยู่ในการแข่งขัน แทนที่จะเลือกระหว่างทั้งสอง จะดีกว่าถ้ามีทั้งคู่!

แม้ว่าไคโรจะไม่ได้อยู่มานานแล้ว แต่จากการจัดอันดับของ TVL ไคโรเป็นภาษาโปรแกรมสัญญาอัจฉริยะที่ได้รับความนิยมเป็นอันดับสี่ โดยมีมูลค่าประเมินกว่า 350 ล้านดอลลาร์

###สรุป

zkEVM ตั้งเป้าที่จะจำลองสภาพแวดล้อมของนักพัฒนา Ethereum ไว้ใน Rollup และอนุญาตให้นักพัฒนาใช้เครื่องมือ Ethereum ที่คุ้นเคย แต่วิธีนี้จำกัดศักยภาพในการพิสูจน์ความถูกต้องและใช้ทรัพยากรมาก

Cairo VM ได้รับการออกแบบมาสำหรับการพิสูจน์ความถูกต้อง ไม่อยู่ภายใต้ข้อจำกัดของ EVM Cairo VM รองรับไคโร 1.0 Cairo 1.0 ได้รับแรงบันดาลใจจากภาษา Rust สอดคล้องกับพฤติกรรมของนักพัฒนามากขึ้นและปลอดภัยยิ่งขึ้น สร้างเครื่องมืออันทรงพลังที่ออกแบบมาเพื่อใช้งาน STARK เพื่อพิสูจน์การขยายตัวของ Ethereum อย่างมีประสิทธิภาพ

เป็นเรื่องน่าตื่นเต้นที่ได้เห็นการพัฒนาของไคโรทุกสัปดาห์ และตัวเลือกสำหรับนักพัฒนาเช่น Kakarot zkEVM และ Warp ก็เพิ่มมากขึ้นเรื่อยๆ ด้วย Starknet dApps ในการผลิต ซึ่งแสดงให้เห็นถึงพลังของไคโร เราเชื่อมั่นว่าในอนาคต ไคโรจะวางไข่โครงการที่โดดเด่นที่ไม่เคยมีมาก่อน

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

ประเภท zkEVM

Vitalik แบ่ง zkEVM ออกเป็นสี่ประเภทหลัก:

  • **Ethereum เต็มรูปแบบเทียบเท่ากับประเภทแรก: **ไม่เปลี่ยนแปลงส่วนใด ๆ ของระบบนิเวศ Ethereum
  • **ประเภทที่สองของ EVM ที่เทียบเท่าอย่างสมบูรณ์: ** สามารถเข้ากันได้กับ dApps ที่มีอยู่ และทำการปรับเปลี่ยนบางอย่างกับการออกแบบของ Ethereum เพื่อเร่งการสร้างการพิสูจน์
  • **หมวดหมู่ที่สามเทียบเท่ากับ EVM โดยประมาณ: **รองรับ opcodes EVM ส่วนใหญ่ ลบฟังก์ชันบางอย่างที่ zkEVM ใช้งานยาก (เช่น ฟังก์ชันการคอมไพล์ล่วงหน้าและแฮช)
  • **ภาษาระดับสูงที่เทียบเท่าประเภทที่สี่: **ใช้ Solidity/Vyper เพื่อเขียนรหัสสัญญาอัจฉริยะและแปลเป็นภาษาที่ใช้พิสูจน์ได้
ดูต้นฉบับ
เนื้อหานี้มีสำหรับการอ้างอิงเท่านั้น ไม่ใช่การชักชวนหรือข้อเสนอ ไม่มีคำแนะนำด้านการลงทุน ภาษี หรือกฎหมาย ดูข้อจำกัดความรับผิดชอบสำหรับการเปิดเผยความเสี่ยงเพิ่มเติม
  • รางวัล
  • แสดงความคิดเห็น
  • แชร์
แสดงความคิดเห็น
0/400
ไม่มีความคิดเห็น
  • ปักหมุด