ถ้าถามให้อธิบาย 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 ทำสามารถสรุปได้เป็นสองสิ่ง
ไม่กี่เวลาก่อน สตาร์คแวร์มีคอนเซ็ปต์ที่นิยมเรียกว่า 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 สร้างชั้นการปฏิบัติงานเพื่อช่วยขยายชั้นการตกลง
หลังจากอ่านข้างต้นคุณอาจสงสัยว่าจะต้องทำกับ ZK ในฐานะ coprocessor หรือไม่? ดูเหมือนมีความคล้ายกับ "Graph ที่เพิ่ม ZK" และเราไม่มี "ความสงสัยใหญ่" เกี่ยวกับผลลัพธ์ใน Graph
เพราะว่าเมื่อคุณใช้ Graph คุณโดยสารทั้งหมดแบบไม่มีเงินจริง ดัชนีเหล่านี้ให้บริการออฟเชน สิ่งที่คุณเห็นบนอินเตอร์เฟสผู้ใช้ด้านหน้าคือปริมาณการทำธุรกรรม ประวัติการทำธุรกรรม ฯลฯ ข้อมูลสามารถให้บริการผ่านผู้ให้บริการดัชนีข้อมูลหลายราย เช่น Graph Alchemy Zettablock ฯลฯ แต่ข้อมูลเหล่านี้ไม่สามารถถูกแทรกกลับไปในสมาร์ทคอนแทรคได้ เพราะเมื่อคุณแทรกกลับไป คุณก็จะเพิ่มความไว้วางใจเพิ่มเติมในการบริการดัชนี เมื่อข้อมูลถูกเชื่อมโยงกับเงินจริงโดยเฉพาะ TVL ปริมาณบริการที่มาก เพิ่มความไว้วางใจเพิ่มขึ้น จินเสมือนว่าครั้งถัดไปที่เพื่อนขอยืม 100 ยวาน คุณอาจมองโลกโดยไม่เคลิ้ม ใช่ และถ้าฉันขอยืม 10,000 ยวาน หรือแม้แต่ 1 ล้าน ยวาน?
แต่ต้องบอกอีกว่า พวกเราจำเป็นต้องใช้ ZK เพื่อร่วมประมวลผลทุกกรณีด้านบนจริง ๆ หรือไม่? หลังจากทั้งหมด เรามีเส้นทางเทคนิคสองเส้นทาง OP และ ZK ใน Rollup ZKML ที่เป็นที่นิยมเร็ว ๆ นี้ยังมีแนวคิดของ OPML ของเส้นทางสาขาที่สอดคล้องกัน ถามว่า coprocessor ยังมีเส้นทางของ OP อีกหรือไม่ เช่น OP-Coprocessor หรือไม่?
ในความเป็นจริงมี - แต่เรากำลังเก็บรายละเอียดเฉพาะไว้เป็นความลับในขณะนี้ และเราจะเปิดเผยข้อมูลที่ละเอียดมากขึ้นเร็ว ๆ นี้
สถาปัตยกรรมของ 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 และเรียกใช้การคำนวณที่กำหนดเองได้ในลักษณะที่สามารถเชื่อถือได้ทั้งหมด
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:
ขั้นตอนการทำงาน :
ข้อมูลทุกอย่างบนบล็อกเชนเป็นของบล็อกเฉพาะ แฮชบล็อกทำหน้าที่เป็นตัวระบุที่ไม่ซ้ำกันของบล็อกและสรุปเนื้อหาทั้งหมดของมันผ่านหัวบล็อก ในขั้นตอนการทำงานของพิสูจน์การเก็บข้อมูล เราต้องกำหนดและตรวจสอบแฮชบล็อกของบล็อกที่มีข้อมูลที่เราสนใจ นี่คือขั้นตอนแรกในกระบวนการทั้งหมด
เมื่อได้รับแฮชบล็อกที่เกี่ยวข้องแล้ว ขั้นตอนถัดไปคือการเข้าถึงหัวบล็อก ในการทำเช่นนี้ ต้องแฮชหัวบล็อกที่เกี่ยวข้องกับแฮชบล็อกที่ได้รับในขั้นตอนก่อนหน้า และจากนั้นเปรียบเทียบแฮชของหัวบล็อกที่ให้มากับแฮชบล็อกที่ได้รับผลลัพธ์
มีวิธีสองวิธีในการรับค่าแฮช:
(1) ใช้โค้ด BLOCKHASH เพื่อดึง
(2) สอบถาม hashes ของบล็อกที่ได้รับการยืนยันในประวัติจาก Block Hash Accumulator
ขั้นตอนนี้ให้ความแน่ใจว่าหัวบล็อกที่กำลังดำเนินการนั้นถูกต้อง หลังจากที่ขั้นตอนนี้เสร็จสิ้นแล้ว สมาร์ทคอนแทรคสามารถเข้าถึงค่าใด ๆ ในหัวบล็อกได้
มีหัวบล็อกในมือ เราสามารถลึกซึ้งเข้าไปในเนื้อหาของมัน โดยเฉพาะ:
stateRoot: รหัสสรรพนามทางด้านกลุ่มข้อมูลของบล็อกเชนทั้งหมดในเวลาที่เกิดบล็อกเชน
receiptsRoot: รหัสย่อที่เข้ารหัสของผลลัพธ์การทำธุรกรรมทั้งหมด (receipts) ในบล็อก
TransactionsRoot: การย่อข้อความทางคริปโตของธุรกรรมทั้งหมดที่เกิดขึ้นในบล็อก
สามารถถอดรหัสเพื่อทำการตรวจสอบว่าบัญชีเฉพาะ ใบเสร็จ หรือธุรกรรมบางรายได้รับการรวมอยู่ในบล็อก
ด้วยรากที่เราเลือกและพิจารณาว่า Ethereum ใช้โครงสร้าง Merkle-Patricia Trie เราสามารถใช้พิสูจน์การรวมรวม Merkle เพื่อยืนยันว่าข้อมูลนั้นมีอยู่ในต้นไม้ ขั้นตอนการยืนยันจะแตกต่างขึ้นอยู่กับข้อมูลและความลึกของข้อมูลภายในบล็อก
เครือข่ายที่รองรับในปัจจุบัน:
จาก Ethereum ไปสู่ Starknet
จาก Ethereum Goerliไปสู่ Starknet Goerli
จาก Ethereum Goerliไปสู่ zkSync Era Goerli
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
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 เอง
ถ้าถามให้อธิบาย 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 ทำสามารถสรุปได้เป็นสองสิ่ง
ไม่กี่เวลาก่อน สตาร์คแวร์มีคอนเซ็ปต์ที่นิยมเรียกว่า 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 สร้างชั้นการปฏิบัติงานเพื่อช่วยขยายชั้นการตกลง
หลังจากอ่านข้างต้นคุณอาจสงสัยว่าจะต้องทำกับ ZK ในฐานะ coprocessor หรือไม่? ดูเหมือนมีความคล้ายกับ "Graph ที่เพิ่ม ZK" และเราไม่มี "ความสงสัยใหญ่" เกี่ยวกับผลลัพธ์ใน Graph
เพราะว่าเมื่อคุณใช้ Graph คุณโดยสารทั้งหมดแบบไม่มีเงินจริง ดัชนีเหล่านี้ให้บริการออฟเชน สิ่งที่คุณเห็นบนอินเตอร์เฟสผู้ใช้ด้านหน้าคือปริมาณการทำธุรกรรม ประวัติการทำธุรกรรม ฯลฯ ข้อมูลสามารถให้บริการผ่านผู้ให้บริการดัชนีข้อมูลหลายราย เช่น Graph Alchemy Zettablock ฯลฯ แต่ข้อมูลเหล่านี้ไม่สามารถถูกแทรกกลับไปในสมาร์ทคอนแทรคได้ เพราะเมื่อคุณแทรกกลับไป คุณก็จะเพิ่มความไว้วางใจเพิ่มเติมในการบริการดัชนี เมื่อข้อมูลถูกเชื่อมโยงกับเงินจริงโดยเฉพาะ TVL ปริมาณบริการที่มาก เพิ่มความไว้วางใจเพิ่มขึ้น จินเสมือนว่าครั้งถัดไปที่เพื่อนขอยืม 100 ยวาน คุณอาจมองโลกโดยไม่เคลิ้ม ใช่ และถ้าฉันขอยืม 10,000 ยวาน หรือแม้แต่ 1 ล้าน ยวาน?
แต่ต้องบอกอีกว่า พวกเราจำเป็นต้องใช้ ZK เพื่อร่วมประมวลผลทุกกรณีด้านบนจริง ๆ หรือไม่? หลังจากทั้งหมด เรามีเส้นทางเทคนิคสองเส้นทาง OP และ ZK ใน Rollup ZKML ที่เป็นที่นิยมเร็ว ๆ นี้ยังมีแนวคิดของ OPML ของเส้นทางสาขาที่สอดคล้องกัน ถามว่า coprocessor ยังมีเส้นทางของ OP อีกหรือไม่ เช่น OP-Coprocessor หรือไม่?
ในความเป็นจริงมี - แต่เรากำลังเก็บรายละเอียดเฉพาะไว้เป็นความลับในขณะนี้ และเราจะเปิดเผยข้อมูลที่ละเอียดมากขึ้นเร็ว ๆ นี้
สถาปัตยกรรมของ 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 และเรียกใช้การคำนวณที่กำหนดเองได้ในลักษณะที่สามารถเชื่อถือได้ทั้งหมด
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:
ขั้นตอนการทำงาน :
ข้อมูลทุกอย่างบนบล็อกเชนเป็นของบล็อกเฉพาะ แฮชบล็อกทำหน้าที่เป็นตัวระบุที่ไม่ซ้ำกันของบล็อกและสรุปเนื้อหาทั้งหมดของมันผ่านหัวบล็อก ในขั้นตอนการทำงานของพิสูจน์การเก็บข้อมูล เราต้องกำหนดและตรวจสอบแฮชบล็อกของบล็อกที่มีข้อมูลที่เราสนใจ นี่คือขั้นตอนแรกในกระบวนการทั้งหมด
เมื่อได้รับแฮชบล็อกที่เกี่ยวข้องแล้ว ขั้นตอนถัดไปคือการเข้าถึงหัวบล็อก ในการทำเช่นนี้ ต้องแฮชหัวบล็อกที่เกี่ยวข้องกับแฮชบล็อกที่ได้รับในขั้นตอนก่อนหน้า และจากนั้นเปรียบเทียบแฮชของหัวบล็อกที่ให้มากับแฮชบล็อกที่ได้รับผลลัพธ์
มีวิธีสองวิธีในการรับค่าแฮช:
(1) ใช้โค้ด BLOCKHASH เพื่อดึง
(2) สอบถาม hashes ของบล็อกที่ได้รับการยืนยันในประวัติจาก Block Hash Accumulator
ขั้นตอนนี้ให้ความแน่ใจว่าหัวบล็อกที่กำลังดำเนินการนั้นถูกต้อง หลังจากที่ขั้นตอนนี้เสร็จสิ้นแล้ว สมาร์ทคอนแทรคสามารถเข้าถึงค่าใด ๆ ในหัวบล็อกได้
มีหัวบล็อกในมือ เราสามารถลึกซึ้งเข้าไปในเนื้อหาของมัน โดยเฉพาะ:
stateRoot: รหัสสรรพนามทางด้านกลุ่มข้อมูลของบล็อกเชนทั้งหมดในเวลาที่เกิดบล็อกเชน
receiptsRoot: รหัสย่อที่เข้ารหัสของผลลัพธ์การทำธุรกรรมทั้งหมด (receipts) ในบล็อก
TransactionsRoot: การย่อข้อความทางคริปโตของธุรกรรมทั้งหมดที่เกิดขึ้นในบล็อก
สามารถถอดรหัสเพื่อทำการตรวจสอบว่าบัญชีเฉพาะ ใบเสร็จ หรือธุรกรรมบางรายได้รับการรวมอยู่ในบล็อก
ด้วยรากที่เราเลือกและพิจารณาว่า Ethereum ใช้โครงสร้าง Merkle-Patricia Trie เราสามารถใช้พิสูจน์การรวมรวม Merkle เพื่อยืนยันว่าข้อมูลนั้นมีอยู่ในต้นไม้ ขั้นตอนการยืนยันจะแตกต่างขึ้นอยู่กับข้อมูลและความลึกของข้อมูลภายในบล็อก
เครือข่ายที่รองรับในปัจจุบัน:
จาก Ethereum ไปสู่ Starknet
จาก Ethereum Goerliไปสู่ Starknet Goerli
จาก Ethereum Goerliไปสู่ zkSync Era Goerli
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
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 เอง