ในโพสต์นี้เราจะดูที่แนวคิดที่ได้รับความนิยมเร็ว ๆ นี้ของ zkCoprocessor และ zkOracle และเปรียบเทียบความแตกต่างของพวกเขา
เมื่อคำศัพท์ถูกสร้างขึ้น ความหมายแท้จริงของมันไม่ได้ถูกกำหนดโดยตนเอง เราได้เห็นสิ่งนี้มากมายในกรณีของบล็อกเชน
เราเห็นปรากฏการณ์ที่คล้ายกันในคำว่า zkCoprocessor ทุกคนใช้คำว่านี้ แต่ พวกเขาไม่จำเป็นต้องอ้างถึงสิ่งเดียวกัน.
เราต้องการแสดงว่าโครงการเองคิดอย่างไรเกี่ยวกับ zkCoprocessor, ชุมชนเข้าใจ zkCoprocessor อย่างไร และ zkCoprocessor หมายถึงอะไรและทำอะไรจริงๆ จากมุมมองของเรา
Definition 1 จาก Axiom: zkCoprocessor พิสูจน์ข้อมูลประวัติบนเชื่อมต่อ
แนวคิดของ zkCoprocessor ได้รับความนิยมจาก Axiom ซึ่งเริ่มต้นด้วยการคิดค้นมันเป็น zkAttestor จากความคิดของ Axiom zkCoprocessor แทนส่วนประกอบที่ "พิสูจน์ข้อมูลประวัติบนเชื่อมต่อและใช้ข้อมูลนั้นในสัญญาสมาร์ทโดยที่ไม่มีความเชื่อมั่น"
โปรดทราบว่าทีม Brevis กล่าวว่าชนิดของ zkCoprocessors เหล่านี้นั้นพื้นที่ API/DSL บนวงจร zk สายใต้มีอยู่ ดังนั้นนี้ไม่สามารถโปรแกรมได้
Definition 2 จาก RISC Zero: zkCoprocessor offloads การคำนวณจาก onchain ไปยัง offchain
RISC Zero ยังบ่งชี้ถึงตนเองในฐานะ zkCoprocessor บ่อย ๆ ด้วย จากมุมมองของพวกเขา พวกเขาเห็น zkCoprocessor ว่าเป็นแนวคิดที่กว้างกว่า "เครื่องมือสำหรับใช้ ZKPs เพื่อโอนการคำนวณจาก on-chain ไปยัง off-chain"
คำจำกัดความจาก Peteris (เหมือนกับ 1): zkCoprocessor สามารถเข้าถึงสถานะประวัติบนเชื่อมโยงได้
Peteris มาจาก Aera Financeเชื่อzkCoprocessor ทำหน้าที่เหมือนอย่างมากกับ Oracle ของสถานะ โดยฟังก์ชันหลักคือการเข้าถึงข้อมูลทางประวัติ ในเวลาเดียวกันเขาและ Rishabh จาก BananaHQเชื่อว่าคำจำกัดความของนิยาม 2 มีลักษณะเป็น zkVM มากกว่าการเป็นซับคลาสของ zkCoprocessor
คำจำกัดความจาก Messari, Modular Media, และ Kobi (เหมือนกับ 2): zkCoprocessor โอนการคำนวณจาก onchain ไปยัง offchain
Messari ยังมีความหมายของ zkCoprocessor ด้วย ซามิ นักวิจัยที่ Messari เชื่อว่า zkCoprocessor นั้นช่วยให้นักพัฒนาสัญญาอัจฉริยะสามารถลดภาระตรรกะที่ซับซ้อนได้อย่างง่ายดายโดยไม่ต้องมีสมมติฐานความน่าเชื่อถือใหม่ สื่อโมดูลาร์ด้วย ให้แนวคิดเดียวกัน. Kobi from Geometryเปรียบเทียบ rollup กับ coprocessor, Brevis เพิ่มว่า zkCoprocessorการเทรดออกจากค่าใช้จ่ายในการรักษาการเก็บรักษาสถานะถาวร ต่อการทำงานที่เร็วแรง, Taiko สร้างออกแบบขึ้นมาด้วยBooster Rollupที่สำรวจไอเดียของ Rollup Coprocessor อีกเพิ่มเติม นี่คือความหมายเดียวกับ RISC Zero
เพื่อสรุป เราสรุปว่ามีสองประเภทของ zkCoprocessor ในการปฏิบัติ และมันคือดังนี้
Hyper Oracle ให้คำอธิบายเกี่ยวกับ Oracle ใน กำหนด zkOracle สำหรับ Ethereum.
Oracle practically sums up the “infra” in any blockchain space, as คำจำกัดความที่ดีกว่าหน่วยประมวลผลร่วม.
หากข้อมูลเข้าสู่โครงสร้าง/ออราเคิลเป็นข้อมูลออฟเชน และผลลัพธ์เป็นออนเชน แล้วมันคือออราเคิลข้อมูลเข้า (เช่น Chainlink Price Feed) ในทางกลับกัน มันคือออราเคิลผลลัพธ์ (เช่น The Graph) หากออราเคิลผลลัพธ์มาก่อน จากนั้นเป็นออราเคิลข้อมูลเข้า แล้วมันเป็นออราเคิล I/O (เช่น Gelato Network)
สรุป oracle คือคล้ายกับคอนเซปต์ของ coprocessor แต่ในเวลาเดียวกันมีลักษณะการเข้าถึงข้อมูลและการคำนวณ
ยกตัวอย่าง Hyper Oracle ความสัมพันธ์ระหว่าง a คืออะไร zkOracleและ zkCoprocessor หรือ?
zkOracle ที่ถูกพูดถึงในการกำหนด zkOracle สำหรับ Ethereum นั้นจริงๆ มีความสามารถทั้งของ zkCoprocessors ด้วย
ตัวอย่างเช่น zkOracle เช่น Hyper Oracle:
เมื่อเราเปรียบเทียบโดยตรงระหว่างสองประเภทของ zkCoprocessor กับ zkOracle เราจะเห็นว่า zkOracle มีคุณสมบัติทั้งหมดของ zkCoprocessor พร้อมๆ กัน:
โดยการเปรียบเทียบโดยตรง zkOracle เป็นโซลูชันเชิงปลายทางที่สามารถให้นักพัฒนาด้วยเทคโนโลยีสแต็กที่สมบูรณ์กว่า
zkCoprocessors 2 โปรขยายออกไปในแนวดิเรกทรอลของตัวเอง เช่น zkCoprocessor การเข้าถึงข้อมูลปลดล็อกสถานการณ์ข้ามโซน และ zkVM Compute zkCoprocessor แทน zkVM-based zk rollup
เลือกตัวไหนเมื่อกำลังสร้าง?
เราสามารถตัดสินใจเกี่ยวกับการสร้างแอปพลิเคชันได้ตามลำดับขั้นตอน
เริ่มแรก การประยุกต์ใช้ Solidity อย่างบริสุทธิ์ในสมาร์ทคอนแทรคยังคงเป็นทางเลือกที่ดีมาก แม้ว่าสมาร์ทคอนแทรคที่บริสุทธิ์ไม่ได้ให้คุณสมบัติบางอย่างที่ดีที่สุด แต่ก็ยังเพียงพอในบางสถานการณ์. ในขณะเดียวกันความพร้อมใช้งานปัจจุบันของ Arbitrum Stylus ได้ปลดล็อกแอปพลิเคชันใหม่มากมายด้วยสัญญาฉลากฉลองเท่านั้น
ในหลายกรณี นักพัฒนาอาจต้องการใช้ Data Access zkCoprocessor หรือ zkOracle สําหรับสัญญาอัจฉริยะเพื่อเข้าถึงแหล่งข้อมูลที่สมบูรณ์ยิ่งขึ้น
ในสถานการณ์นี้ หากใช้ Data Access zkCoprocessor คนเดียว การคำนวณยังคงถูกจัดการในสมาร์ทคอนแทรค บทบาทของ zkCoprocessor คือการลดความซับซ้อนในการเข้าถึงข้อมูลในการทำเช่นเดียวกับเดิม แต่ไม่ได้ทำให้สมาร์ทคอนแทรคมีความสามารถทางคำนวณมากขึ้น
ในสถานการณ์นี้ เราเห็นโปรเจกต์ที่เกี่ยวข้องกับข้อมูลขนาดเล็กมากมาย แทนที่จะเป็น DApps ในทางเดิมที่เต็มรูปแบบ
บ่อยครั้งบางอัลกอริทึมที่ซับซ้อนไม่สามารถคำนวณได้โดยตรงบนเชน สำหรับเกม ตรรกะคอมพิวเตอร์ซับซ้อนมาก เช่น เอเธอร์เควค และ GameOfLife ที่ต้องใช้ $2k เพื่อดำเนินการขั้นตอนหนึ่ง หรืออัลกอริทึมซับซ้อนที่เกี่ยวข้องกับเอ็มแอล หรืออัลกอริทึมซับซ้อนที่เกี่ยวข้องกับเอ็มแอลที่เป็นไปไม่ได้ที่จะดำเนินการบนเชน ดังนั้นเราจำเป็นต้องใช้ zkVM zkCoprocessor หรือ zkOracle เพื่อดำเนินการคำนวณนอกเชน แล้วส่งมันเข้าสู่เชนเป็น ZKP
ในตัวอย่างนี้เราจะเห็นศักยภาพในการคํานวณที่ไม่ จํากัด ของพวกเขา:
ในที่สุด เราได้พูดถึงแอปพลิเคชันที่สามารถสร้างขึ้นได้เพียงด้วย zkOracle เช่นการใช้แอปพลิเคชัน DeFi เป็นตัวอย่าง การสร้าง DeFi ที่สมบูรณ์เป็นเรื่องที่ซับซ้อนมาก รุ่นถัดไปของแอปพลิเคชัน DeFi หรือ DeFi 3.0DApps, จะต้อง:
เราได้พูดถึงว่า zkOracle แชร์ความสามารถของ zkCoprocessors ทั้งสอง ในขณะที่ทำความเข้าใจความต้องการฟังก์ชันอย่างแรกสองอย่าง zkOracle ทำฟีเจอร์อัตโนมัสได้อย่างไร และ zkCoprocessor ไม่ได้อย่างไร
ดังนั้นความขาดหากของอัตราการใน zkCoprocessor หมายถึง:
ดังนั้น, zkOracle เป็นตัวเลือกที่สมบูรณ์และเพียงพอสำหรับแอปพลิเคชันที่สมบูรณ์แบบเช่น DeFi
ควรทราบว่า ฮุคส์ ยังสามารถจัดการกับบางส่วนของคุณลักษณะที่ขาดหายของ zkCoprocessor ได้ แต่เฉพาะในสถานการณ์เช่น DeFi เท่านั้น และไม่ใช่ทั่วไป
ในโพสต์นี้เราจะดูที่แนวคิดที่ได้รับความนิยมเร็ว ๆ นี้ของ zkCoprocessor และ zkOracle และเปรียบเทียบความแตกต่างของพวกเขา
เมื่อคำศัพท์ถูกสร้างขึ้น ความหมายแท้จริงของมันไม่ได้ถูกกำหนดโดยตนเอง เราได้เห็นสิ่งนี้มากมายในกรณีของบล็อกเชน
เราเห็นปรากฏการณ์ที่คล้ายกันในคำว่า zkCoprocessor ทุกคนใช้คำว่านี้ แต่ พวกเขาไม่จำเป็นต้องอ้างถึงสิ่งเดียวกัน.
เราต้องการแสดงว่าโครงการเองคิดอย่างไรเกี่ยวกับ zkCoprocessor, ชุมชนเข้าใจ zkCoprocessor อย่างไร และ zkCoprocessor หมายถึงอะไรและทำอะไรจริงๆ จากมุมมองของเรา
Definition 1 จาก Axiom: zkCoprocessor พิสูจน์ข้อมูลประวัติบนเชื่อมต่อ
แนวคิดของ zkCoprocessor ได้รับความนิยมจาก Axiom ซึ่งเริ่มต้นด้วยการคิดค้นมันเป็น zkAttestor จากความคิดของ Axiom zkCoprocessor แทนส่วนประกอบที่ "พิสูจน์ข้อมูลประวัติบนเชื่อมต่อและใช้ข้อมูลนั้นในสัญญาสมาร์ทโดยที่ไม่มีความเชื่อมั่น"
โปรดทราบว่าทีม Brevis กล่าวว่าชนิดของ zkCoprocessors เหล่านี้นั้นพื้นที่ API/DSL บนวงจร zk สายใต้มีอยู่ ดังนั้นนี้ไม่สามารถโปรแกรมได้
Definition 2 จาก RISC Zero: zkCoprocessor offloads การคำนวณจาก onchain ไปยัง offchain
RISC Zero ยังบ่งชี้ถึงตนเองในฐานะ zkCoprocessor บ่อย ๆ ด้วย จากมุมมองของพวกเขา พวกเขาเห็น zkCoprocessor ว่าเป็นแนวคิดที่กว้างกว่า "เครื่องมือสำหรับใช้ ZKPs เพื่อโอนการคำนวณจาก on-chain ไปยัง off-chain"
คำจำกัดความจาก Peteris (เหมือนกับ 1): zkCoprocessor สามารถเข้าถึงสถานะประวัติบนเชื่อมโยงได้
Peteris มาจาก Aera Financeเชื่อzkCoprocessor ทำหน้าที่เหมือนอย่างมากกับ Oracle ของสถานะ โดยฟังก์ชันหลักคือการเข้าถึงข้อมูลทางประวัติ ในเวลาเดียวกันเขาและ Rishabh จาก BananaHQเชื่อว่าคำจำกัดความของนิยาม 2 มีลักษณะเป็น zkVM มากกว่าการเป็นซับคลาสของ zkCoprocessor
คำจำกัดความจาก Messari, Modular Media, และ Kobi (เหมือนกับ 2): zkCoprocessor โอนการคำนวณจาก onchain ไปยัง offchain
Messari ยังมีความหมายของ zkCoprocessor ด้วย ซามิ นักวิจัยที่ Messari เชื่อว่า zkCoprocessor นั้นช่วยให้นักพัฒนาสัญญาอัจฉริยะสามารถลดภาระตรรกะที่ซับซ้อนได้อย่างง่ายดายโดยไม่ต้องมีสมมติฐานความน่าเชื่อถือใหม่ สื่อโมดูลาร์ด้วย ให้แนวคิดเดียวกัน. Kobi from Geometryเปรียบเทียบ rollup กับ coprocessor, Brevis เพิ่มว่า zkCoprocessorการเทรดออกจากค่าใช้จ่ายในการรักษาการเก็บรักษาสถานะถาวร ต่อการทำงานที่เร็วแรง, Taiko สร้างออกแบบขึ้นมาด้วยBooster Rollupที่สำรวจไอเดียของ Rollup Coprocessor อีกเพิ่มเติม นี่คือความหมายเดียวกับ RISC Zero
เพื่อสรุป เราสรุปว่ามีสองประเภทของ zkCoprocessor ในการปฏิบัติ และมันคือดังนี้
Hyper Oracle ให้คำอธิบายเกี่ยวกับ Oracle ใน กำหนด zkOracle สำหรับ Ethereum.
Oracle practically sums up the “infra” in any blockchain space, as คำจำกัดความที่ดีกว่าหน่วยประมวลผลร่วม.
หากข้อมูลเข้าสู่โครงสร้าง/ออราเคิลเป็นข้อมูลออฟเชน และผลลัพธ์เป็นออนเชน แล้วมันคือออราเคิลข้อมูลเข้า (เช่น Chainlink Price Feed) ในทางกลับกัน มันคือออราเคิลผลลัพธ์ (เช่น The Graph) หากออราเคิลผลลัพธ์มาก่อน จากนั้นเป็นออราเคิลข้อมูลเข้า แล้วมันเป็นออราเคิล I/O (เช่น Gelato Network)
สรุป oracle คือคล้ายกับคอนเซปต์ของ coprocessor แต่ในเวลาเดียวกันมีลักษณะการเข้าถึงข้อมูลและการคำนวณ
ยกตัวอย่าง Hyper Oracle ความสัมพันธ์ระหว่าง a คืออะไร zkOracleและ zkCoprocessor หรือ?
zkOracle ที่ถูกพูดถึงในการกำหนด zkOracle สำหรับ Ethereum นั้นจริงๆ มีความสามารถทั้งของ zkCoprocessors ด้วย
ตัวอย่างเช่น zkOracle เช่น Hyper Oracle:
เมื่อเราเปรียบเทียบโดยตรงระหว่างสองประเภทของ zkCoprocessor กับ zkOracle เราจะเห็นว่า zkOracle มีคุณสมบัติทั้งหมดของ zkCoprocessor พร้อมๆ กัน:
โดยการเปรียบเทียบโดยตรง zkOracle เป็นโซลูชันเชิงปลายทางที่สามารถให้นักพัฒนาด้วยเทคโนโลยีสแต็กที่สมบูรณ์กว่า
zkCoprocessors 2 โปรขยายออกไปในแนวดิเรกทรอลของตัวเอง เช่น zkCoprocessor การเข้าถึงข้อมูลปลดล็อกสถานการณ์ข้ามโซน และ zkVM Compute zkCoprocessor แทน zkVM-based zk rollup
เลือกตัวไหนเมื่อกำลังสร้าง?
เราสามารถตัดสินใจเกี่ยวกับการสร้างแอปพลิเคชันได้ตามลำดับขั้นตอน
เริ่มแรก การประยุกต์ใช้ Solidity อย่างบริสุทธิ์ในสมาร์ทคอนแทรคยังคงเป็นทางเลือกที่ดีมาก แม้ว่าสมาร์ทคอนแทรคที่บริสุทธิ์ไม่ได้ให้คุณสมบัติบางอย่างที่ดีที่สุด แต่ก็ยังเพียงพอในบางสถานการณ์. ในขณะเดียวกันความพร้อมใช้งานปัจจุบันของ Arbitrum Stylus ได้ปลดล็อกแอปพลิเคชันใหม่มากมายด้วยสัญญาฉลากฉลองเท่านั้น
ในหลายกรณี นักพัฒนาอาจต้องการใช้ Data Access zkCoprocessor หรือ zkOracle สําหรับสัญญาอัจฉริยะเพื่อเข้าถึงแหล่งข้อมูลที่สมบูรณ์ยิ่งขึ้น
ในสถานการณ์นี้ หากใช้ Data Access zkCoprocessor คนเดียว การคำนวณยังคงถูกจัดการในสมาร์ทคอนแทรค บทบาทของ zkCoprocessor คือการลดความซับซ้อนในการเข้าถึงข้อมูลในการทำเช่นเดียวกับเดิม แต่ไม่ได้ทำให้สมาร์ทคอนแทรคมีความสามารถทางคำนวณมากขึ้น
ในสถานการณ์นี้ เราเห็นโปรเจกต์ที่เกี่ยวข้องกับข้อมูลขนาดเล็กมากมาย แทนที่จะเป็น DApps ในทางเดิมที่เต็มรูปแบบ
บ่อยครั้งบางอัลกอริทึมที่ซับซ้อนไม่สามารถคำนวณได้โดยตรงบนเชน สำหรับเกม ตรรกะคอมพิวเตอร์ซับซ้อนมาก เช่น เอเธอร์เควค และ GameOfLife ที่ต้องใช้ $2k เพื่อดำเนินการขั้นตอนหนึ่ง หรืออัลกอริทึมซับซ้อนที่เกี่ยวข้องกับเอ็มแอล หรืออัลกอริทึมซับซ้อนที่เกี่ยวข้องกับเอ็มแอลที่เป็นไปไม่ได้ที่จะดำเนินการบนเชน ดังนั้นเราจำเป็นต้องใช้ zkVM zkCoprocessor หรือ zkOracle เพื่อดำเนินการคำนวณนอกเชน แล้วส่งมันเข้าสู่เชนเป็น ZKP
ในตัวอย่างนี้เราจะเห็นศักยภาพในการคํานวณที่ไม่ จํากัด ของพวกเขา:
ในที่สุด เราได้พูดถึงแอปพลิเคชันที่สามารถสร้างขึ้นได้เพียงด้วย zkOracle เช่นการใช้แอปพลิเคชัน DeFi เป็นตัวอย่าง การสร้าง DeFi ที่สมบูรณ์เป็นเรื่องที่ซับซ้อนมาก รุ่นถัดไปของแอปพลิเคชัน DeFi หรือ DeFi 3.0DApps, จะต้อง:
เราได้พูดถึงว่า zkOracle แชร์ความสามารถของ zkCoprocessors ทั้งสอง ในขณะที่ทำความเข้าใจความต้องการฟังก์ชันอย่างแรกสองอย่าง zkOracle ทำฟีเจอร์อัตโนมัสได้อย่างไร และ zkCoprocessor ไม่ได้อย่างไร
ดังนั้นความขาดหากของอัตราการใน zkCoprocessor หมายถึง:
ดังนั้น, zkOracle เป็นตัวเลือกที่สมบูรณ์และเพียงพอสำหรับแอปพลิเคชันที่สมบูรณ์แบบเช่น DeFi
ควรทราบว่า ฮุคส์ ยังสามารถจัดการกับบางส่วนของคุณลักษณะที่ขาดหายของ zkCoprocessor ได้ แต่เฉพาะในสถานการณ์เช่น DeFi เท่านั้น และไม่ใช่ทั่วไป