ABCDE: การสนทนาละเอียดเกี่ยวกับตัวประมวลผลร่วมและวิธีการต่าง ๆ

บทความนี้จะกล่าวถึงการตำแหน่งและวิธีการแก้ปัญหาของ coprocessors

1. โค-โปรเซสเซอร์คืออะไรและมันไม่ใช่อะไร?

ถ้าถามให้อธิบาย coprocessors ให้ผู้ที่ไม่มีพื้นฐานทางเทคนิคหรือนักพัฒนาเพียงประโยคเดียว คุณจะอธิบายอย่างไร

ฉันคิดว่าสิ่งที่ดร. ดงโม กล่าวได้ว่าอาจจะใกล้เคียงกับคำตอบมาตรฐานมาก - อย่างตรงไปตรงมา ตัวประมวลผลร่วม (co-processor) กำลัง "ให้สัญญาณอัจฉริยะ (smart contract) ความสามารถในการทำ Dune Analytics"

วิธีการแยกประโยคนี้อย่างไร?

สมมติว่าเราใช้ Dune - คุณต้องการทำ LP ใน Uniswap V3 เพื่อรับค่าธรรมเนียมการจัดการบางส่วน ดังนั้นคุณเปิด Dune และค้นหาปริมาณการซื้อขายล่าสุดของคู่การซื้อขายต่าง ๆ ใน Uniswap อัตราผลตอบแทนปีละในช่วง 7 วันที่ผ่านมา และช่วงความผันผวนของคู่การซื้อขายหลัก ๆ ด้านบนและด้านล่าง ฯลฯ

หรือบางทีเมื่อ StepN ได้รับความนิยม คุณเริ่มพิจารณาเรื่องราคารองเท้า และไม่แน่ใจว่าเมื่อควรขาย จึงมอง StepN ข้อมูลบน Dune ทุกวัน ปริมาณการทำธุรกรรมรายวัน จำนวนผู้ใช้ใหม่ ราคาขั้นต่ำของรองเท้า... และวางแผนว่าเมื่อมีการเติบโต เมื่อแนวโน้มชะลอหรือลดลง ให้วิ่งอย่างรวดเร็ว

แน่นอนคุณอาจจะไม่ได้แค่มองข้อมูลเหล่านี้เท่านั้น แต่ทีมพัฒนาของ Uniswap และ StepN ก็กำลังสนใจข้อมูลเหล่านี้ด้วย

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

ตัวอย่างเช่น โดยอิงจากสไตล์และราคาของรองเท้าที่ผู้ใช้ซื้อขายบ่อย ๆ รองเท้าที่คล้ายกันถูกแนะนำ

ตัวอย่างเช่นตามระยะเวลาที่ผู้ใช้ถือรองเท้า Chuangshi จะมีการเปิดตัว "โปรแกรมรางวัลความภักดีของผู้ใช้" เพื่อให้ผู้ใช้ที่ภักดีได้รับ airdrops หรือผลประโยชน์มากขึ้น

ตัวอย่างเช่น สามารถเปิดตัวแผน VIP ที่คล้ายกับ Cex โดยขึ้นอยู่กับ TVL หรือปริมาณการซื้อขายที่ LP หรือ Trader ให้มีการลดค่าธรรมเนียมการทำธุรกรรมของ Trader หรือเพิ่มประโยชน์ในการแบ่งค่าธรรมเนียมของ LP บน Uniswap

……

ในขณะนี้ ปัญหาเกิดขึ้น - เมื่อบริษัทอินเทอร์เน็ตชั้นนำเล่นกับข้อมูลขนาดใหญ่ + AI มันพื้นที่สีดำโดยพื้นฐาน พวกเขาสามารถทำอะไรก็ตามที่พวกเขาต้องการ ผู้ใช้ไม่สามารถเห็นและไม่สนใจ

แต่ในด้าน Web3 ความโปร่งใสและความไม่มีความเชื่อถือเป็นความถูกต้องทางการเมืองที่เกิดธรรมชาติของเรา และเราปฏิเสธกล่องดำ!

ดังนั้นเมื่อคุณต้องการตระหนักถึงสถานการณ์ข้างต้นคุณจะต้องเผชิญกับภาวะที่กลืนไม่เข้าคายไม่ออก - คุณสามารถทําได้ด้วยวิธีแบบรวมศูนย์ "ด้วยตนเอง" ใช้ Dune เพื่อนับข้อมูลดัชนีในพื้นหลังจากนั้นปรับใช้และนําไปใช้ หรือคุณสามารถเขียนตั้งค่าสัญญาอัจฉริยะเพื่อเก็บข้อมูลเหล่านี้โดยอัตโนมัติบนห่วงโซ่ทําการคํานวณให้เสร็จสมบูรณ์และปรับใช้คะแนนโดยอัตโนมัติ

คนก่อนหน้านี้อาจทำให้คุณมีปัญหาเรื่องความไว้วางใจที่ "ไม่ถูกต้องตามมนุษย์"

ค่าธรรมเนียมในการเป็นจำนวนที่ยอดเยี่ยมโดยฝ่ายหลังบนเชื่อมต่อจะเป็นตัวเลขที่มากมาย และกระเป๋า (ฝ่ายโปรเจค) ของคุณไม่สามารถทนได้

นี่คือเวลาสำหรับตัวประมวลผลร่วมขึ้นเวที รวมวิธีการสองวิธีที่เพิ่งทดลอง และใช้ขั้นตอน “คู่มือพื้นหลัง” เพื่อ “พิสูจน์ความไร้บาดหมาง” ด้วยวิธีเทคนิค กล่าวคือ ใช้เทคโนโลยี ZK เพื่อ “ดัชนี +” ภายนอกโซ่ ส่วนของ “การคำนวณ” “พิสูจน์ความไร้บาดหมาง” เมื่อได้รับการยืนยัน จึงส่งให้สมาร์ทคอนแทรค โดยนี้ปัญหาเรื่องความไว้วางใจได้รับการแก้ไข และค่าธรรมเนียมแก๊สมหาศาลได้หายไป สมบูรณ์!

ทําไมถึงเรียกว่า "โปรเซสเซอร์ร่วม"? ในความเป็นจริงสิ่งนี้มาจาก "GPU" ในประวัติศาสตร์การพัฒนาของ Web2.0 เหตุผลที่ GPU ถูกนํามาใช้เป็นฮาร์ดแวร์คอมพิวเตอร์แยกต่างหากและมีอยู่อย่างอิสระจาก CPU ในเวลานั้นเป็นเพราะสถาปัตยกรรมการออกแบบสามารถจัดการการคํานวณบางอย่างที่ CPU จัดการได้ยากเช่นการคํานวณซ้ําแบบขนานขนาดใหญ่ มันเป็นเพราะสถาปัตยกรรม "โปรเซสเซอร์ร่วม" นี้ที่เรามีภาพยนตร์ CG ที่ยอดเยี่ยมเกมโมเดล AI และอื่น ๆ ในปัจจุบันดังนั้นสถาปัตยกรรมโปรเซสเซอร์ร่วมนี้จึงเป็นก้าวกระโดดในสถาปัตยกรรมคอมพิวเตอร์ ตอนนี้ทีมผู้ประมวลผลร่วมหลายคนหวังว่าจะแนะนําสถาปัตยกรรมนี้ลงใน Web3.0 บล็อกเชนที่นี่คล้ายกับ CPU ของ Web3.0 ไม่ว่าจะเป็น L1 หรือ L2 พวกเขาไม่เหมาะสมโดยเนื้อแท้สําหรับงาน "ข้อมูลหนัก" และ "ตรรกะการคํานวณที่ซับซ้อน" ดังนั้นจึงมีการแนะนําโปรเซสเซอร์ร่วมบล็อกเชนเพื่อช่วยจัดการการคํานวณดังกล่าวซึ่งจะขยายความเป็นไปได้ของแอปพลิเคชันบล็อกเชนอย่างมาก

ดังนั้นสิ่งที่ coprocessor ทำสามารถสรุปได้เป็นสองสิ่ง

  1. รับข้อมูลจากบล็อกเชนและพิสูจน์ผ่าน ZK ว่าข้อมูลที่ฉันได้เป็นจริงและไม่ถูกปนเปื้อน;
  2. ทำการคำนวณที่สอดคล้องกับข้อมูลที่ฉันได้รับเพิ่ง และอีกครั้งใช้ ZK เพื่อพิสูจน์ว่าผลลัพธ์ที่ฉันคำนวณเป็นจริงและไม่ถูกปนเปื้อน ผลลัพธ์การคำนวณสามารถเรียกดูโดยสัญญาฉลากฉลอง "ค่าธรรมเนียมต่ำ + ไม่ต้องเชื่อ"

ไม่กี่เวลาก่อน สตาร์คแวร์มีคอนเซ็ปต์ที่นิยมเรียกว่า Storage Proof หรือเรียกอีกอย่างว่า State Proof มันทำขั้นตอนที่ 1 โดยใช้ Herodotus, Langrage และอื่น ๆ โดยการเน้นทางเทคนิคของสะพาน跨ลําดับมากมายที่ใช้เทคโนโลยี ZK ก็อยู่ที่ขั้นตอนที่ 1 ขั้นตอนที่ 1 บน

ตัวประมวลผลร่วม ไม่มีอะไรมากนอกจากการเพิ่มขั้นตอนที่ 2 หลังจากทำขั้นตอนที่ 1 เสร็จสิ้นแล้ว หลังจากที่ดึงข้อมูลออกมาโดยไม่ไว้วางใจ จึงสามารถทำการคำนวณโดยไม่ต้องวางใจ

ดังนั้นเพื่อใช้คำศัพท์ทางเทคนิคอย่างสมเหตุสมผล คอปรอเซสเซอร์ควรเป็นเซตเซ็ตของ Storage Proof/State Proof และเป็นสับเซตของ Verfiable Computation

สิ่งหนึ่งที่ควรทราบคือ coprocessor ไม่ใช่ Rollup

อย่างทางเทคนิค พิสูจน์ ZK ของ Rollup คล้ายกับขั้นตอนที่ 2 ด้านบน และกระบวนการของขั้นตอนที่ 1 'รับข้อมูล' ถูกนำมาใช้โดยตรงผ่าน Sequencer แม้ว่า Sequencer แบบกระจายจะใช้กลไกการแข่งขันหรือของข consensus บางประเภทเท่านั้น ใช้แทน Storage Proof ในรูปแบบของ ZK สิ่งที่สำคัญมากกว่าคือ นอกจากชั้นการคำนวณแล้ว ZK Rollup ยังต้องนำ Storage ระดับเดียวกับบล็อกเชน L1 มาใช้งาน สําหรับการเก็บข้อมูลนี้เป็นถาวรในขณะที่ ZK Coprocessor เป็น 'ไม่มีสถานะ' หลังจากคำนวณเสร็จสิ้น ไม่มีสถานะทั้งหมดที่ถูกเก็บไว้

จากมุมมองของสถานการณ์ในการใช้งาน ตัวประมวลผลร่วมสามารถถือเป็นปลั๊กอินบริการสำหรับทุกๆ Layer1/Layer2 ในขณะที่ Rollup สร้างชั้นการปฏิบัติงานเพื่อช่วยขยายชั้นการตกลง

2. ทำไมคุณต้องใช้ ZK? ใช้ OP ได้ไหม?

หลังจากอ่านข้างต้นคุณอาจสงสัยว่าจะต้องทำกับ ZK ในฐานะ coprocessor หรือไม่? ดูเหมือนมีความคล้ายกับ "Graph ที่เพิ่ม ZK" และเราไม่มี "ความสงสัยใหญ่" เกี่ยวกับผลลัพธ์ใน Graph

เพราะว่าเมื่อคุณใช้ Graph คุณโดยสารทั้งหมดแบบไม่มีเงินจริง ดัชนีเหล่านี้ให้บริการออฟเชน สิ่งที่คุณเห็นบนอินเตอร์เฟสผู้ใช้ด้านหน้าคือปริมาณการทำธุรกรรม ประวัติการทำธุรกรรม ฯลฯ ข้อมูลสามารถให้บริการผ่านผู้ให้บริการดัชนีข้อมูลหลายราย เช่น Graph Alchemy Zettablock ฯลฯ แต่ข้อมูลเหล่านี้ไม่สามารถถูกแทรกกลับไปในสมาร์ทคอนแทรคได้ เพราะเมื่อคุณแทรกกลับไป คุณก็จะเพิ่มความไว้วางใจเพิ่มเติมในการบริการดัชนี เมื่อข้อมูลถูกเชื่อมโยงกับเงินจริงโดยเฉพาะ TVL ปริมาณบริการที่มาก เพิ่มความไว้วางใจเพิ่มขึ้น จินเสมือนว่าครั้งถัดไปที่เพื่อนขอยืม 100 ยวาน คุณอาจมองโลกโดยไม่เคลิ้ม ใช่ และถ้าฉันขอยืม 10,000 ยวาน หรือแม้แต่ 1 ล้าน ยวาน?

แต่ต้องบอกอีกว่า พวกเราจำเป็นต้องใช้ ZK เพื่อร่วมประมวลผลทุกกรณีด้านบนจริง ๆ หรือไม่? หลังจากทั้งหมด เรามีเส้นทางเทคนิคสองเส้นทาง OP และ ZK ใน Rollup ZKML ที่เป็นที่นิยมเร็ว ๆ นี้ยังมีแนวคิดของ OPML ของเส้นทางสาขาที่สอดคล้องกัน ถามว่า coprocessor ยังมีเส้นทางของ OP อีกหรือไม่ เช่น OP-Coprocessor หรือไม่?

ในความเป็นจริงมี - แต่เรากำลังเก็บรายละเอียดเฉพาะไว้เป็นความลับในขณะนี้ และเราจะเปิดเผยข้อมูลที่ละเอียดมากขึ้นเร็ว ๆ นี้

3. ตัวประมวลผลรองที่ไหนดีกว่า - การเปรียบเทียบของเทคโนโลยีประมวลผลรองที่พบได้บ่อยบนตลาด

  1. Brevis:

สถาปัตยกรรมของ Brevis ประกอบด้วยสามส่วนประกอบ: zkFabric, zkQueryNet, และ zkAggregatorRollup

ข้างล่างนี้คือแผนภาพสถาปัตยกรรม Brevis:

zkFabric: รวบรวมหัวบล็อกจากบล็อกเชนที่เชื่อมต่อทั้งหมด และสร้างพิสูจน์ความเป็นจริงของ ZK consensus ที่พิสูจน์ความถูกต้องของหัวบล็อกเหล่านี้ ผ่าน zkFabric Brevis นำเสนอ coprocessor ที่สามารถทำงานร่วมกันได้สำหรับเชนหลายรายการ ซึ่งทำให้บล็อกเชนหนึ่งสามารถเข้าถึงข้อมูลประวัติของบล็อกเชนอื่น ๆ ได้

zkQueryNet: ตลาดเครื่องจักรการสืบค้น ZK ที่เปิดให้สมาชิกรับคำถามข้อมูลจาก dApps และประมวลผลคำถามเหล่านี้ การสืบค้นข้อมูลประมวลผลคำถามเหล่านี้โดยใช้หัวข้อบล็อกที่ได้รับการตรวจสอบจาก zkFabric และสร้างพิสูจน์คำถาม ZK พวกเครื่องจักรนี้มีฟังก์ชันที่ทันสมัยและภาษาคำถามทั่วไปเพื่อตอบสนองความต้องการใช้งานที่แตกต่าง

zkAggregatorRollup: บล็อกเชน convolutional ZK ซึ่งทำหน้าที่เป็นชั้นการรวมรวบและจัดเก็บสำหรับ zkFabric และ zkQueryNet มันยืนยันพิสูจน์จากทั้งสองส่วน จัดเก็บข้อมูลที่ได้รับการยืนยัน และยืนยันรากสถานะที่ได้รับการตรวจสอบโดย zk ไปยังบล็อกเชนทั้งหมดที่เชื่อมต่อ

ZK Fabric เป็นส่วนสำคัญในการสร้างพิสูจน์สำหรับส่วนหัวบล็อก มันมีความสำคัญมากที่จะให้ความมั่นคงของส่วนนี้ ต่อไปนี้คือแผนภาพโครงสร้างของ zkFabric:

Zero-Knowledge Proof (ZKP) ที่ใช้เป็น light client ของ zkFabric ทำให้มันเป็น trust-free อย่างสมบูรณ์โดยไม่ต้องพึ่งพาบุคคลที่ทำการตรวจสอบจากภายนอกใด ๆ ไม่จำเป็นต้องพึ่งพาบุคคลที่ทำการตรวจสอบจากภายนอกใด ๆ เนื่องจากความปลอดภัยมาจากบล็อกเชนใต้โครงสร้างและพิสูจน์ทางคณิตศาสตร์ที่เชื่อถือได้

เครือข่าย zkFabric Prover นำเข้าวงจรสำหรับโปรโตคอลไลท์คลายเอ็นต์บล็อกเชนของแต่ละบล็อก และเครือข่ายสร้างพิสที่ถูกต้องสำหรับหัวบล็อก ผู้พิสสามารถใช้เครื่องช่วยเร่งเช่น GPUs, FPGAs, และ ASICs เพื่อลดเวลาและค่าพิส

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

การจัดสรรโปรเวอร์: เครือข่ายโปรเวอร์เป็นเครือข่ายโปรเวอร์ ZKP แบบกระจายที่เลือกโปรเวอร์สำหรับทุกงานการสร้างพิสูจน์และจ่ายค่าธรรมเนียมให้กับโปรเวอร์เหล่านี้

การใช้งานปัจจุบัน:

โปรโตคอลไคลเอ็นต์ที่ได้รับการนำมาใช้ในบล็อกเชนต่าง ๆ รวมถึง Ethereum PoS, Cosmos Tendermint และ BNB Chain เป็นตัวอย่างและพิสูจน์ความเป็นไปได้

Brevis ได้ร่วมมือกับ uniswap hook ในปัจจุบันซึ่งเพิ่มบริการ custom uniswap pools อย่างมาก อย่างไรก็ตาม เมื่อเปรียบเทียบกับ CEX UnisWap ยังขาดความสามารถในการประมวลผลข้อมูลที่มีประสิทธิภาพเพื่อสร้างโครงการที่พึงไว้วางใจบนข้อมูลธุรกรรมของผู้ใช้มากมาย (เช่น โปรแกรมสมาชิกที่ตั้งอยู่บนปริมาณธุรกรรมของผู้ใช้)

ด้วยความช่วยเหลือของ Brevis, hook ได้แก้ปัญหาแล้ว ตอนนี้ hook สามารถอ่านข้อมูลจากข้อมูลล่าสุดของ user หรือ LP และเรียกใช้การคำนวณที่กำหนดเองได้ในลักษณะที่สามารถเชื่อถือได้ทั้งหมด

  1. เฮโรโดทัส

Herodotus เป็น middleware การเข้าถึงข้อมูลที่มีประสิทธิภาพซึ่งให้สัญญาอัจฉริยะด้วยฟังก์ชันต่อไปนี้เพื่อเข้าถึงข้อมูลปัจจุบันและข้อมูลย้อนหลังบนเชนข้ามเลเยอร์ Ethereum อย่างเดียวกัน:

L1 รัฐจาก L2s

สถานะ L2 จากทั้ง L1 และ L2 อื่น ๆ

L3/App-Chain รายงานถึง L2s และ L1s

Herodotus ของแต่เดิมคิดค้นแนวคิดของการพิสูจน์การจัดเก็บข้อมูล ซึ่งรวมกันโดยการพิสูจน์ความจำ (การยืนยันถึงความมีอยู่ของข้อมูล) และพิสูจน์การคำนวณ (การตรวจสอบการปฏิบัติตามขั้นตอนหลายขั้นตอน) เพื่อพิสูจน์ว่าชุดข้อมูลขนาดใหญ่ (เช่นบล็อกเชนของ Ethereum ทั้งหมด หรือ rollup) หรือความถูกต้องขององค์ประกอบหลายๆ ได้

ส่วนสำคัญของบล็อกเชนคือฐานข้อมูล ในฐานข้อมูลนั้น ข้อมูลถูกเข้ารหัสและป้องกันโดยใช้โครงสร้างข้อมูล เช่น Merkle trees และ Merkle Patricia trees สิ่งที่เป็นเอกลักษณ์ของโครงสร้างข้อมูลเหล่านี้คือ เมื่อข้อมูลถูกยืนยันไว้อย่างปลอดภัยในโครงสร้างนั้น สามารถสร้างหลักฐานเพื่อยืนยันว่าข้อมูลอยู่ภายในโครงสร้าง

การใช้ Merkle trees และ Merkle Patricia trees เสริมความปลอดภัยของบล็อกเชน Ethereum โดยการทำ cryptographic hash ของข้อมูลที่แต่ละระดับของต้นไม้ มันเกือบจะเป็นไปไม่ได้ที่จะเปลี่ยนแปลงข้อมูลโดยไม่ให้ระบบตรวจจับ การเปลี่ยนแปลงใด ๆ ของจุดข้อมูลจำเป็นต้องเปลี่ยนแปลง hash ที่สอดคล้องกันบนต้นไม้ไปยัง root hash ซึ่งสาธารณะเห็นใน blockchain header คุณลักษณะพื้นฐานนี้ของบล็อกเชนให้ความคงสภาพข้อมูลระดับสูงและความเปลี่ยนแปลงไม่ได้

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

Proof of storage as defined by Herodotus is a fusion of:

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

ขั้นตอนการทำงาน :

  1. รับ block hash

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

  1. รับหัวบล็อก

เมื่อได้รับแฮชบล็อกที่เกี่ยวข้องแล้ว ขั้นตอนถัดไปคือการเข้าถึงหัวบล็อก ในการทำเช่นนี้ ต้องแฮชหัวบล็อกที่เกี่ยวข้องกับแฮชบล็อกที่ได้รับในขั้นตอนก่อนหน้า และจากนั้นเปรียบเทียบแฮชของหัวบล็อกที่ให้มากับแฮชบล็อกที่ได้รับผลลัพธ์

มีวิธีสองวิธีในการรับค่าแฮช:

(1) ใช้โค้ด BLOCKHASH เพื่อดึง

(2) สอบถาม hashes ของบล็อกที่ได้รับการยืนยันในประวัติจาก Block Hash Accumulator

ขั้นตอนนี้ให้ความแน่ใจว่าหัวบล็อกที่กำลังดำเนินการนั้นถูกต้อง หลังจากที่ขั้นตอนนี้เสร็จสิ้นแล้ว สมาร์ทคอนแทรคสามารถเข้าถึงค่าใด ๆ ในหัวบล็อกได้

  1. กำหนดรากที่ต้องการ (ตัวเลือก)

มีหัวบล็อกในมือ เราสามารถลึกซึ้งเข้าไปในเนื้อหาของมัน โดยเฉพาะ:

stateRoot: รหัสสรรพนามทางด้านกลุ่มข้อมูลของบล็อกเชนทั้งหมดในเวลาที่เกิดบล็อกเชน

receiptsRoot: รหัสย่อที่เข้ารหัสของผลลัพธ์การทำธุรกรรมทั้งหมด (receipts) ในบล็อก

TransactionsRoot: การย่อข้อความทางคริปโตของธุรกรรมทั้งหมดที่เกิดขึ้นในบล็อก

สามารถถอดรหัสเพื่อทำการตรวจสอบว่าบัญชีเฉพาะ ใบเสร็จ หรือธุรกรรมบางรายได้รับการรวมอยู่ในบล็อก

  1. ตรวจสอบข้อมูลกับรากที่เลือก (ตัวเลือก)

ด้วยรากที่เราเลือกและพิจารณาว่า Ethereum ใช้โครงสร้าง Merkle-Patricia Trie เราสามารถใช้พิสูจน์การรวมรวม Merkle เพื่อยืนยันว่าข้อมูลนั้นมีอยู่ในต้นไม้ ขั้นตอนการยืนยันจะแตกต่างขึ้นอยู่กับข้อมูลและความลึกของข้อมูลภายในบล็อก

เครือข่ายที่รองรับในปัจจุบัน:

จาก Ethereum ไปสู่ Starknet

จาก Ethereum Goerliไปสู่ Starknet Goerli

จาก Ethereum Goerliไปสู่ zkSync Era Goerli

  1. Axiom

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

Axiom ปล่อยHalo2-repl , เป็น REPL ที่เขียนด้วย Javascript ที่ใช้ในเบราว์เซอร์ ซึ่งช่วยให้นักพัฒนาสามารถเขียนวงจร ZK โดยใช้ Javascript มาตรฐานเท่านั้นโดยไม่จำเป็นต้องเรียนรู้ภาษาใหม่เช่น Rust ติดตั้งไลบรารีการพิสูจน์ หรือจัดการกับ dependencies

Axiom ประกอบด้วยสองส่วนประกอบทางเทคโนโลยีหลัก

AxiomV1 — Ethereum blockchain cache, เริ่มต้นด้วย Genesis.

AxiomV1Query — สัญญาอัจฉริยะที่ดำเนินการคิวรีต่อ AxiomV1

(1) ค่าแฮชบล็อกแคชใน AxiomV1:

สัญญาอัจฉริยะ AxiomV1 จำค่าแฮชบล็อก Ethereum ตั้งแต่บล็อกเกเนซิสในรูปแบบสองรูปแบบ:

เริ่มต้นด้วยการเก็บราก Merkle ของ Keccak ของแบล็ค 1024 ติดต่อไปในแคช ราก Merkle เหล่านี้ถูกอัปเดตผ่าน ZK proofs ซึ่งยืนยันว่าแบล็คเฮดเดอร์แฮชเป็นการสัญญาที่สิ้นสุดด้วยหนึ่งใน 256 บล็อกที่เข้าถึงได้โดยตรงถึงกับ EVM หรือแฮชบล็อกที่มีอยู่แล้วในแคช AxiomV1

อันที่สอง อักซิอมเก็บ Merkle Mountain Range ของราก Merkle เหล่านี้ตั้งแต่บล็อก genesis โดย Merkle Mountain Range ถูกสร้างขึ้นบนเชนโดยการอัปเดตส่วนแรกของแคช ราก Merkle แบบ Keccak

(2) ดำเนินคำสั่งใน AxiomV1Query:

สัญญาอัจฉริยะ AxiomV1Query ใช้สำหรับคิวรีเรื่องมวลเพื่อให้การเข้าถึงไร้ความเชื่อถือได้ถึงหัวข้อบล็อก Ethereum ประวัติ, บัญชี, และข้อมูลอะไรก็ตามที่เก็บไว้ในบัญชี การคิวรีสามารถทำบนเชนและเสร็จสิ้นบนเชนผ่าน ZK proofs ต่อ AxiomV1 cached block hashes

ZK proofs เหล่านี้ตรวจสอบว่าข้อมูล on-chain ที่เกี่ยวข้องตั้งอยู่โดยตรงในหัวบล็อก หรือใน account หรือ storage trie ของบล็อกโดยการยืนยันการรวม (หรือไม่รวม) พิสูจน์ของ Merkle-Patricia Trie

  1. เนกซัส

Nexus พยายามสร้างแพลตฟอร์มร่วมสำหรับการคำนวณคลาวด์ที่สามารถยืนยันได้โดยใช้พิสูจน์ที่ไม่รู้ว่ามีเงื่อนไข ปัจจุบันมันเป็นเครื่องไม่มีโครเอชิเต็คเจอร์และรองรับ risc 5/ WebAssembly/ EVM Nexus ใช้ระบบพิสูจน์ของsupernova ทีมทดสอบว่าหน่วยความจำที่จำเป็นในการสร้างพิสูจน์คือ 6GB ในอนาคต มันจะถูกปรับให้เหมาะสมบนพื้นฐานนี้เพื่อให้อุปกรณ์และคอมพิวเตอร์ด้านผู้ใช้ทั่วไปสามารถสร้างพิสูจน์ได้

เพื่อให้แน่ใจ โครงสร้างถูกแบ่งเป็นสองส่วน:

เนกซัสเซโร: เครือข่ายคอมพิวเตอร์คลาวด์ที่มีความน่าเชื่อถือที่ถูกตรวจสอบโดยการพิสูจน์ที่ไม่มีข้อมูลและ zkVM สากล

เนกซัส: เครือข่ายคอมพิวเตอร์คลาวด์ที่สามารถยืนยันได้แบบกระจายโดยการคำนวณหลายฝ่าย การทำซ้ำของเครื่องสถานะและเครื่องจำลองเวชามมัลยูเนิร์สัล

แอปพลิเคชัน Nexus และ Nexus Zero สามารถเขียนด้วยภาษาโปรแกรมทรดิชันแนบเคียง โดยรองรับ Rust ในปัจจุบัน และจะมีภาษาเพิ่มเติมในอนาคต

แอปพลิเคชันของ Nexus ทำงานบนเครือข่ายคอมพิวเตอร์คลาวด์ที่ไม่มีความจำเป็น ซึ่งพื้นหลังเป็น "บล็อกเชนแบบไม่มีเซิร์ฟเวอร์" ที่เชื่อมต่อโดยตรงกับ Ethereum ดังนั้น แอปพลิเคชันของ Nexus ไม่ได้รับการรับรองความปลอดภัยจาก Ethereum แต่เปลี่ยนแปลงได้ในการเข้าถึงพลังการคำนวณที่สูงขึ้น (เช่น การคำนวณ การจัดเก็บ และการทำ I/O ที่เกิดจากเหตุการณ์) เนื่องจากขนาดของเครือข่ายที่ลดลง แอปพลิเคชันของ Nexus ทำงานบนคลาวด์ส่วนตัวที่บรรลุความเห็นใจภายในและให้ "พิสูจน์" การคำนวณ (ไม่ใช่พิสูจน์จริง) ผ่านลายเซ็นเขตของเครือข่ายที่สามารถยืนยันได้ภายใน Ethereum

โปรแกรม Nexus Zero จะสืบทอดความปลอดภัยจาก Ethereum โดยที่เป็นโปรแกรม universal ที่มี zero-knowledge proofs ที่สามารถตรวจสอบบนเชนบนเส้นโค้งเอลลิปติก BN-254

เนื่องจาก Nexus สามารถเรียกใช้ได้ทุก WASM binary ที่แน่นอนในสภาพแวดล้อมที่ทำซ้ำกัน คาดว่าจะใช้เป็นแหล่งหลักสำหรับการพิสูจน์ความถูกต้อง/การกระจาย/ความทนทานต่อข้อบกพร่องสำหรับแอปพลิเคชันที่สร้างขึ้น รวมถึง zk-rollup sequencers, optimistic rollup sequencers, และ proofs อื่น ๆ เช่น Servers เช่น zkVM ของ Nexus Zero เอง

ข้อความปฏิเสธความรับผิดชอบ:

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

ABCDE: การสนทนาละเอียดเกี่ยวกับตัวประมวลผลร่วมและวิธีการต่าง ๆ

กลาง1/6/2024, 7:28:25 AM
บทความนี้จะกล่าวถึงการตำแหน่งและวิธีการแก้ปัญหาของ coprocessors

1. โค-โปรเซสเซอร์คืออะไรและมันไม่ใช่อะไร?

ถ้าถามให้อธิบาย coprocessors ให้ผู้ที่ไม่มีพื้นฐานทางเทคนิคหรือนักพัฒนาเพียงประโยคเดียว คุณจะอธิบายอย่างไร

ฉันคิดว่าสิ่งที่ดร. ดงโม กล่าวได้ว่าอาจจะใกล้เคียงกับคำตอบมาตรฐานมาก - อย่างตรงไปตรงมา ตัวประมวลผลร่วม (co-processor) กำลัง "ให้สัญญาณอัจฉริยะ (smart contract) ความสามารถในการทำ Dune Analytics"

วิธีการแยกประโยคนี้อย่างไร?

สมมติว่าเราใช้ Dune - คุณต้องการทำ LP ใน Uniswap V3 เพื่อรับค่าธรรมเนียมการจัดการบางส่วน ดังนั้นคุณเปิด Dune และค้นหาปริมาณการซื้อขายล่าสุดของคู่การซื้อขายต่าง ๆ ใน Uniswap อัตราผลตอบแทนปีละในช่วง 7 วันที่ผ่านมา และช่วงความผันผวนของคู่การซื้อขายหลัก ๆ ด้านบนและด้านล่าง ฯลฯ

หรือบางทีเมื่อ StepN ได้รับความนิยม คุณเริ่มพิจารณาเรื่องราคารองเท้า และไม่แน่ใจว่าเมื่อควรขาย จึงมอง StepN ข้อมูลบน Dune ทุกวัน ปริมาณการทำธุรกรรมรายวัน จำนวนผู้ใช้ใหม่ ราคาขั้นต่ำของรองเท้า... และวางแผนว่าเมื่อมีการเติบโต เมื่อแนวโน้มชะลอหรือลดลง ให้วิ่งอย่างรวดเร็ว

แน่นอนคุณอาจจะไม่ได้แค่มองข้อมูลเหล่านี้เท่านั้น แต่ทีมพัฒนาของ Uniswap และ StepN ก็กำลังสนใจข้อมูลเหล่านี้ด้วย

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

ตัวอย่างเช่น โดยอิงจากสไตล์และราคาของรองเท้าที่ผู้ใช้ซื้อขายบ่อย ๆ รองเท้าที่คล้ายกันถูกแนะนำ

ตัวอย่างเช่นตามระยะเวลาที่ผู้ใช้ถือรองเท้า Chuangshi จะมีการเปิดตัว "โปรแกรมรางวัลความภักดีของผู้ใช้" เพื่อให้ผู้ใช้ที่ภักดีได้รับ airdrops หรือผลประโยชน์มากขึ้น

ตัวอย่างเช่น สามารถเปิดตัวแผน VIP ที่คล้ายกับ Cex โดยขึ้นอยู่กับ TVL หรือปริมาณการซื้อขายที่ LP หรือ Trader ให้มีการลดค่าธรรมเนียมการทำธุรกรรมของ Trader หรือเพิ่มประโยชน์ในการแบ่งค่าธรรมเนียมของ LP บน Uniswap

……

ในขณะนี้ ปัญหาเกิดขึ้น - เมื่อบริษัทอินเทอร์เน็ตชั้นนำเล่นกับข้อมูลขนาดใหญ่ + AI มันพื้นที่สีดำโดยพื้นฐาน พวกเขาสามารถทำอะไรก็ตามที่พวกเขาต้องการ ผู้ใช้ไม่สามารถเห็นและไม่สนใจ

แต่ในด้าน Web3 ความโปร่งใสและความไม่มีความเชื่อถือเป็นความถูกต้องทางการเมืองที่เกิดธรรมชาติของเรา และเราปฏิเสธกล่องดำ!

ดังนั้นเมื่อคุณต้องการตระหนักถึงสถานการณ์ข้างต้นคุณจะต้องเผชิญกับภาวะที่กลืนไม่เข้าคายไม่ออก - คุณสามารถทําได้ด้วยวิธีแบบรวมศูนย์ "ด้วยตนเอง" ใช้ Dune เพื่อนับข้อมูลดัชนีในพื้นหลังจากนั้นปรับใช้และนําไปใช้ หรือคุณสามารถเขียนตั้งค่าสัญญาอัจฉริยะเพื่อเก็บข้อมูลเหล่านี้โดยอัตโนมัติบนห่วงโซ่ทําการคํานวณให้เสร็จสมบูรณ์และปรับใช้คะแนนโดยอัตโนมัติ

คนก่อนหน้านี้อาจทำให้คุณมีปัญหาเรื่องความไว้วางใจที่ "ไม่ถูกต้องตามมนุษย์"

ค่าธรรมเนียมในการเป็นจำนวนที่ยอดเยี่ยมโดยฝ่ายหลังบนเชื่อมต่อจะเป็นตัวเลขที่มากมาย และกระเป๋า (ฝ่ายโปรเจค) ของคุณไม่สามารถทนได้

นี่คือเวลาสำหรับตัวประมวลผลร่วมขึ้นเวที รวมวิธีการสองวิธีที่เพิ่งทดลอง และใช้ขั้นตอน “คู่มือพื้นหลัง” เพื่อ “พิสูจน์ความไร้บาดหมาง” ด้วยวิธีเทคนิค กล่าวคือ ใช้เทคโนโลยี ZK เพื่อ “ดัชนี +” ภายนอกโซ่ ส่วนของ “การคำนวณ” “พิสูจน์ความไร้บาดหมาง” เมื่อได้รับการยืนยัน จึงส่งให้สมาร์ทคอนแทรค โดยนี้ปัญหาเรื่องความไว้วางใจได้รับการแก้ไข และค่าธรรมเนียมแก๊สมหาศาลได้หายไป สมบูรณ์!

ทําไมถึงเรียกว่า "โปรเซสเซอร์ร่วม"? ในความเป็นจริงสิ่งนี้มาจาก "GPU" ในประวัติศาสตร์การพัฒนาของ Web2.0 เหตุผลที่ GPU ถูกนํามาใช้เป็นฮาร์ดแวร์คอมพิวเตอร์แยกต่างหากและมีอยู่อย่างอิสระจาก CPU ในเวลานั้นเป็นเพราะสถาปัตยกรรมการออกแบบสามารถจัดการการคํานวณบางอย่างที่ CPU จัดการได้ยากเช่นการคํานวณซ้ําแบบขนานขนาดใหญ่ มันเป็นเพราะสถาปัตยกรรม "โปรเซสเซอร์ร่วม" นี้ที่เรามีภาพยนตร์ CG ที่ยอดเยี่ยมเกมโมเดล AI และอื่น ๆ ในปัจจุบันดังนั้นสถาปัตยกรรมโปรเซสเซอร์ร่วมนี้จึงเป็นก้าวกระโดดในสถาปัตยกรรมคอมพิวเตอร์ ตอนนี้ทีมผู้ประมวลผลร่วมหลายคนหวังว่าจะแนะนําสถาปัตยกรรมนี้ลงใน Web3.0 บล็อกเชนที่นี่คล้ายกับ CPU ของ Web3.0 ไม่ว่าจะเป็น L1 หรือ L2 พวกเขาไม่เหมาะสมโดยเนื้อแท้สําหรับงาน "ข้อมูลหนัก" และ "ตรรกะการคํานวณที่ซับซ้อน" ดังนั้นจึงมีการแนะนําโปรเซสเซอร์ร่วมบล็อกเชนเพื่อช่วยจัดการการคํานวณดังกล่าวซึ่งจะขยายความเป็นไปได้ของแอปพลิเคชันบล็อกเชนอย่างมาก

ดังนั้นสิ่งที่ coprocessor ทำสามารถสรุปได้เป็นสองสิ่ง

  1. รับข้อมูลจากบล็อกเชนและพิสูจน์ผ่าน ZK ว่าข้อมูลที่ฉันได้เป็นจริงและไม่ถูกปนเปื้อน;
  2. ทำการคำนวณที่สอดคล้องกับข้อมูลที่ฉันได้รับเพิ่ง และอีกครั้งใช้ ZK เพื่อพิสูจน์ว่าผลลัพธ์ที่ฉันคำนวณเป็นจริงและไม่ถูกปนเปื้อน ผลลัพธ์การคำนวณสามารถเรียกดูโดยสัญญาฉลากฉลอง "ค่าธรรมเนียมต่ำ + ไม่ต้องเชื่อ"

ไม่กี่เวลาก่อน สตาร์คแวร์มีคอนเซ็ปต์ที่นิยมเรียกว่า Storage Proof หรือเรียกอีกอย่างว่า State Proof มันทำขั้นตอนที่ 1 โดยใช้ Herodotus, Langrage และอื่น ๆ โดยการเน้นทางเทคนิคของสะพาน跨ลําดับมากมายที่ใช้เทคโนโลยี ZK ก็อยู่ที่ขั้นตอนที่ 1 ขั้นตอนที่ 1 บน

ตัวประมวลผลร่วม ไม่มีอะไรมากนอกจากการเพิ่มขั้นตอนที่ 2 หลังจากทำขั้นตอนที่ 1 เสร็จสิ้นแล้ว หลังจากที่ดึงข้อมูลออกมาโดยไม่ไว้วางใจ จึงสามารถทำการคำนวณโดยไม่ต้องวางใจ

ดังนั้นเพื่อใช้คำศัพท์ทางเทคนิคอย่างสมเหตุสมผล คอปรอเซสเซอร์ควรเป็นเซตเซ็ตของ Storage Proof/State Proof และเป็นสับเซตของ Verfiable Computation

สิ่งหนึ่งที่ควรทราบคือ coprocessor ไม่ใช่ Rollup

อย่างทางเทคนิค พิสูจน์ ZK ของ Rollup คล้ายกับขั้นตอนที่ 2 ด้านบน และกระบวนการของขั้นตอนที่ 1 'รับข้อมูล' ถูกนำมาใช้โดยตรงผ่าน Sequencer แม้ว่า Sequencer แบบกระจายจะใช้กลไกการแข่งขันหรือของข consensus บางประเภทเท่านั้น ใช้แทน Storage Proof ในรูปแบบของ ZK สิ่งที่สำคัญมากกว่าคือ นอกจากชั้นการคำนวณแล้ว ZK Rollup ยังต้องนำ Storage ระดับเดียวกับบล็อกเชน L1 มาใช้งาน สําหรับการเก็บข้อมูลนี้เป็นถาวรในขณะที่ ZK Coprocessor เป็น 'ไม่มีสถานะ' หลังจากคำนวณเสร็จสิ้น ไม่มีสถานะทั้งหมดที่ถูกเก็บไว้

จากมุมมองของสถานการณ์ในการใช้งาน ตัวประมวลผลร่วมสามารถถือเป็นปลั๊กอินบริการสำหรับทุกๆ Layer1/Layer2 ในขณะที่ Rollup สร้างชั้นการปฏิบัติงานเพื่อช่วยขยายชั้นการตกลง

2. ทำไมคุณต้องใช้ ZK? ใช้ OP ได้ไหม?

หลังจากอ่านข้างต้นคุณอาจสงสัยว่าจะต้องทำกับ ZK ในฐานะ coprocessor หรือไม่? ดูเหมือนมีความคล้ายกับ "Graph ที่เพิ่ม ZK" และเราไม่มี "ความสงสัยใหญ่" เกี่ยวกับผลลัพธ์ใน Graph

เพราะว่าเมื่อคุณใช้ Graph คุณโดยสารทั้งหมดแบบไม่มีเงินจริง ดัชนีเหล่านี้ให้บริการออฟเชน สิ่งที่คุณเห็นบนอินเตอร์เฟสผู้ใช้ด้านหน้าคือปริมาณการทำธุรกรรม ประวัติการทำธุรกรรม ฯลฯ ข้อมูลสามารถให้บริการผ่านผู้ให้บริการดัชนีข้อมูลหลายราย เช่น Graph Alchemy Zettablock ฯลฯ แต่ข้อมูลเหล่านี้ไม่สามารถถูกแทรกกลับไปในสมาร์ทคอนแทรคได้ เพราะเมื่อคุณแทรกกลับไป คุณก็จะเพิ่มความไว้วางใจเพิ่มเติมในการบริการดัชนี เมื่อข้อมูลถูกเชื่อมโยงกับเงินจริงโดยเฉพาะ TVL ปริมาณบริการที่มาก เพิ่มความไว้วางใจเพิ่มขึ้น จินเสมือนว่าครั้งถัดไปที่เพื่อนขอยืม 100 ยวาน คุณอาจมองโลกโดยไม่เคลิ้ม ใช่ และถ้าฉันขอยืม 10,000 ยวาน หรือแม้แต่ 1 ล้าน ยวาน?

แต่ต้องบอกอีกว่า พวกเราจำเป็นต้องใช้ ZK เพื่อร่วมประมวลผลทุกกรณีด้านบนจริง ๆ หรือไม่? หลังจากทั้งหมด เรามีเส้นทางเทคนิคสองเส้นทาง OP และ ZK ใน Rollup ZKML ที่เป็นที่นิยมเร็ว ๆ นี้ยังมีแนวคิดของ OPML ของเส้นทางสาขาที่สอดคล้องกัน ถามว่า coprocessor ยังมีเส้นทางของ OP อีกหรือไม่ เช่น OP-Coprocessor หรือไม่?

ในความเป็นจริงมี - แต่เรากำลังเก็บรายละเอียดเฉพาะไว้เป็นความลับในขณะนี้ และเราจะเปิดเผยข้อมูลที่ละเอียดมากขึ้นเร็ว ๆ นี้

3. ตัวประมวลผลรองที่ไหนดีกว่า - การเปรียบเทียบของเทคโนโลยีประมวลผลรองที่พบได้บ่อยบนตลาด

  1. Brevis:

สถาปัตยกรรมของ Brevis ประกอบด้วยสามส่วนประกอบ: zkFabric, zkQueryNet, และ zkAggregatorRollup

ข้างล่างนี้คือแผนภาพสถาปัตยกรรม Brevis:

zkFabric: รวบรวมหัวบล็อกจากบล็อกเชนที่เชื่อมต่อทั้งหมด และสร้างพิสูจน์ความเป็นจริงของ ZK consensus ที่พิสูจน์ความถูกต้องของหัวบล็อกเหล่านี้ ผ่าน zkFabric Brevis นำเสนอ coprocessor ที่สามารถทำงานร่วมกันได้สำหรับเชนหลายรายการ ซึ่งทำให้บล็อกเชนหนึ่งสามารถเข้าถึงข้อมูลประวัติของบล็อกเชนอื่น ๆ ได้

zkQueryNet: ตลาดเครื่องจักรการสืบค้น ZK ที่เปิดให้สมาชิกรับคำถามข้อมูลจาก dApps และประมวลผลคำถามเหล่านี้ การสืบค้นข้อมูลประมวลผลคำถามเหล่านี้โดยใช้หัวข้อบล็อกที่ได้รับการตรวจสอบจาก zkFabric และสร้างพิสูจน์คำถาม ZK พวกเครื่องจักรนี้มีฟังก์ชันที่ทันสมัยและภาษาคำถามทั่วไปเพื่อตอบสนองความต้องการใช้งานที่แตกต่าง

zkAggregatorRollup: บล็อกเชน convolutional ZK ซึ่งทำหน้าที่เป็นชั้นการรวมรวบและจัดเก็บสำหรับ zkFabric และ zkQueryNet มันยืนยันพิสูจน์จากทั้งสองส่วน จัดเก็บข้อมูลที่ได้รับการยืนยัน และยืนยันรากสถานะที่ได้รับการตรวจสอบโดย zk ไปยังบล็อกเชนทั้งหมดที่เชื่อมต่อ

ZK Fabric เป็นส่วนสำคัญในการสร้างพิสูจน์สำหรับส่วนหัวบล็อก มันมีความสำคัญมากที่จะให้ความมั่นคงของส่วนนี้ ต่อไปนี้คือแผนภาพโครงสร้างของ zkFabric:

Zero-Knowledge Proof (ZKP) ที่ใช้เป็น light client ของ zkFabric ทำให้มันเป็น trust-free อย่างสมบูรณ์โดยไม่ต้องพึ่งพาบุคคลที่ทำการตรวจสอบจากภายนอกใด ๆ ไม่จำเป็นต้องพึ่งพาบุคคลที่ทำการตรวจสอบจากภายนอกใด ๆ เนื่องจากความปลอดภัยมาจากบล็อกเชนใต้โครงสร้างและพิสูจน์ทางคณิตศาสตร์ที่เชื่อถือได้

เครือข่าย zkFabric Prover นำเข้าวงจรสำหรับโปรโตคอลไลท์คลายเอ็นต์บล็อกเชนของแต่ละบล็อก และเครือข่ายสร้างพิสที่ถูกต้องสำหรับหัวบล็อก ผู้พิสสามารถใช้เครื่องช่วยเร่งเช่น GPUs, FPGAs, และ ASICs เพื่อลดเวลาและค่าพิส

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

การจัดสรรโปรเวอร์: เครือข่ายโปรเวอร์เป็นเครือข่ายโปรเวอร์ ZKP แบบกระจายที่เลือกโปรเวอร์สำหรับทุกงานการสร้างพิสูจน์และจ่ายค่าธรรมเนียมให้กับโปรเวอร์เหล่านี้

การใช้งานปัจจุบัน:

โปรโตคอลไคลเอ็นต์ที่ได้รับการนำมาใช้ในบล็อกเชนต่าง ๆ รวมถึง Ethereum PoS, Cosmos Tendermint และ BNB Chain เป็นตัวอย่างและพิสูจน์ความเป็นไปได้

Brevis ได้ร่วมมือกับ uniswap hook ในปัจจุบันซึ่งเพิ่มบริการ custom uniswap pools อย่างมาก อย่างไรก็ตาม เมื่อเปรียบเทียบกับ CEX UnisWap ยังขาดความสามารถในการประมวลผลข้อมูลที่มีประสิทธิภาพเพื่อสร้างโครงการที่พึงไว้วางใจบนข้อมูลธุรกรรมของผู้ใช้มากมาย (เช่น โปรแกรมสมาชิกที่ตั้งอยู่บนปริมาณธุรกรรมของผู้ใช้)

ด้วยความช่วยเหลือของ Brevis, hook ได้แก้ปัญหาแล้ว ตอนนี้ hook สามารถอ่านข้อมูลจากข้อมูลล่าสุดของ user หรือ LP และเรียกใช้การคำนวณที่กำหนดเองได้ในลักษณะที่สามารถเชื่อถือได้ทั้งหมด

  1. เฮโรโดทัส

Herodotus เป็น middleware การเข้าถึงข้อมูลที่มีประสิทธิภาพซึ่งให้สัญญาอัจฉริยะด้วยฟังก์ชันต่อไปนี้เพื่อเข้าถึงข้อมูลปัจจุบันและข้อมูลย้อนหลังบนเชนข้ามเลเยอร์ Ethereum อย่างเดียวกัน:

L1 รัฐจาก L2s

สถานะ L2 จากทั้ง L1 และ L2 อื่น ๆ

L3/App-Chain รายงานถึง L2s และ L1s

Herodotus ของแต่เดิมคิดค้นแนวคิดของการพิสูจน์การจัดเก็บข้อมูล ซึ่งรวมกันโดยการพิสูจน์ความจำ (การยืนยันถึงความมีอยู่ของข้อมูล) และพิสูจน์การคำนวณ (การตรวจสอบการปฏิบัติตามขั้นตอนหลายขั้นตอน) เพื่อพิสูจน์ว่าชุดข้อมูลขนาดใหญ่ (เช่นบล็อกเชนของ Ethereum ทั้งหมด หรือ rollup) หรือความถูกต้องขององค์ประกอบหลายๆ ได้

ส่วนสำคัญของบล็อกเชนคือฐานข้อมูล ในฐานข้อมูลนั้น ข้อมูลถูกเข้ารหัสและป้องกันโดยใช้โครงสร้างข้อมูล เช่น Merkle trees และ Merkle Patricia trees สิ่งที่เป็นเอกลักษณ์ของโครงสร้างข้อมูลเหล่านี้คือ เมื่อข้อมูลถูกยืนยันไว้อย่างปลอดภัยในโครงสร้างนั้น สามารถสร้างหลักฐานเพื่อยืนยันว่าข้อมูลอยู่ภายในโครงสร้าง

การใช้ Merkle trees และ Merkle Patricia trees เสริมความปลอดภัยของบล็อกเชน Ethereum โดยการทำ cryptographic hash ของข้อมูลที่แต่ละระดับของต้นไม้ มันเกือบจะเป็นไปไม่ได้ที่จะเปลี่ยนแปลงข้อมูลโดยไม่ให้ระบบตรวจจับ การเปลี่ยนแปลงใด ๆ ของจุดข้อมูลจำเป็นต้องเปลี่ยนแปลง hash ที่สอดคล้องกันบนต้นไม้ไปยัง root hash ซึ่งสาธารณะเห็นใน blockchain header คุณลักษณะพื้นฐานนี้ของบล็อกเชนให้ความคงสภาพข้อมูลระดับสูงและความเปลี่ยนแปลงไม่ได้

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

Proof of storage as defined by Herodotus is a fusion of:

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

ขั้นตอนการทำงาน :

  1. รับ block hash

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

  1. รับหัวบล็อก

เมื่อได้รับแฮชบล็อกที่เกี่ยวข้องแล้ว ขั้นตอนถัดไปคือการเข้าถึงหัวบล็อก ในการทำเช่นนี้ ต้องแฮชหัวบล็อกที่เกี่ยวข้องกับแฮชบล็อกที่ได้รับในขั้นตอนก่อนหน้า และจากนั้นเปรียบเทียบแฮชของหัวบล็อกที่ให้มากับแฮชบล็อกที่ได้รับผลลัพธ์

มีวิธีสองวิธีในการรับค่าแฮช:

(1) ใช้โค้ด BLOCKHASH เพื่อดึง

(2) สอบถาม hashes ของบล็อกที่ได้รับการยืนยันในประวัติจาก Block Hash Accumulator

ขั้นตอนนี้ให้ความแน่ใจว่าหัวบล็อกที่กำลังดำเนินการนั้นถูกต้อง หลังจากที่ขั้นตอนนี้เสร็จสิ้นแล้ว สมาร์ทคอนแทรคสามารถเข้าถึงค่าใด ๆ ในหัวบล็อกได้

  1. กำหนดรากที่ต้องการ (ตัวเลือก)

มีหัวบล็อกในมือ เราสามารถลึกซึ้งเข้าไปในเนื้อหาของมัน โดยเฉพาะ:

stateRoot: รหัสสรรพนามทางด้านกลุ่มข้อมูลของบล็อกเชนทั้งหมดในเวลาที่เกิดบล็อกเชน

receiptsRoot: รหัสย่อที่เข้ารหัสของผลลัพธ์การทำธุรกรรมทั้งหมด (receipts) ในบล็อก

TransactionsRoot: การย่อข้อความทางคริปโตของธุรกรรมทั้งหมดที่เกิดขึ้นในบล็อก

สามารถถอดรหัสเพื่อทำการตรวจสอบว่าบัญชีเฉพาะ ใบเสร็จ หรือธุรกรรมบางรายได้รับการรวมอยู่ในบล็อก

  1. ตรวจสอบข้อมูลกับรากที่เลือก (ตัวเลือก)

ด้วยรากที่เราเลือกและพิจารณาว่า Ethereum ใช้โครงสร้าง Merkle-Patricia Trie เราสามารถใช้พิสูจน์การรวมรวม Merkle เพื่อยืนยันว่าข้อมูลนั้นมีอยู่ในต้นไม้ ขั้นตอนการยืนยันจะแตกต่างขึ้นอยู่กับข้อมูลและความลึกของข้อมูลภายในบล็อก

เครือข่ายที่รองรับในปัจจุบัน:

จาก Ethereum ไปสู่ Starknet

จาก Ethereum Goerliไปสู่ Starknet Goerli

จาก Ethereum Goerliไปสู่ zkSync Era Goerli

  1. Axiom

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

Axiom ปล่อยHalo2-repl , เป็น REPL ที่เขียนด้วย Javascript ที่ใช้ในเบราว์เซอร์ ซึ่งช่วยให้นักพัฒนาสามารถเขียนวงจร ZK โดยใช้ Javascript มาตรฐานเท่านั้นโดยไม่จำเป็นต้องเรียนรู้ภาษาใหม่เช่น Rust ติดตั้งไลบรารีการพิสูจน์ หรือจัดการกับ dependencies

Axiom ประกอบด้วยสองส่วนประกอบทางเทคโนโลยีหลัก

AxiomV1 — Ethereum blockchain cache, เริ่มต้นด้วย Genesis.

AxiomV1Query — สัญญาอัจฉริยะที่ดำเนินการคิวรีต่อ AxiomV1

(1) ค่าแฮชบล็อกแคชใน AxiomV1:

สัญญาอัจฉริยะ AxiomV1 จำค่าแฮชบล็อก Ethereum ตั้งแต่บล็อกเกเนซิสในรูปแบบสองรูปแบบ:

เริ่มต้นด้วยการเก็บราก Merkle ของ Keccak ของแบล็ค 1024 ติดต่อไปในแคช ราก Merkle เหล่านี้ถูกอัปเดตผ่าน ZK proofs ซึ่งยืนยันว่าแบล็คเฮดเดอร์แฮชเป็นการสัญญาที่สิ้นสุดด้วยหนึ่งใน 256 บล็อกที่เข้าถึงได้โดยตรงถึงกับ EVM หรือแฮชบล็อกที่มีอยู่แล้วในแคช AxiomV1

อันที่สอง อักซิอมเก็บ Merkle Mountain Range ของราก Merkle เหล่านี้ตั้งแต่บล็อก genesis โดย Merkle Mountain Range ถูกสร้างขึ้นบนเชนโดยการอัปเดตส่วนแรกของแคช ราก Merkle แบบ Keccak

(2) ดำเนินคำสั่งใน AxiomV1Query:

สัญญาอัจฉริยะ AxiomV1Query ใช้สำหรับคิวรีเรื่องมวลเพื่อให้การเข้าถึงไร้ความเชื่อถือได้ถึงหัวข้อบล็อก Ethereum ประวัติ, บัญชี, และข้อมูลอะไรก็ตามที่เก็บไว้ในบัญชี การคิวรีสามารถทำบนเชนและเสร็จสิ้นบนเชนผ่าน ZK proofs ต่อ AxiomV1 cached block hashes

ZK proofs เหล่านี้ตรวจสอบว่าข้อมูล on-chain ที่เกี่ยวข้องตั้งอยู่โดยตรงในหัวบล็อก หรือใน account หรือ storage trie ของบล็อกโดยการยืนยันการรวม (หรือไม่รวม) พิสูจน์ของ Merkle-Patricia Trie

  1. เนกซัส

Nexus พยายามสร้างแพลตฟอร์มร่วมสำหรับการคำนวณคลาวด์ที่สามารถยืนยันได้โดยใช้พิสูจน์ที่ไม่รู้ว่ามีเงื่อนไข ปัจจุบันมันเป็นเครื่องไม่มีโครเอชิเต็คเจอร์และรองรับ risc 5/ WebAssembly/ EVM Nexus ใช้ระบบพิสูจน์ของsupernova ทีมทดสอบว่าหน่วยความจำที่จำเป็นในการสร้างพิสูจน์คือ 6GB ในอนาคต มันจะถูกปรับให้เหมาะสมบนพื้นฐานนี้เพื่อให้อุปกรณ์และคอมพิวเตอร์ด้านผู้ใช้ทั่วไปสามารถสร้างพิสูจน์ได้

เพื่อให้แน่ใจ โครงสร้างถูกแบ่งเป็นสองส่วน:

เนกซัสเซโร: เครือข่ายคอมพิวเตอร์คลาวด์ที่มีความน่าเชื่อถือที่ถูกตรวจสอบโดยการพิสูจน์ที่ไม่มีข้อมูลและ zkVM สากล

เนกซัส: เครือข่ายคอมพิวเตอร์คลาวด์ที่สามารถยืนยันได้แบบกระจายโดยการคำนวณหลายฝ่าย การทำซ้ำของเครื่องสถานะและเครื่องจำลองเวชามมัลยูเนิร์สัล

แอปพลิเคชัน Nexus และ Nexus Zero สามารถเขียนด้วยภาษาโปรแกรมทรดิชันแนบเคียง โดยรองรับ Rust ในปัจจุบัน และจะมีภาษาเพิ่มเติมในอนาคต

แอปพลิเคชันของ Nexus ทำงานบนเครือข่ายคอมพิวเตอร์คลาวด์ที่ไม่มีความจำเป็น ซึ่งพื้นหลังเป็น "บล็อกเชนแบบไม่มีเซิร์ฟเวอร์" ที่เชื่อมต่อโดยตรงกับ Ethereum ดังนั้น แอปพลิเคชันของ Nexus ไม่ได้รับการรับรองความปลอดภัยจาก Ethereum แต่เปลี่ยนแปลงได้ในการเข้าถึงพลังการคำนวณที่สูงขึ้น (เช่น การคำนวณ การจัดเก็บ และการทำ I/O ที่เกิดจากเหตุการณ์) เนื่องจากขนาดของเครือข่ายที่ลดลง แอปพลิเคชันของ Nexus ทำงานบนคลาวด์ส่วนตัวที่บรรลุความเห็นใจภายในและให้ "พิสูจน์" การคำนวณ (ไม่ใช่พิสูจน์จริง) ผ่านลายเซ็นเขตของเครือข่ายที่สามารถยืนยันได้ภายใน Ethereum

โปรแกรม Nexus Zero จะสืบทอดความปลอดภัยจาก Ethereum โดยที่เป็นโปรแกรม universal ที่มี zero-knowledge proofs ที่สามารถตรวจสอบบนเชนบนเส้นโค้งเอลลิปติก BN-254

เนื่องจาก Nexus สามารถเรียกใช้ได้ทุก WASM binary ที่แน่นอนในสภาพแวดล้อมที่ทำซ้ำกัน คาดว่าจะใช้เป็นแหล่งหลักสำหรับการพิสูจน์ความถูกต้อง/การกระจาย/ความทนทานต่อข้อบกพร่องสำหรับแอปพลิเคชันที่สร้างขึ้น รวมถึง zk-rollup sequencers, optimistic rollup sequencers, และ proofs อื่น ๆ เช่น Servers เช่น zkVM ของ Nexus Zero เอง

ข้อความปฏิเสธความรับผิดชอบ:

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