ชื่อต้นฉบับ: สถาปัตยกรรมกาวและตัวประมวลผลร่วม
ผู้เขียนต้นฉบับ: Vitalik Buterin ผู้ก่อตั้ง Ethereum
เรียบเรียงต้นฉบับ: Deng Tong, Golden Finance
ขอขอบคุณเป็นพิเศษสำหรับ Justin Drake, Georgios Konstantopoulos, Andrej Karpathy, Michael Gao, Tarun Chitra และผู้ร่วมให้ข้อมูล Flashbots หลายๆ คนสำหรับคำติชมและความคิดเห็นของพวกเขา
หากคุณวิเคราะห์ในรายละเอียดปานกลางเกี่ยวกับการคำนวณที่ใช้ทรัพยากรจำนวนมากที่เกิดขึ้นในโลกสมัยใหม่ คุณลักษณะหนึ่งที่คุณจะพบครั้งแล้วครั้งเล่าก็คือ การคำนวณสามารถแบ่งออกเป็นสองส่วน:
· มี ตรรกะทางธุรกิจ ที่ซับซ้อนแต่ใช้การคำนวณค่อนข้างน้อย;
· “งานราคาแพง” ที่เข้มข้น แต่มีโครงสร้างสูง
การประมวลผลทั้งสองรูปแบบนี้ได้รับการจัดการได้ดีที่สุดในรูปแบบที่แตกต่างกัน: รูปแบบแรกซึ่งสถาปัตยกรรมอาจมีประสิทธิภาพน้อยกว่าแต่จำเป็นต้องมีความทั่วไปมาก และรูปแบบหลังซึ่งสถาปัตยกรรมอาจมีความทั่วไปน้อยกว่าแต่จำเป็นต้องมีประสิทธิภาพมาก
อะไรคือตัวอย่างของแนวทางที่แตกต่างนี้ในทางปฏิบัติ?
ก่อนอื่น มาดูสภาพแวดล้อมที่ฉันคุ้นเคยมากที่สุด: Ethereum Virtual Machine (EVM) นี่คือการติดตามการแก้ไข Geth ของธุรกรรม Ethereum ล่าสุดที่ฉันทำ: การอัปเดตแฮช IPFS ของบล็อกของฉันบน ENS ธุรกรรมนี้ใช้ก๊าซทั้งหมด 46924 รายการ และสามารถจำแนกได้ดังต่อไปนี้:
· ราคาพื้นฐาน: 21,000
· ข้อมูลการโทร: 1,556 EVM
· การดำเนินการ: 24, 368 สโลด
· รหัสประจำตัว: 6, 400 SSTORE
· รหัสประจำตัว: 10, 100 ล็อก
· รหัสประจำตัว: 2, 149
· อื่นๆ: 6,719
การติดตาม EVM ของการอัพเดตแฮช ENS คอลัมน์สุดท้ายคือปริมาณการใช้ก๊าซ
คุณธรรมของเรื่องราวคือ: การดำเนินการส่วนใหญ่ (ประมาณ 73% ถ้าคุณดูที่ EVM เท่านั้น ประมาณ 85% ถ้าคุณรวมส่วนต้นทุนพื้นฐานที่ครอบคลุมการคำนวณ) จะกระจุกตัวอยู่ในการดำเนินการที่มีโครงสร้างราคาแพงจำนวนน้อยมาก: พื้นที่เก็บข้อมูล อ่านและเขียน การบันทึกและการเข้ารหัส (ค่าใช้จ่ายพื้นฐานรวม 3,000 สำหรับการตรวจสอบลายเซ็นการชำระเงิน EVM ยังรวม 272 สำหรับการแฮชการชำระเงินด้วย) การดำเนินการที่เหลือคือ ตรรกะทางธุรกิจ: การสลับบิตใน calldata เพื่อแยก ID ของบันทึกที่ฉันพยายามตั้งค่า แฮชที่ฉันกำลังตั้งค่าไว้ ฯลฯ ในการโอนโทเค็นจะรวมถึงการบวกและการลบยอดคงเหลือ ในแอปพลิเคชันขั้นสูงอาจรวมถึงการหมุนเวียน ฯลฯ
ใน EVM การดำเนินการทั้งสองรูปแบบนี้จะได้รับการจัดการที่แตกต่างกัน ตรรกะทางธุรกิจระดับสูงเขียนด้วยภาษาระดับสูงกว่า ซึ่งโดยทั่วไปคือ Solidity ซึ่งคอมไพล์เป็น EVM งานที่มีราคาแพงยังคงถูกกระตุ้นโดย EVM opcodes (SLOAD ฯลฯ) แต่มากกว่า 99% ของการคำนวณจริงเสร็จสิ้นในโมดูลเฉพาะที่เขียนโดยตรงภายในโค้ดไคลเอ็นต์ (หรือแม้แต่ไลบรารี)
เพื่อปรับปรุงความเข้าใจของเราเกี่ยวกับรูปแบบนี้ เราจะมาสำรวจมันในบริบทอื่น: โค้ด AI ที่เขียนด้วยภาษาไพธอนโดยใช้คบเพลิง
ส่งต่อบล็อกของหม้อแปลงรุ่น
เราเห็นอะไรที่นี่? เราเห็น ตรรกะทางธุรกิจ จำนวนค่อนข้างน้อยที่เขียนด้วยภาษา Python ซึ่งอธิบายโครงสร้างของการดำเนินการที่กำลังดำเนินการ ในแอปพลิเคชันจริง จะมีตรรกะทางธุรกิจอีกประเภทหนึ่ง ซึ่งจะกำหนดรายละเอียด เช่น วิธีรับอินพุต และจะทำอย่างไรกับเอาต์พุต อย่างไรก็ตาม หากเราเจาะลึกลงไปในแต่ละการดำเนินการ (แต่ละขั้นตอนภายใน self.norm, torch.cat, +, *, self.attn...) เราจะเห็นการคำนวณแบบเวกเตอร์: การดำเนินการเดียวกันจะถูกคำนวณอย่างหนาแน่นด้วยค่าคู่ขนาน . เช่นเดียวกับตัวอย่างแรก การคำนวณส่วนเล็กๆ จะใช้สำหรับตรรกะทางธุรกิจ และการคำนวณส่วนใหญ่จะใช้ในการดำเนินการเมทริกซ์และเวกเตอร์ที่มีโครงสร้างขนาดใหญ่ - ที่จริงแล้ว ส่วนใหญ่เป็นเพียงการคูณเมทริกซ์เท่านั้น
เช่นเดียวกับในตัวอย่าง EVM งานทั้งสองประเภทนี้ได้รับการจัดการในสองวิธีที่แตกต่างกัน โค้ดตรรกะทางธุรกิจระดับสูงเขียนด้วยภาษา Python ซึ่งเป็นภาษาที่มีความหลากหลายและยืดหยุ่นสูง แต่ก็ช้ามากเช่นกัน และเรายอมรับความไร้ประสิทธิภาพเพียงเพราะเกี่ยวข้องกับต้นทุนการคำนวณทั้งหมดเพียงเล็กน้อยเท่านั้น ในขณะเดียวกัน การดำเนินการที่เข้มข้นจะถูกเขียนด้วยโค้ดที่ได้รับการปรับให้เหมาะสมที่สุด ซึ่งมักจะเป็นโค้ด CUDA ที่ทำงานบน GPU เรายังเริ่มเห็นการอนุมาน LLM บน ASIC เพิ่มมากขึ้นอีกด้วย
การเข้ารหัสแบบตั้งโปรแกรมได้สมัยใหม่ เช่น SNARK จะเป็นไปตามรูปแบบที่คล้ายกันในสองระดับอีกครั้ง ประการแรก ผู้พิสูจน์อักษรสามารถเขียนด้วยภาษาระดับสูงได้ โดยที่การยกของหนักทำได้ผ่านการดำเนินการแบบเวกเตอร์ เช่นเดียวกับในตัวอย่าง AI ด้านบน รหัส STARK แบบวงกลมที่ฉันมีที่นี่แสดงให้เห็นสิ่งนี้ ประการที่สอง โปรแกรมที่ดำเนินการภายในการเข้ารหัสสามารถเขียนในลักษณะที่แบ่งระหว่างตรรกะทางธุรกิจทั่วไปและงานที่มีราคาแพงที่มีโครงสร้างสูง
เพื่อให้เข้าใจถึงวิธีการทำงานนี้ เราสามารถดูหนึ่งในแนวโน้มล่าสุดที่ STARK แสดงให้เห็น เพื่อให้มีความหลากหลายและใช้งานง่าย ทีมงานจึงสร้างเครื่องพิสูจน์ STARK มากขึ้นสำหรับเครื่องเสมือนขั้นต่ำที่นำมาใช้กันอย่างแพร่หลาย เช่น RISC-V โปรแกรมใดๆ ที่จำเป็นต้องพิสูจน์การดำเนินการสามารถคอมไพล์เป็น RISC-V และผู้รับรองก็สามารถรับรองการดำเนินการ RISC-V ของโค้ดนั้นได้
ไดอะแกรมจากเอกสาร RiscZero
วิธีนี้สะดวกมาก หมายความว่าเราจำเป็นต้องเขียนตรรกะการพิสูจน์เพียงครั้งเดียว และหลังจากนั้น โปรแกรมใดๆ ที่ต้องการการพิสูจน์ก็สามารถเขียนในภาษาโปรแกรม ดั้งเดิม ใดก็ได้ (เช่น RiskZero รองรับ Rust) อย่างไรก็ตาม มีปัญหา: วิธีการนี้มีค่าใช้จ่ายจำนวนมาก การเข้ารหัสแบบตั้งโปรแกรมได้มีราคาแพงมากอยู่แล้ว การเพิ่มค่าใช้จ่ายในการรันโค้ดในล่าม RISC-V นั้นมากเกินไป ดังนั้นนักพัฒนาจึงมีเคล็ดลับ: ระบุการดำเนินการที่มีราคาแพงโดยเฉพาะซึ่งประกอบเป็นการคำนวณจำนวนมาก (โดยปกติจะเป็นแฮชและลายเซ็น) จากนั้นจึงสร้างโมดูลพิเศษเพื่อพิสูจน์การดำเนินการเหล่านั้นอย่างมีประสิทธิภาพมาก จากนั้นคุณเพียงรวมระบบพิสูจน์ RISC-V ทั่วไปที่ไม่มีประสิทธิภาพแต่มีประสิทธิภาพเข้ากับระบบพิสูจน์เฉพาะทางที่มีประสิทธิภาพและเชี่ยวชาญ และรับประโยชน์สูงสุดจากทั้งสองโลก
การเข้ารหัสที่ตั้งโปรแกรมได้นอกเหนือจาก ZK-SNARK เช่น การคำนวณหลายฝ่าย (MPC) และการเข้ารหัสโฮโมมอร์ฟิกอย่างสมบูรณ์ (FHE) อาจได้รับการปรับให้เหมาะสมโดยใช้วิธีการที่คล้ายกัน
โดยรวมแล้วปรากฎการณ์เป็นอย่างไร?
คอมพิวเตอร์สมัยใหม่ติดตามสิ่งที่ฉันเรียกว่าสถาปัตยกรรมกาวและตัวประมวลผลร่วมมากขึ้นเรื่อยๆ: คุณมีส่วนประกอบ กาว ส่วนกลางซึ่งมีความหลากหลายสูงแต่ไม่มีประสิทธิภาพ โดยมีหน้าที่รับผิดชอบในการรันงานระหว่างส่วนประกอบตัวประมวลผลร่วมตั้งแต่หนึ่งตัวขึ้นไป มีลักษณะทั่วไปต่ำแต่มีประสิทธิภาพในการถ่ายโอนสูง ข้อมูลระหว่างพวกเขา
นี่คือการทำให้เข้าใจง่าย: ในทางปฏิบัติ เส้นกราฟที่ต้องแลกระหว่างประสิทธิภาพและความคล่องตัวมักจะมีมากกว่าสองระดับเสมอ GPU และชิปอื่นๆ ที่เรียกกันทั่วไปในอุตสาหกรรมว่า โปรเซสเซอร์ร่วม มีความหลากหลายน้อยกว่า CPU แต่มีความหลากหลายมากกว่า ASIC การแลกเปลี่ยนความเชี่ยวชาญนั้นมีความซับซ้อนและขึ้นอยู่กับการคาดการณ์และสัญชาตญาณว่าส่วนใดของอัลกอริทึมจะยังคงเหมือนเดิมในห้าปี และส่วนใดจะเปลี่ยนแปลงในหกเดือน ในสถาปัตยกรรมที่พิสูจน์ด้วย ZK เรามักจะเห็นความเชี่ยวชาญพิเศษหลายชั้นที่คล้ายกัน แต่สำหรับแบบจำลองทางจิตแบบกว้างๆ ก็เพียงพอแล้วที่จะพิจารณาสองระดับ สถานการณ์ที่คล้ายกันนี้มีอยู่ในการประมวลผลหลายด้าน:
จากตัวอย่างข้างต้น ดูเหมือนว่าเป็นกฎธรรมชาติที่การคำนวณสามารถแบ่งออกได้ในลักษณะนี้ ที่จริงแล้ว คุณสามารถดูตัวอย่างความเชี่ยวชาญด้านคอมพิวเตอร์ที่มีมานานหลายทศวรรษได้ อย่างไรก็ตาม ฉันคิดว่าความแตกแยกนี้กำลังเพิ่มมากขึ้น ฉันคิดว่ามีเหตุผลสำหรับสิ่งนี้:
เราเพิ่งถึงขีดจำกัดของการปรับปรุงความเร็วสัญญาณนาฬิกาของ CPU เท่านั้น ดังนั้นการได้รับเพิ่มเติมสามารถทำได้ผ่านการทำแบบขนานเท่านั้น อย่างไรก็ตาม การทำ Parallelization เป็นเรื่องยากที่จะให้เหตุผล ดังนั้นจึงมักจะเป็นประโยชน์มากกว่าสำหรับ Developer ที่จะทำการให้เหตุผลอย่างต่อเนื่องตามลำดับ และปล่อยให้ Parallelization เกิดขึ้นที่แบ็กเอนด์ ซึ่งรวมอยู่ในโมดูลเฉพาะที่สร้างขึ้นสำหรับการดำเนินการเฉพาะ
ความเร็วในการคำนวณเพิ่งจะเร็วมากจนทำให้ต้นทุนในการคำนวณของตรรกะทางธุรกิจกลายเป็นเรื่องเล็กน้อยอย่างแท้จริง ในโลกนี้ การปรับ VM ที่ใช้ตรรกะทางธุรกิจให้เหมาะสมเพื่อให้บรรลุเป้าหมายอื่นนอกเหนือจากประสิทธิภาพในการคำนวณ ได้แก่ ความเป็นมิตรของนักพัฒนา ความคุ้นเคย ความปลอดภัย และเป้าหมายอื่นๆ ที่คล้ายคลึงกัน ในขณะเดียวกัน โมดูล ตัวประมวลผลร่วม โดยเฉพาะสามารถยังคงได้รับการออกแบบให้มีประสิทธิภาพและได้รับความปลอดภัยและเป็นมิตรกับนักพัฒนาตั้งแต่ อินเทอร์เฟซ ที่ค่อนข้างเรียบง่ายไปจนถึงกาว
มีความชัดเจนมากขึ้นว่าการดำเนินการที่มีราคาแพงที่สุดที่สำคัญที่สุดคืออะไร สิ่งนี้เห็นได้ชัดเจนที่สุดในวิทยาการเข้ารหัสลับ ซึ่งการดำเนินการที่มีราคาแพงบางประเภทมีแนวโน้มที่จะถูกนำมาใช้มากที่สุด: การดำเนินการโมดูลัส การรวมเชิงเส้นของเส้นโค้งวงรี (หรือที่เรียกว่าการคูณหลายสเกลาร์) การแปลงฟูเรียร์ที่รวดเร็ว และอื่นๆ สิ่งนี้ยังเห็นได้ชัดเจนมากขึ้นเรื่อยๆ ในปัญญาประดิษฐ์ โดยที่เป็นเวลากว่าสองทศวรรษแล้วที่การคำนวณส่วนใหญ่เป็น การคูณเมทริกซ์เป็นส่วนใหญ่ (แม้ว่าจะมีระดับความแม่นยำที่แตกต่างกันก็ตาม) แนวโน้มที่คล้ายกันกำลังเกิดขึ้นในด้านอื่น ๆ มีสิ่งแปลกปลอมที่ไม่รู้จักในการประมวลผล (เน้นการประมวลผล) น้อยกว่าเมื่อ 20 ปีที่แล้วมาก
นั่นหมายความว่าอะไร?
ประเด็นสำคัญคือกาวควรได้รับการปรับให้เหมาะสมเพื่อเป็นกาวที่ดีและตัวประมวลผลร่วมควรได้รับการปรับให้เหมาะสมเพื่อให้เป็นตัวประมวลผลร่วมที่ดี เราสามารถสำรวจความหมายของสิ่งนี้ได้ในหลายประเด็นสำคัญ
อีวีเอ็ม
เครื่องเสมือนบล็อคเชน (เช่น EVM) ไม่จำเป็นต้องมีประสิทธิภาพ เพียงแค่คุ้นเคยเท่านั้น เพียงเพิ่มตัวประมวลผลร่วมที่เหมาะสม (หรือที่เรียกว่า การคอมไพล์ล่วงหน้า) การคำนวณใน VM ที่ไม่มีประสิทธิภาพจะมีประสิทธิภาพเทียบเท่ากับการคำนวณใน VM ที่มีประสิทธิภาพโดยกำเนิด ตัวอย่างเช่น ค่าใช้จ่ายที่เกิดขึ้นจากการลงทะเบียน 256 บิตของ EVM นั้นค่อนข้างน้อย ในขณะที่ประโยชน์ของความคุ้นเคยของ EVM และระบบนิเวศของนักพัฒนาที่มีอยู่นั้นมีความสำคัญและยาวนาน ทีมพัฒนาที่เพิ่มประสิทธิภาพ EVM ยังพบว่าการขาดการทำงานแบบขนานมักไม่ใช่อุปสรรคสำคัญต่อความสามารถในการขยายขนาด
วิธีที่ดีที่สุดในการปรับปรุง EVM อาจเป็น (i) เพิ่ม opcode ที่คอมไพล์แล้วหรือเฉพาะทางที่ดีขึ้น เช่น การรวมกันของ EVM-MAX และ SIMD อาจสมเหตุสมผล และ (ii) ปรับปรุงเค้าโครงหน่วยความจำ เช่น Verkle tree การเปลี่ยนแปลง ผลข้างเคียงจะช่วยลดต้นทุนในการเข้าถึงช่องจัดเก็บข้อมูลที่อยู่ติดกันได้อย่างมาก
การเพิ่มประสิทธิภาพพื้นที่เก็บข้อมูลในข้อเสนอแผนผัง Ethereum Verkle ที่วางคีย์พื้นที่เก็บข้อมูลที่อยู่ติดกันไว้ด้วยกัน และปรับต้นทุนก๊าซเพื่อสะท้อนสิ่งนี้ การเพิ่มประสิทธิภาพเช่นนี้ ควบคู่ไปกับการคอมไพล์ล่วงหน้าที่ดีขึ้น อาจมีความสำคัญมากกว่าการปรับแต่ง EVM เอง
คอมพิวเตอร์ที่ปลอดภัยและฮาร์ดแวร์แบบเปิด
หนึ่งในความท้าทายในการปรับปรุงความปลอดภัยในการประมวลผลสมัยใหม่ในระดับฮาร์ดแวร์คือลักษณะที่ซับซ้อนและเป็นเจ้าของมากเกินไป: ชิปได้รับการออกแบบให้มีประสิทธิภาพ ซึ่งต้องมีการเพิ่มประสิทธิภาพที่เป็นกรรมสิทธิ์ แบ็คดอร์นั้นซ่อนได้ง่ายและมีการค้นพบช่องโหว่ของช่องทางด้านข้างอยู่ตลอดเวลา
ความพยายามยังคงผลักดันให้เกิดทางเลือกที่เปิดกว้างและปลอดภัยมากขึ้นจากหลายมุม การประมวลผลบางอย่างมีการดำเนินการมากขึ้นในสภาพแวดล้อมการดำเนินการที่เชื่อถือได้ รวมถึงบนโทรศัพท์ของผู้ใช้ ซึ่งได้ปรับปรุงความปลอดภัยของผู้ใช้ การผลักดันให้มีฮาร์ดแวร์โอเพ่นซอร์สสำหรับผู้บริโภคเพิ่มมากขึ้นยังคงดำเนินต่อไป ด้วยชัยชนะล่าสุดเช่นแล็ปท็อป RISC-V ที่ใช้ Ubuntu
แล็ปท็อป RISC-V ที่ใช้ Debian
อย่างไรก็ตาม ประสิทธิภาพยังคงเป็นปัญหาอยู่ ผู้เขียนบทความที่เชื่อมโยงข้างต้นเขียนว่า:
การออกแบบชิปโอเพ่นซอร์สรุ่นใหม่อย่าง RISC-V ไม่น่าจะแข่งขันกับเทคโนโลยีโปรเซสเซอร์ที่มีอยู่แล้วและได้รับการปรับปรุงมานานหลายทศวรรษ ความก้าวหน้าย่อมมีจุดเริ่มต้นเสมอ
แนวคิดที่หวาดระแวงมากขึ้น เช่น การออกแบบการสร้างคอมพิวเตอร์ RISC-V บน FPGA ต้องเผชิญกับค่าใช้จ่ายที่มากขึ้น แต่จะเกิดอะไรขึ้นถ้าการติดกาวและสถาปัตยกรรมตัวประมวลผลร่วมหมายความว่าค่าใช้จ่ายนี้ไม่สำคัญจริงๆ หากเรายอมรับว่าชิปแบบเปิดและปลอดภัยจะช้ากว่าชิปที่เป็นกรรมสิทธิ์ แม้จะละทิ้งการปรับให้เหมาะสมทั่วไป เช่น การดำเนินการเชิงเก็งกำไรและการทำนายสาขาหากจำเป็น แต่พยายามชดเชยสิ่งนี้ด้วยการเพิ่มโมดูล ASIC (หากจำเป็น เป็นกรรมสิทธิ์) ที่ใช้ใน Intensive ส่วนใหญ่ การคำนวณเฉพาะประเภท แล้วไงล่ะ? การคำนวณที่ละเอียดอ่อนสามารถทำได้ใน ชิปหลัก ซึ่งจะได้รับการปรับให้เหมาะสมเพื่อความปลอดภัย การออกแบบโอเพ่นซอร์ส และการต้านทานช่องสัญญาณด้านข้าง การคำนวณที่เข้มข้นยิ่งขึ้น (เช่น การพิสูจน์ ZK, AI) จะดำเนินการในโมดูล ASIC ซึ่งจะทราบข้อมูลน้อยลงเกี่ยวกับการคำนวณที่กำลังดำเนินการ (อาจเป็นไปได้ผ่านการปกปิดการเข้ารหัส หรือแม้แต่ข้อมูลเป็นศูนย์ในบางกรณี)
การเข้ารหัส
ประเด็นสำคัญอีกประการหนึ่งคือทั้งหมดนี้ถือเป็นแง่ดีอย่างมากเกี่ยวกับการเข้ารหัส โดยเฉพาะอย่างยิ่งการเข้ารหัสแบบตั้งโปรแกรมได้ซึ่งกลายเป็นกระแสหลัก เราได้เห็นการใช้งานการคำนวณที่มีโครงสร้างสูงบางอย่างใน SNARK, MPC และการตั้งค่าอื่นๆ ที่ได้รับการปรับให้เหมาะสมเป็นพิเศษ: ฟังก์ชันแฮชบางอย่างมีราคาแพงกว่าการรันการคำนวณโดยตรงเพียงไม่กี่ร้อยเท่า และปัญญาประดิษฐ์ (โดยหลักคือการคูณเมทริกซ์) ก็ต่ำมากเช่นกัน การปรับปรุงเพิ่มเติม เช่น GKR อาจลดระดับนี้ลงไปอีก การดำเนินการ VM ทั่วไปโดยสมบูรณ์ โดยเฉพาะอย่างยิ่งเมื่อดำเนินการในล่าม RISC-V อาจยังคงมีค่าใช้จ่ายเพิ่มขึ้นประมาณหมื่นเท่า แต่ด้วยเหตุผลที่อธิบายไว้ในบทความนี้ สิ่งนี้ไม่สำคัญ: ตราบใดที่ใช้เทคนิคพิเศษที่มีประสิทธิภาพตามลำดับ ด้วยการจัดการชิ้นส่วนที่ต้องใช้การคำนวณมากที่สุด ทำให้สามารถควบคุมต้นทุนโดยรวมได้
แผนภาพแบบง่ายของ MPC สำหรับการคูณเมทริกซ์โดยเฉพาะ ซึ่งเป็นองค์ประกอบที่ใหญ่ที่สุดในการอนุมานโมเดล AI ดูบทความนี้สำหรับรายละเอียดเพิ่มเติม รวมถึงวิธีรักษาโมเดลและอินพุตของคุณให้เป็นส่วนตัว
ข้อยกเว้นสำหรับแนวคิดที่ว่า เลเยอร์กาวจำเป็นต้องคุ้นเคยเท่านั้น แต่ไม่ได้มีประสิทธิภาพ คือความหน่วงแฝงและแบนด์วิดท์ข้อมูลในระดับที่น้อยกว่า หากการคำนวณเกี่ยวข้องกับการดำเนินการหนักกับข้อมูลเดียวกันหลายสิบครั้ง (เช่นในการเข้ารหัสและปัญญาประดิษฐ์) ความล่าช้าใดๆ ที่เกิดจากชั้นกาวที่ไม่มีประสิทธิภาพก็อาจกลายเป็นปัญหาคอขวดที่สำคัญในรันไทม์ได้ ดังนั้นหลักสูตรการใช้กาวจึงมีข้อกำหนดด้านประสิทธิภาพด้วย แม้ว่าข้อกำหนดเหล่านี้จะมีความเฉพาะเจาะจงมากกว่าก็ตาม
สรุปแล้ว
โดยรวมแล้ว ฉันคิดว่าแนวโน้มข้างต้นเป็นการพัฒนาเชิงบวกมากจากหลายมุมมอง ประการแรก นี่เป็นวิธีที่สมเหตุสมผลในการเพิ่มประสิทธิภาพการคำนวณให้สูงสุดในขณะที่ยังคงเป็นมิตรกับนักพัฒนา และการได้รับทั้งสองอย่างมากขึ้นนั้นดีสำหรับทุกคน โดยเฉพาะอย่างยิ่ง จะปรับปรุงความสามารถของเราในการรันการคำนวณที่ละเอียดอ่อนและต้องการประสิทธิภาพ (เช่น การพิสูจน์ ZK, การอนุมาน LLM) ภายในฮาร์ดแวร์ของผู้ใช้โดยเปิดใช้งานความเชี่ยวชาญเฉพาะทางในฝั่งไคลเอ็นต์เพื่อประสิทธิภาพที่มากขึ้น ประการที่สอง สร้างโอกาสอันยิ่งใหญ่เพื่อให้แน่ใจว่าการแสวงหาประสิทธิภาพจะไม่กระทบต่อคุณค่าอื่นๆ โดยเฉพาะอย่างยิ่งความปลอดภัย ความเปิดกว้าง และความเรียบง่าย: การรักษาความปลอดภัยช่องทางด้านข้างและความเปิดกว้างในฮาร์ดแวร์คอมพิวเตอร์ ลดความซับซ้อนของวงจรใน ZK-SNARK และลด ความซับซ้อนในเครื่องเสมือน ในอดีต การแสวงหาประสิทธิภาพทำให้ปัจจัยอื่นๆ เหล่านี้ต้องกลายเป็นเรื่องรอง ด้วยสถาปัตยกรรมกาวและตัวประมวลผลร่วม จึงไม่จำเป็นต้องใช้อีกต่อไป ส่วนหนึ่งของเครื่องจักรปรับประสิทธิภาพให้เหมาะสม อีกส่วนหนึ่งปรับความคล่องตัวและคุณค่าอื่นๆ ให้เหมาะสม และทั้งสองทำงานร่วมกัน
แนวโน้มนี้ยังดีมากสำหรับการเข้ารหัส ซึ่งเป็นตัวอย่างสำคัญของ การคำนวณที่มีโครงสร้างราคาแพง และแนวโน้มนี้ช่วยเร่งแนวโน้มนี้ นี่เป็นการเพิ่มโอกาสในการปรับปรุงความปลอดภัยอีกครั้ง การรักษาความปลอดภัยที่ได้รับการปรับปรุงยังเป็นไปได้ในโลกบล็อกเชน: เราสามารถกังวลน้อยลงเกี่ยวกับการเพิ่มประสิทธิภาพเครื่องเสมือน และมุ่งเน้นไปที่การเพิ่มประสิทธิภาพการคอมไพล์ล่วงหน้าและคุณสมบัติอื่น ๆ ที่มีอยู่ร่วมกับเครื่องเสมือนให้เหมาะสมมากขึ้น
ประการที่สาม เทรนด์นี้เปิดโอกาสให้ผู้เล่นรายเล็กและใหม่กว่าได้เข้าร่วม หากการประมวลผลกลายเป็นเสาหินน้อยลงและเป็นแบบโมดูลาร์มากขึ้น สิ่งนี้จะลดอุปสรรคในการเข้าสู่ตลาดลงอย่างมาก แม้แต่การใช้ ASIC การคำนวณประเภทเดียวก็สามารถสร้างความแตกต่างได้ เช่นเดียวกับในด้านการพิสูจน์ ZK และการเพิ่มประสิทธิภาพ EVM การเขียนโค้ดที่มีประสิทธิภาพใกล้ล้ำหน้ากลายเป็นเรื่องง่ายและเข้าถึงได้มากขึ้น การตรวจสอบและยืนยันรหัสดังกล่าวอย่างเป็นทางการจะง่ายขึ้นและเข้าถึงได้มากขึ้น สุดท้ายนี้ เนื่องจากพื้นที่การประมวลผลที่แตกต่างกันมากเหล่านี้มาบรรจบกันในรูปแบบทั่วไปบางประการ จึงมีพื้นที่มากขึ้นสำหรับการทำงานร่วมกันและการเรียนรู้ระหว่างกัน