EVM (Ethereum Virtual Machine) เป็นแกนหลักของ Ethereum และรับผิดชอบในการเรียกใช้สัญญาอัจฉริยะและประมวลผลธุรกรรม
โดยทั่วไปเครื่องเสมือนจะใช้เพื่อจําลองเสมือนคอมพิวเตอร์จริง โดยทั่วไปจะใช้ "ไฮเปอร์ไวเซอร์" (เช่น VirtualBox) หรืออินสแตนซ์ระบบปฏิบัติการทั้งหมด (เช่น KVM สําหรับ Linux) พวกเขาจะต้องให้ซอฟต์แวร์ที่เป็นนามธรรมของฮาร์ดแวร์จริงการเรียกระบบและฟังก์ชั่นเคอร์เนลอื่น ๆ ตามลําดับ
EVM ทํางานในโดเมนที่ จํากัด มากขึ้น: เป็นเพียงเอ็นจิ้นคอมพิวเตอร์ดังนั้นจึงมีสิ่งที่เป็นนามธรรมสําหรับการคํานวณและการจัดเก็บคล้ายกับข้อกําหนด Java Virtual Machine (JVM) จากมุมมองระดับสูง JVM ได้รับการออกแบบมาเพื่อให้สภาพแวดล้อมรันไทม์ที่เป็นอิสระจากระบบปฏิบัติการโฮสต์หรือฮาร์ดแวร์พื้นฐานจึงเปิดใช้งานความเข้ากันได้ในระบบต่างๆ ในทํานองเดียวกัน EVM จะดําเนินการชุดคําสั่ง bytecode ของตัวเองซึ่งโดยทั่วไปจะรวบรวมโดย Solidity
EVM เป็นเครื่องสถานะกึ่งทัวริงที่สมบูรณ์ มันเป็น "กึ่ง" เนื่องจากขั้นตอนการดําเนินการทั้งหมดใช้ทรัพยากรที่ จํากัด ก๊าซดังนั้นการดําเนินการสัญญาอัจฉริยะใด ๆ ที่กําหนดจะถูก จํากัด ไว้ที่ขั้นตอนการคํานวณจํานวน จํากัด เพื่อหลีกเลี่ยงข้อผิดพลาดที่อาจเกิดขึ้นในกระบวนการดําเนินการ ลูปที่ไม่มีที่สิ้นสุดทําให้แพลตฟอร์ม Ethereum ทั้งหมดหยุดลง
EVM ไม่มีฟังก์ชันการจัดกําหนดการ โมดูลการดําเนินการของ Ethereum จะทําธุรกรรมทีละรายการจากบล็อกและ EVM มีหน้าที่รับผิดชอบในการดําเนินการตามลําดับ สถานะโลกล่าสุดจะได้รับการแก้ไขในระหว่างกระบวนการดําเนินการ หลังจากดําเนินการธุรกรรมแล้วรัฐจะถูกสะสมเพื่อเข้าถึงสถานะโลกล่าสุดหลังจากบล็อกเสร็จสมบูรณ์ การดําเนินการของบล็อกถัดไปอย่างเคร่งครัดขึ้นอยู่กับสถานะโลกหลังจากการดําเนินการของบล็อกก่อนหน้าดังนั้นกระบวนการดําเนินการเชิงเส้นของธุรกรรมของ Ethereum จึงไม่สามารถปรับให้เหมาะสมสําหรับการดําเนินการแบบขนานได้
ในแง่นี้โปรโตคอล Ethereum กําหนดให้ธุรกรรมจะดําเนินการตามลําดับ ในขณะที่การดําเนินการตามลําดับช่วยให้มั่นใจได้ว่าธุรกรรมและสัญญาอัจฉริยะสามารถดําเนินการได้ตามลําดับที่กําหนดรับประกันความปลอดภัย แต่ก็สามารถนําไปสู่ความแออัดของเครือข่ายและเวลาแฝงเมื่อต้องเผชิญกับภาระงานสูง นี่คือเหตุผลที่ Ethereum มีปัญหาคอขวดด้านประสิทธิภาพที่สําคัญและต้องใช้ Layer2 Rollup สําหรับการขยายกําลังการผลิต
เลเยอร์ 1 ประสิทธิภาพสูงส่วนใหญ่ออกแบบโซลูชันการเพิ่มประสิทธิภาพของตนเองโดยอิงจาก Ethereum ที่ไม่สามารถจัดการการประมวลผลแบบขนานได้ ที่นี่เราพูดถึงการเพิ่มประสิทธิภาพของเลเยอร์การดําเนินการนั่นคือเครื่องเสมือนและการดําเนินการแบบขนาน
EVM ได้รับการออกแบบให้เป็นเครื่องเสมือน 256 บิตเพื่อให้ง่ายต่อการประมวลผลอัลกอริทึมการแฮชของ Ethereum และจะสร้างเอาต์พุต 256 บิตอย่างชัดเจน อย่างไรก็ตามคอมพิวเตอร์ที่ใช้ EVM จริงจําเป็นต้องแมปไบต์ 256 บิตกับโครงสร้างท้องถิ่นเพื่อดําเนินการสัญญาอัจฉริยะทําให้ระบบทั้งหมดไม่มีประสิทธิภาพและไม่สามารถทําได้ ดังนั้นในแง่ของการเลือกเครื่องเสมือนเลเยอร์ 1 ประสิทธิภาพสูงจึงใช้เครื่องเสมือนตาม WASM, eBPF bytecode หรือ Move bytecode แทนที่จะเป็น EVM
WASM เป็นรูปแบบรหัสไบต์แบบพกพาขนาดกะทัดรัดโหลดเร็วโดยใช้กลไกความปลอดภัยแซนด์บ็อกซ์ นักพัฒนาสามารถใช้ภาษาการเขียนโปรแกรมหลายภาษา (C / C ++, Rust, Go, AssemblyScript, JavaScript ฯลฯ ) เพื่อเขียนสัญญาอัจฉริยะจากนั้นรวบรวมเป็นรหัสไบต์ WASM และดําเนินการ WASM ได้รับการยอมรับว่าเป็นมาตรฐานจากโครงการบล็อกเชนหลายแห่ง รวมถึง EOS, Dfinity, Polkadot (Gear), Cosmos (CosmWasm), Near เป็นต้น Ethereum จะรวม WASM ในอนาคตเพื่อให้แน่ใจว่าเลเยอร์การดําเนินการของ Ethereum มีประสิทธิภาพเรียบง่ายและเหมาะสมยิ่งขึ้นในฐานะแพลตฟอร์มคอมพิวเตอร์แบบกระจายอํานาจอย่างสมบูรณ์
eBPF เดิมชื่อ BPF (Berkeley Packet Filter) ถูกใช้ครั้งแรกสําหรับการกรองแพ็กเก็ตข้อมูลเครือข่ายอย่างมีประสิทธิภาพ หลังจากวิวัฒนาการมันก่อตัวเป็น eBPF โดยให้ชุดคําสั่งที่สมบูรณ์ยิ่งขึ้นช่วยให้การแทรกแซงแบบไดนามิกและการปรับเปลี่ยนเคอร์เนลของระบบปฏิบัติการโดยไม่ต้องเปลี่ยนซอร์สโค้ด ต่อมาเทคโนโลยีนี้พัฒนาจากเคอร์เนลเพื่อพัฒนารันไทม์ eBPF โหมดผู้ใช้ซึ่งมีประสิทธิภาพสูงปลอดภัยและพกพาได้ สัญญาอัจฉริยะทั้งหมดที่ดําเนินการบน Solana จะถูกรวบรวมเป็นไบต์โค้ด SBF (ตาม eBPF) และทํางานบนเครือข่ายบล็อกเชน
Move เป็นภาษาการเขียนโปรแกรมสัญญาอัจฉริยะใหม่ที่ออกแบบโดย Diem โดยเน้นที่ความยืดหยุ่นความปลอดภัยและการตรวจสอบได้ ภาษา Move มีจุดมุ่งหมายเพื่อแก้ปัญหาด้านความปลอดภัยในสินทรัพย์และธุรกรรมทําให้สินทรัพย์และธุรกรรมถูกกําหนดและควบคุมอย่างเคร่งครัด ตัวตรวจสอบ bytecode ของ Move เป็นเครื่องมือวิเคราะห์แบบคงที่ที่วิเคราะห์ Move bytecode และพิจารณาว่าเป็นไปตามกฎความปลอดภัยของประเภทหน่วยความจําและทรัพยากรที่ต้องการหรือไม่โดยไม่ต้องดําเนินการในระดับสัญญาอัจฉริยะและตรวจสอบที่รันไทม์ Aptos สืบทอด Diem Move ในขณะที่ Sui เขียนสัญญาอัจฉริยะผ่าน Sui Move เวอร์ชันที่กําหนดเอง
การดําเนินการแบบขนานในบล็อกเชนหมายถึงการประมวลผลธุรกรรมที่ไม่เกี่ยวข้องในเวลาเดียวกัน ปฏิบัติต่อธุรกรรมที่ไม่เกี่ยวข้องกันเป็นเหตุการณ์ที่ไม่ส่งผลกระทบต่อกันและกัน ตัวอย่างเช่นหากคนสองคนแลกเปลี่ยนโทเค็นในการแลกเปลี่ยนที่แตกต่างกันธุรกรรมของพวกเขาสามารถดําเนินการได้พร้อมกัน อย่างไรก็ตามหากมีการซื้อขายบนแพลตฟอร์มเดียวกันธุรกรรมอาจต้องดําเนินการในคําสั่งเฉพาะ
ความท้าทายหลักในการบรรลุการดําเนินการแบบขนานคือการพิจารณาว่าธุรกรรมใดไม่เกี่ยวข้องและเป็นอิสระ Layer1 ที่มีประสิทธิภาพสูงส่วนใหญ่อาศัยสองวิธี: วิธีการเข้าถึงสถานะและแบบจําลองคู่ขนานในแง่ดี
วิธีการเข้าถึงของรัฐจําเป็นต้องทราบล่วงหน้าว่าส่วนใดของสถานะบล็อกเชนที่แต่ละธุรกรรมสามารถเข้าถึงได้เพื่อวิเคราะห์ว่าธุรกรรมใดเป็นอิสระ โซลูชันที่เป็นตัวแทนคือ Solana และ Sui
ใน Solana โปรแกรม (สัญญาอัจฉริยะ) เป็นแบบไร้สถานะเนื่องจากไม่สามารถเข้าถึง (อ่านหรือเขียน) สถานะถาวรใด ๆ ตลอดกระบวนการทําธุรกรรม ในการเข้าถึงหรือรักษาสถานะโปรแกรมจําเป็นต้องใช้บัญชี แต่ละธุรกรรมใน Solana ต้องระบุว่าบัญชีใดจะเข้าถึงได้ในระหว่างการดําเนินการธุรกรรม ดังนั้นรันไทม์การประมวลผลธุรกรรมจึงสามารถกําหนดเวลาธุรกรรมที่ไม่ทับซ้อนกันสําหรับการดําเนินการแบบขนาน เพื่อให้มั่นใจว่าข้อมูลจะสอดคล้องกันในเวลาเดียวกัน
ใน Sui Move สัญญาอัจฉริยะแต่ละสัญญาเป็นโมดูลซึ่งประกอบด้วยคําจํากัดความของฟังก์ชันและโครงสร้าง โครงสร้างถูกสร้างอินสแตนซ์ในฟังก์ชันและสามารถส่งผ่านไปยังโมดูลอื่น ๆ ผ่านการเรียกฟังก์ชัน อินสแตนซ์โครงสร้างที่จัดเก็บในรันไทม์ทําหน้าที่เป็นออบเจ็กต์ Sui มีวัตถุสามประเภทที่แตกต่างกัน: วัตถุเจ้าของวัตถุที่ใช้ร่วมกันและวัตถุที่ไม่เปลี่ยนรูป กลยุทธ์การขนานของ Sui นั้นคล้ายกับของ Solana เนื่องจากธุรกรรมยังต้องระบุอ็อบเจ็กต์ที่จะดําเนินการ
แบบจําลองคู่ขนานในแง่ดีดําเนินการภายใต้สมมติฐานที่ว่าธุรกรรมทั้งหมดมีความเป็นอิสระตรวจสอบสมมติฐานนี้ย้อนหลังและทําการปรับเปลี่ยนเมื่อจําเป็น โซลูชันที่เป็นตัวแทนคือ Aptos
Aptos ใช้เมธอด Block-STM (Block Software Transactional Memory) เพื่อใช้การดําเนินการแบบขนานในแง่ดี ใน Block-STM ธุรกรรมจะถูกตั้งค่าเป็นลําดับแรกภายในบล็อก จากนั้นจึงแยกระหว่างเธรดการประมวลผลต่างๆ สําหรับการดําเนินการพร้อมกัน ในขณะที่ประมวลผลธุรกรรมเหล่านี้ระบบจะติดตามตําแหน่งหน่วยความจําที่เปลี่ยนแปลงโดยแต่ละธุรกรรม หลังจากการประมวลผลแต่ละรอบระบบจะตรวจสอบผลการทําธุรกรรมทั้งหมด หากพบว่าธุรกรรมแตะตําแหน่งหน่วยความจําที่เปลี่ยนแปลงโดยธุรกรรมก่อนหน้านี้ธุรกรรมจะลบผลลัพธ์และเรียกใช้อีกครั้ง กระบวนการนี้ดําเนินต่อไปจนกว่าทุกธุรกรรมในบล็อกจะได้รับการประมวลผล
Parallel EVM ถูกนําขึ้นมาครั้งแรกในปี 2021 ในเวลานั้นอ้างถึง EVM ที่รองรับการประมวลผลธุรกรรมหลายรายการพร้อมกันโดยมีเป้าหมายเพื่อปรับปรุงประสิทธิภาพและประสิทธิภาพของ EVM ที่มีอยู่ โซลูชันที่เป็นตัวแทนได้แก่ EVM แบบขนานของ Polygon ที่ใช้ Block-STM และ EVM แบบขนานที่พัฒนาร่วมกันโดย BSC และ NodeReal
อย่างไรก็ตาม เมื่อปลายปี 2023 Georgios Konstantopoulos, CTO of Paradigm และ Haseeb Qureshi แห่ง Dragonfly ได้กล่าวถึง EVM แบบขนานโดยบังเอิญในขณะที่ดูแนวโน้มสําหรับปี 2024 จุดประกายคลื่นของ Layer1s ที่เข้ากันได้กับ EVM ซึ่งใช้เทคโนโลยีการดําเนินการแบบขนาน รวมถึง Monand และ Sei V2
ปัจจุบัน Neon โซลูชันที่เข้ากันได้กับ EVM บน Solana, Layer2 Rollup Eclipse ของ SVM (Solana Virtual Machine) ของ Ethereum, Layer2 Rollup Lumio ของ Ethereum's Move Virtual Machine และเลเยอร์การดําเนินการแบบแยกส่วน Layer1 Fuel ได้รับการติดแท็กด้วย EVM แบบขนานทําให้ค่อนข้างสับสน
ฉันคิดว่ามีเพียงสามประเภทต่อไปนี้ที่สามารถกําหนดได้อย่างสมเหตุสมผลว่าเป็น EVM แบบขนาน:
จําเป็นต้องพูด BSC และ Polygon เป็นเลเยอร์ 1 ที่เข้ากันได้กับ EVM กระแสหลักที่สุด นี่คือคําแนะนําสั้น ๆ เกี่ยวกับ Monand, Sei V2, Artela และ Solana Neon
Monad เป็นเลเยอร์ 1 ที่เข้ากันได้กับ EVM ประสิทธิภาพสูงโดยใช้กลไก PoS ซึ่งออกแบบมาเพื่อเพิ่มความสามารถในการปรับขนาดและความเร็วในการทําธุรกรรมผ่านการดําเนินการแบบขนาน Monad Labs ก่อตั้งโดย Keone Hon อดีตหัวหน้าฝ่ายวิจัยที่ Jump Trading Monads อนุญาตให้ทําธุรกรรมแบบคู่ขนานภายในบล็อกเพื่อเพิ่มประสิทธิภาพ ใช้รูปแบบความคล้ายคลึงกันในแง่ดีและเริ่มดําเนินการธุรกรรมใหม่ก่อนที่การดําเนินการของขั้นตอนก่อนหน้าจะเสร็จสมบูรณ์ เพื่อรับมือกับผลลัพธ์ที่ไม่ถูกต้อง Monad จะติดตามอินพุต/เอาต์พุตและทําธุรกรรมที่ไม่สอดคล้องกันอีกครั้ง ตัวแยกวิเคราะห์รหัสแบบคงที่สามารถทํานายการพึ่งพาหลีกเลี่ยงความขนานที่ไม่มีประสิทธิภาพและเปลี่ยนกลับเป็นโหมดธรรมดาในช่วงเวลาแห่งความไม่แน่นอน การดําเนินการแบบขนานนี้จะเพิ่มปริมาณงานในขณะที่ลดโอกาสที่ธุรกรรมจะล้มเหลว
Sei เป็น Layer1 ที่พัฒนาขึ้นจาก Cosmos SDK ซึ่งเป็นเครือข่ายสาธารณะที่ออกแบบมาเป็นพิเศษสําหรับ DeFi สมาชิกของทีม Sei มีทั้งด้านเทคโนโลยีและภูมิหลังทางการเงินแบบดั้งเดิมโดยเคยทํางานที่ บริษัท ต่างๆเช่น Robinhood, Databricks, Airbnb และ Goldman Sachs Sei V2 เป็นการอัพเกรดครั้งใหญ่สําหรับเครือข่าย Sei โดยมีเป้าหมายที่จะเป็น EVM แบบขนานเต็มรูปแบบตัวแรก เช่นเดียวกับ Monand Sei V2 จะใช้การขนานในแง่ดี สิ่งนี้ทําให้บล็อกเชนสามารถทําธุรกรรมพร้อมกันได้โดยไม่ต้องมีนักพัฒนากําหนดการพึ่งพาใด ๆ เมื่อเกิดความขัดแย้งบล็อกเชนจะติดตามส่วนการจัดเก็บที่สัมผัสของแต่ละธุรกรรมและเรียกใช้ธุรกรรมเหล่านี้อีกครั้งตามลําดับ กระบวนการนี้ยังคงดําเนินต่อไปจนกว่าความขัดแย้งที่ยังไม่ได้รับการแก้ไขทั้งหมดจะได้รับการแก้ไข
Artela เป็นเครือข่ายบล็อกเชนที่ปรับขนาดได้ซึ่งช่วยให้นักพัฒนาสามารถสร้างแอปพลิเคชันแบบกระจายอํานาจ (dApps) ที่มีคุณสมบัติหลากหลายโดยมีสมาชิกหลักจาก AntChain EVM++ ของ Artela แสดงถึงความสามารถในการปรับขนาดสูง + EVM แบบขนานประสิทธิภาพสูง จะดําเนินการในสองขั้นตอนขั้นตอนแรกจะมุ่งเน้นไปที่การดําเนินการแบบขนาน จากการดําเนินการแบบขนานผ่านการประมวลผลแบบยืดหยุ่นทําให้มั่นใจได้ว่าพลังการประมวลผลของโหนดเครือข่ายสามารถปรับขนาดได้ในที่สุดก็บรรลุพื้นที่บล็อกที่ยืดหยุ่น การดําเนินการแบบขนานจะจัดกลุ่มธุรกรรมตามการวิเคราะห์ความขัดแย้งของการพึ่งพาธุรกรรมเพื่อรองรับการดําเนินการแบบขนาน
Solana Neon เป็นโซลูชันที่พัฒนาโดย Neon Labs สําหรับการทําธุรกรรม EVM บน Solana Neon EVM เป็นสัญญาอัจฉริยะบน Solana ซึ่งใช้ล่าม EVM ภายในสัญญาซึ่งรวบรวมไว้ใน SBF bytecode Neon EVM ใช้ชุดโมเดลธุรกรรม Ethereum และรูปแบบบัญชีเป็นการภายใน และผู้ใช้จะต้องจ่ายค่าธรรมเนียม EVM GAS เพื่อส่งธุรกรรมเท่านั้น ค่าธรรมเนียมของเครือข่าย Solana จะจ่ายโดย Neon Proxy Solana กําหนดให้ธุรกรรมต้องจัดเตรียมรายการบัญชีที่จําเป็นรวมถึงธุรกรรมที่ห่อหุ้มดังนั้นความรับผิดชอบของ Neon Proxy จึงรวมถึงการสร้างรายการบัญชีนี้และยังได้รับความสามารถในการดําเนินการธุรกรรมแบบขนานของ Solana
นอกจากนี้ เช่นเดียวกับ Solana Neon โซลูชันอื่นๆ ที่ใช้ EVM เป็นสัญญาอัจฉริยะเพื่อให้เข้ากันได้กับ EVM ได้แก่ Near Aurora และ EOS EVM+ ในทางทฤษฎี Aptos และ Sui สามารถใช้โซลูชันนี้เพื่อให้เกิดความเข้ากันได้กับ EVM ที่ไม่ล่วงล้ํา แต่ฉันไม่พบข้อมูลที่เกี่ยวข้อง (บางที Pontem กําลังทําเช่นนี้?) หากมีโครงการต่อเนื่องโปรดติดต่อฉันเพื่อเสริม ความเข้ากันได้ของ EVM ช่วยให้นักพัฒนาสามารถโยกย้ายแอปพลิเคชัน Ethereum ไปยังห่วงโซ่ได้อย่างง่ายดายโดยไม่ต้องทําการปรับเปลี่ยนที่สําคัญซึ่งเป็นทิศทางที่ดีสําหรับการสร้างระบบนิเวศ Aptos และ Sui
หัวข้อของเทคโนโลยีคู่ขนานในบล็อกเชนเป็นหัวข้อทั่วไปอยู่แล้ว โดยมีการเล่าเรื่องเกิดขึ้นเป็นครั้งคราว อย่างไรก็ตามในปัจจุบันจุดสนใจหลักคือการปรับเปลี่ยนและการเลียนแบบรูปแบบการดําเนินการในแง่ดีซึ่งแสดงโดยกลไก Block-STM ของ Aptos อย่างไรก็ตามหากไม่มีความก้าวหน้าที่สําคัญความร้อนก็ยากที่จะรักษาไว้
เมื่อมองไปข้างหน้าเราอาจคาดหวังว่าโครงการ Layer1 ที่เกิดขึ้นใหม่จะเข้าร่วมการแข่งขันสําหรับ EVM แบบขนาน นอกจากนี้ โครงการ Layer1 ที่มีอยู่บางโครงการอาจใช้การอัปเกรดแบบขนาน EVM หรือโซลูชันที่เข้ากันได้กับ EVM เส้นทางทั้งสองนี้นําไปสู่ผลลัพธ์ที่คล้ายคลึงกันซึ่งอาจก่อให้เกิดการเล่าเรื่องที่เกี่ยวข้องกับประสิทธิภาพมากขึ้น
อย่างไรก็ตามเมื่อเทียบกับการเล่าเรื่องของ EVM ประสิทธิภาพสูงฉันมีความหวังมากขึ้นสําหรับภูมิทัศน์บล็อกเชนที่หลากหลายซึ่งการเล่าเรื่องที่คล้ายกับ WASM, SVM และ Move VM เกิดขึ้น
บทความนี้ทําซ้ําจาก [小猪 Web3] ลิขสิทธิ์เป็นของผู้เขียนต้นฉบับ [ web3 朱大胆] หากคุณมีข้อคัดค้านใด ๆ ในการพิมพ์ซ้ําโปรดติดต่อ ทีม Gate Learn และทีมงานจะจัดการโดยเร็วที่สุดตามขั้นตอนที่เกี่ยวข้อง
ข้อจํากัดความรับผิดชอบ: มุมมองและความคิดเห็นที่แสดงในบทความนี้แสดงถึงมุมมองส่วนตัวของผู้เขียนเท่านั้นและไม่ถือเป็นคําแนะนําการลงทุนใด ๆ
บทความเวอร์ชันภาษาอื่น ๆ ได้รับการแปลโดยทีม Gate Learn และไม่ได้กล่าวถึงใน Gate.io บทความที่แปลแล้วไม่สามารถทําซ้ําแจกจ่ายหรือลอกเลียนแบบได้
EVM (Ethereum Virtual Machine) เป็นแกนหลักของ Ethereum และรับผิดชอบในการเรียกใช้สัญญาอัจฉริยะและประมวลผลธุรกรรม
โดยทั่วไปเครื่องเสมือนจะใช้เพื่อจําลองเสมือนคอมพิวเตอร์จริง โดยทั่วไปจะใช้ "ไฮเปอร์ไวเซอร์" (เช่น VirtualBox) หรืออินสแตนซ์ระบบปฏิบัติการทั้งหมด (เช่น KVM สําหรับ Linux) พวกเขาจะต้องให้ซอฟต์แวร์ที่เป็นนามธรรมของฮาร์ดแวร์จริงการเรียกระบบและฟังก์ชั่นเคอร์เนลอื่น ๆ ตามลําดับ
EVM ทํางานในโดเมนที่ จํากัด มากขึ้น: เป็นเพียงเอ็นจิ้นคอมพิวเตอร์ดังนั้นจึงมีสิ่งที่เป็นนามธรรมสําหรับการคํานวณและการจัดเก็บคล้ายกับข้อกําหนด Java Virtual Machine (JVM) จากมุมมองระดับสูง JVM ได้รับการออกแบบมาเพื่อให้สภาพแวดล้อมรันไทม์ที่เป็นอิสระจากระบบปฏิบัติการโฮสต์หรือฮาร์ดแวร์พื้นฐานจึงเปิดใช้งานความเข้ากันได้ในระบบต่างๆ ในทํานองเดียวกัน EVM จะดําเนินการชุดคําสั่ง bytecode ของตัวเองซึ่งโดยทั่วไปจะรวบรวมโดย Solidity
EVM เป็นเครื่องสถานะกึ่งทัวริงที่สมบูรณ์ มันเป็น "กึ่ง" เนื่องจากขั้นตอนการดําเนินการทั้งหมดใช้ทรัพยากรที่ จํากัด ก๊าซดังนั้นการดําเนินการสัญญาอัจฉริยะใด ๆ ที่กําหนดจะถูก จํากัด ไว้ที่ขั้นตอนการคํานวณจํานวน จํากัด เพื่อหลีกเลี่ยงข้อผิดพลาดที่อาจเกิดขึ้นในกระบวนการดําเนินการ ลูปที่ไม่มีที่สิ้นสุดทําให้แพลตฟอร์ม Ethereum ทั้งหมดหยุดลง
EVM ไม่มีฟังก์ชันการจัดกําหนดการ โมดูลการดําเนินการของ Ethereum จะทําธุรกรรมทีละรายการจากบล็อกและ EVM มีหน้าที่รับผิดชอบในการดําเนินการตามลําดับ สถานะโลกล่าสุดจะได้รับการแก้ไขในระหว่างกระบวนการดําเนินการ หลังจากดําเนินการธุรกรรมแล้วรัฐจะถูกสะสมเพื่อเข้าถึงสถานะโลกล่าสุดหลังจากบล็อกเสร็จสมบูรณ์ การดําเนินการของบล็อกถัดไปอย่างเคร่งครัดขึ้นอยู่กับสถานะโลกหลังจากการดําเนินการของบล็อกก่อนหน้าดังนั้นกระบวนการดําเนินการเชิงเส้นของธุรกรรมของ Ethereum จึงไม่สามารถปรับให้เหมาะสมสําหรับการดําเนินการแบบขนานได้
ในแง่นี้โปรโตคอล Ethereum กําหนดให้ธุรกรรมจะดําเนินการตามลําดับ ในขณะที่การดําเนินการตามลําดับช่วยให้มั่นใจได้ว่าธุรกรรมและสัญญาอัจฉริยะสามารถดําเนินการได้ตามลําดับที่กําหนดรับประกันความปลอดภัย แต่ก็สามารถนําไปสู่ความแออัดของเครือข่ายและเวลาแฝงเมื่อต้องเผชิญกับภาระงานสูง นี่คือเหตุผลที่ Ethereum มีปัญหาคอขวดด้านประสิทธิภาพที่สําคัญและต้องใช้ Layer2 Rollup สําหรับการขยายกําลังการผลิต
เลเยอร์ 1 ประสิทธิภาพสูงส่วนใหญ่ออกแบบโซลูชันการเพิ่มประสิทธิภาพของตนเองโดยอิงจาก Ethereum ที่ไม่สามารถจัดการการประมวลผลแบบขนานได้ ที่นี่เราพูดถึงการเพิ่มประสิทธิภาพของเลเยอร์การดําเนินการนั่นคือเครื่องเสมือนและการดําเนินการแบบขนาน
EVM ได้รับการออกแบบให้เป็นเครื่องเสมือน 256 บิตเพื่อให้ง่ายต่อการประมวลผลอัลกอริทึมการแฮชของ Ethereum และจะสร้างเอาต์พุต 256 บิตอย่างชัดเจน อย่างไรก็ตามคอมพิวเตอร์ที่ใช้ EVM จริงจําเป็นต้องแมปไบต์ 256 บิตกับโครงสร้างท้องถิ่นเพื่อดําเนินการสัญญาอัจฉริยะทําให้ระบบทั้งหมดไม่มีประสิทธิภาพและไม่สามารถทําได้ ดังนั้นในแง่ของการเลือกเครื่องเสมือนเลเยอร์ 1 ประสิทธิภาพสูงจึงใช้เครื่องเสมือนตาม WASM, eBPF bytecode หรือ Move bytecode แทนที่จะเป็น EVM
WASM เป็นรูปแบบรหัสไบต์แบบพกพาขนาดกะทัดรัดโหลดเร็วโดยใช้กลไกความปลอดภัยแซนด์บ็อกซ์ นักพัฒนาสามารถใช้ภาษาการเขียนโปรแกรมหลายภาษา (C / C ++, Rust, Go, AssemblyScript, JavaScript ฯลฯ ) เพื่อเขียนสัญญาอัจฉริยะจากนั้นรวบรวมเป็นรหัสไบต์ WASM และดําเนินการ WASM ได้รับการยอมรับว่าเป็นมาตรฐานจากโครงการบล็อกเชนหลายแห่ง รวมถึง EOS, Dfinity, Polkadot (Gear), Cosmos (CosmWasm), Near เป็นต้น Ethereum จะรวม WASM ในอนาคตเพื่อให้แน่ใจว่าเลเยอร์การดําเนินการของ Ethereum มีประสิทธิภาพเรียบง่ายและเหมาะสมยิ่งขึ้นในฐานะแพลตฟอร์มคอมพิวเตอร์แบบกระจายอํานาจอย่างสมบูรณ์
eBPF เดิมชื่อ BPF (Berkeley Packet Filter) ถูกใช้ครั้งแรกสําหรับการกรองแพ็กเก็ตข้อมูลเครือข่ายอย่างมีประสิทธิภาพ หลังจากวิวัฒนาการมันก่อตัวเป็น eBPF โดยให้ชุดคําสั่งที่สมบูรณ์ยิ่งขึ้นช่วยให้การแทรกแซงแบบไดนามิกและการปรับเปลี่ยนเคอร์เนลของระบบปฏิบัติการโดยไม่ต้องเปลี่ยนซอร์สโค้ด ต่อมาเทคโนโลยีนี้พัฒนาจากเคอร์เนลเพื่อพัฒนารันไทม์ eBPF โหมดผู้ใช้ซึ่งมีประสิทธิภาพสูงปลอดภัยและพกพาได้ สัญญาอัจฉริยะทั้งหมดที่ดําเนินการบน Solana จะถูกรวบรวมเป็นไบต์โค้ด SBF (ตาม eBPF) และทํางานบนเครือข่ายบล็อกเชน
Move เป็นภาษาการเขียนโปรแกรมสัญญาอัจฉริยะใหม่ที่ออกแบบโดย Diem โดยเน้นที่ความยืดหยุ่นความปลอดภัยและการตรวจสอบได้ ภาษา Move มีจุดมุ่งหมายเพื่อแก้ปัญหาด้านความปลอดภัยในสินทรัพย์และธุรกรรมทําให้สินทรัพย์และธุรกรรมถูกกําหนดและควบคุมอย่างเคร่งครัด ตัวตรวจสอบ bytecode ของ Move เป็นเครื่องมือวิเคราะห์แบบคงที่ที่วิเคราะห์ Move bytecode และพิจารณาว่าเป็นไปตามกฎความปลอดภัยของประเภทหน่วยความจําและทรัพยากรที่ต้องการหรือไม่โดยไม่ต้องดําเนินการในระดับสัญญาอัจฉริยะและตรวจสอบที่รันไทม์ Aptos สืบทอด Diem Move ในขณะที่ Sui เขียนสัญญาอัจฉริยะผ่าน Sui Move เวอร์ชันที่กําหนดเอง
การดําเนินการแบบขนานในบล็อกเชนหมายถึงการประมวลผลธุรกรรมที่ไม่เกี่ยวข้องในเวลาเดียวกัน ปฏิบัติต่อธุรกรรมที่ไม่เกี่ยวข้องกันเป็นเหตุการณ์ที่ไม่ส่งผลกระทบต่อกันและกัน ตัวอย่างเช่นหากคนสองคนแลกเปลี่ยนโทเค็นในการแลกเปลี่ยนที่แตกต่างกันธุรกรรมของพวกเขาสามารถดําเนินการได้พร้อมกัน อย่างไรก็ตามหากมีการซื้อขายบนแพลตฟอร์มเดียวกันธุรกรรมอาจต้องดําเนินการในคําสั่งเฉพาะ
ความท้าทายหลักในการบรรลุการดําเนินการแบบขนานคือการพิจารณาว่าธุรกรรมใดไม่เกี่ยวข้องและเป็นอิสระ Layer1 ที่มีประสิทธิภาพสูงส่วนใหญ่อาศัยสองวิธี: วิธีการเข้าถึงสถานะและแบบจําลองคู่ขนานในแง่ดี
วิธีการเข้าถึงของรัฐจําเป็นต้องทราบล่วงหน้าว่าส่วนใดของสถานะบล็อกเชนที่แต่ละธุรกรรมสามารถเข้าถึงได้เพื่อวิเคราะห์ว่าธุรกรรมใดเป็นอิสระ โซลูชันที่เป็นตัวแทนคือ Solana และ Sui
ใน Solana โปรแกรม (สัญญาอัจฉริยะ) เป็นแบบไร้สถานะเนื่องจากไม่สามารถเข้าถึง (อ่านหรือเขียน) สถานะถาวรใด ๆ ตลอดกระบวนการทําธุรกรรม ในการเข้าถึงหรือรักษาสถานะโปรแกรมจําเป็นต้องใช้บัญชี แต่ละธุรกรรมใน Solana ต้องระบุว่าบัญชีใดจะเข้าถึงได้ในระหว่างการดําเนินการธุรกรรม ดังนั้นรันไทม์การประมวลผลธุรกรรมจึงสามารถกําหนดเวลาธุรกรรมที่ไม่ทับซ้อนกันสําหรับการดําเนินการแบบขนาน เพื่อให้มั่นใจว่าข้อมูลจะสอดคล้องกันในเวลาเดียวกัน
ใน Sui Move สัญญาอัจฉริยะแต่ละสัญญาเป็นโมดูลซึ่งประกอบด้วยคําจํากัดความของฟังก์ชันและโครงสร้าง โครงสร้างถูกสร้างอินสแตนซ์ในฟังก์ชันและสามารถส่งผ่านไปยังโมดูลอื่น ๆ ผ่านการเรียกฟังก์ชัน อินสแตนซ์โครงสร้างที่จัดเก็บในรันไทม์ทําหน้าที่เป็นออบเจ็กต์ Sui มีวัตถุสามประเภทที่แตกต่างกัน: วัตถุเจ้าของวัตถุที่ใช้ร่วมกันและวัตถุที่ไม่เปลี่ยนรูป กลยุทธ์การขนานของ Sui นั้นคล้ายกับของ Solana เนื่องจากธุรกรรมยังต้องระบุอ็อบเจ็กต์ที่จะดําเนินการ
แบบจําลองคู่ขนานในแง่ดีดําเนินการภายใต้สมมติฐานที่ว่าธุรกรรมทั้งหมดมีความเป็นอิสระตรวจสอบสมมติฐานนี้ย้อนหลังและทําการปรับเปลี่ยนเมื่อจําเป็น โซลูชันที่เป็นตัวแทนคือ Aptos
Aptos ใช้เมธอด Block-STM (Block Software Transactional Memory) เพื่อใช้การดําเนินการแบบขนานในแง่ดี ใน Block-STM ธุรกรรมจะถูกตั้งค่าเป็นลําดับแรกภายในบล็อก จากนั้นจึงแยกระหว่างเธรดการประมวลผลต่างๆ สําหรับการดําเนินการพร้อมกัน ในขณะที่ประมวลผลธุรกรรมเหล่านี้ระบบจะติดตามตําแหน่งหน่วยความจําที่เปลี่ยนแปลงโดยแต่ละธุรกรรม หลังจากการประมวลผลแต่ละรอบระบบจะตรวจสอบผลการทําธุรกรรมทั้งหมด หากพบว่าธุรกรรมแตะตําแหน่งหน่วยความจําที่เปลี่ยนแปลงโดยธุรกรรมก่อนหน้านี้ธุรกรรมจะลบผลลัพธ์และเรียกใช้อีกครั้ง กระบวนการนี้ดําเนินต่อไปจนกว่าทุกธุรกรรมในบล็อกจะได้รับการประมวลผล
Parallel EVM ถูกนําขึ้นมาครั้งแรกในปี 2021 ในเวลานั้นอ้างถึง EVM ที่รองรับการประมวลผลธุรกรรมหลายรายการพร้อมกันโดยมีเป้าหมายเพื่อปรับปรุงประสิทธิภาพและประสิทธิภาพของ EVM ที่มีอยู่ โซลูชันที่เป็นตัวแทนได้แก่ EVM แบบขนานของ Polygon ที่ใช้ Block-STM และ EVM แบบขนานที่พัฒนาร่วมกันโดย BSC และ NodeReal
อย่างไรก็ตาม เมื่อปลายปี 2023 Georgios Konstantopoulos, CTO of Paradigm และ Haseeb Qureshi แห่ง Dragonfly ได้กล่าวถึง EVM แบบขนานโดยบังเอิญในขณะที่ดูแนวโน้มสําหรับปี 2024 จุดประกายคลื่นของ Layer1s ที่เข้ากันได้กับ EVM ซึ่งใช้เทคโนโลยีการดําเนินการแบบขนาน รวมถึง Monand และ Sei V2
ปัจจุบัน Neon โซลูชันที่เข้ากันได้กับ EVM บน Solana, Layer2 Rollup Eclipse ของ SVM (Solana Virtual Machine) ของ Ethereum, Layer2 Rollup Lumio ของ Ethereum's Move Virtual Machine และเลเยอร์การดําเนินการแบบแยกส่วน Layer1 Fuel ได้รับการติดแท็กด้วย EVM แบบขนานทําให้ค่อนข้างสับสน
ฉันคิดว่ามีเพียงสามประเภทต่อไปนี้ที่สามารถกําหนดได้อย่างสมเหตุสมผลว่าเป็น EVM แบบขนาน:
จําเป็นต้องพูด BSC และ Polygon เป็นเลเยอร์ 1 ที่เข้ากันได้กับ EVM กระแสหลักที่สุด นี่คือคําแนะนําสั้น ๆ เกี่ยวกับ Monand, Sei V2, Artela และ Solana Neon
Monad เป็นเลเยอร์ 1 ที่เข้ากันได้กับ EVM ประสิทธิภาพสูงโดยใช้กลไก PoS ซึ่งออกแบบมาเพื่อเพิ่มความสามารถในการปรับขนาดและความเร็วในการทําธุรกรรมผ่านการดําเนินการแบบขนาน Monad Labs ก่อตั้งโดย Keone Hon อดีตหัวหน้าฝ่ายวิจัยที่ Jump Trading Monads อนุญาตให้ทําธุรกรรมแบบคู่ขนานภายในบล็อกเพื่อเพิ่มประสิทธิภาพ ใช้รูปแบบความคล้ายคลึงกันในแง่ดีและเริ่มดําเนินการธุรกรรมใหม่ก่อนที่การดําเนินการของขั้นตอนก่อนหน้าจะเสร็จสมบูรณ์ เพื่อรับมือกับผลลัพธ์ที่ไม่ถูกต้อง Monad จะติดตามอินพุต/เอาต์พุตและทําธุรกรรมที่ไม่สอดคล้องกันอีกครั้ง ตัวแยกวิเคราะห์รหัสแบบคงที่สามารถทํานายการพึ่งพาหลีกเลี่ยงความขนานที่ไม่มีประสิทธิภาพและเปลี่ยนกลับเป็นโหมดธรรมดาในช่วงเวลาแห่งความไม่แน่นอน การดําเนินการแบบขนานนี้จะเพิ่มปริมาณงานในขณะที่ลดโอกาสที่ธุรกรรมจะล้มเหลว
Sei เป็น Layer1 ที่พัฒนาขึ้นจาก Cosmos SDK ซึ่งเป็นเครือข่ายสาธารณะที่ออกแบบมาเป็นพิเศษสําหรับ DeFi สมาชิกของทีม Sei มีทั้งด้านเทคโนโลยีและภูมิหลังทางการเงินแบบดั้งเดิมโดยเคยทํางานที่ บริษัท ต่างๆเช่น Robinhood, Databricks, Airbnb และ Goldman Sachs Sei V2 เป็นการอัพเกรดครั้งใหญ่สําหรับเครือข่าย Sei โดยมีเป้าหมายที่จะเป็น EVM แบบขนานเต็มรูปแบบตัวแรก เช่นเดียวกับ Monand Sei V2 จะใช้การขนานในแง่ดี สิ่งนี้ทําให้บล็อกเชนสามารถทําธุรกรรมพร้อมกันได้โดยไม่ต้องมีนักพัฒนากําหนดการพึ่งพาใด ๆ เมื่อเกิดความขัดแย้งบล็อกเชนจะติดตามส่วนการจัดเก็บที่สัมผัสของแต่ละธุรกรรมและเรียกใช้ธุรกรรมเหล่านี้อีกครั้งตามลําดับ กระบวนการนี้ยังคงดําเนินต่อไปจนกว่าความขัดแย้งที่ยังไม่ได้รับการแก้ไขทั้งหมดจะได้รับการแก้ไข
Artela เป็นเครือข่ายบล็อกเชนที่ปรับขนาดได้ซึ่งช่วยให้นักพัฒนาสามารถสร้างแอปพลิเคชันแบบกระจายอํานาจ (dApps) ที่มีคุณสมบัติหลากหลายโดยมีสมาชิกหลักจาก AntChain EVM++ ของ Artela แสดงถึงความสามารถในการปรับขนาดสูง + EVM แบบขนานประสิทธิภาพสูง จะดําเนินการในสองขั้นตอนขั้นตอนแรกจะมุ่งเน้นไปที่การดําเนินการแบบขนาน จากการดําเนินการแบบขนานผ่านการประมวลผลแบบยืดหยุ่นทําให้มั่นใจได้ว่าพลังการประมวลผลของโหนดเครือข่ายสามารถปรับขนาดได้ในที่สุดก็บรรลุพื้นที่บล็อกที่ยืดหยุ่น การดําเนินการแบบขนานจะจัดกลุ่มธุรกรรมตามการวิเคราะห์ความขัดแย้งของการพึ่งพาธุรกรรมเพื่อรองรับการดําเนินการแบบขนาน
Solana Neon เป็นโซลูชันที่พัฒนาโดย Neon Labs สําหรับการทําธุรกรรม EVM บน Solana Neon EVM เป็นสัญญาอัจฉริยะบน Solana ซึ่งใช้ล่าม EVM ภายในสัญญาซึ่งรวบรวมไว้ใน SBF bytecode Neon EVM ใช้ชุดโมเดลธุรกรรม Ethereum และรูปแบบบัญชีเป็นการภายใน และผู้ใช้จะต้องจ่ายค่าธรรมเนียม EVM GAS เพื่อส่งธุรกรรมเท่านั้น ค่าธรรมเนียมของเครือข่าย Solana จะจ่ายโดย Neon Proxy Solana กําหนดให้ธุรกรรมต้องจัดเตรียมรายการบัญชีที่จําเป็นรวมถึงธุรกรรมที่ห่อหุ้มดังนั้นความรับผิดชอบของ Neon Proxy จึงรวมถึงการสร้างรายการบัญชีนี้และยังได้รับความสามารถในการดําเนินการธุรกรรมแบบขนานของ Solana
นอกจากนี้ เช่นเดียวกับ Solana Neon โซลูชันอื่นๆ ที่ใช้ EVM เป็นสัญญาอัจฉริยะเพื่อให้เข้ากันได้กับ EVM ได้แก่ Near Aurora และ EOS EVM+ ในทางทฤษฎี Aptos และ Sui สามารถใช้โซลูชันนี้เพื่อให้เกิดความเข้ากันได้กับ EVM ที่ไม่ล่วงล้ํา แต่ฉันไม่พบข้อมูลที่เกี่ยวข้อง (บางที Pontem กําลังทําเช่นนี้?) หากมีโครงการต่อเนื่องโปรดติดต่อฉันเพื่อเสริม ความเข้ากันได้ของ EVM ช่วยให้นักพัฒนาสามารถโยกย้ายแอปพลิเคชัน Ethereum ไปยังห่วงโซ่ได้อย่างง่ายดายโดยไม่ต้องทําการปรับเปลี่ยนที่สําคัญซึ่งเป็นทิศทางที่ดีสําหรับการสร้างระบบนิเวศ Aptos และ Sui
หัวข้อของเทคโนโลยีคู่ขนานในบล็อกเชนเป็นหัวข้อทั่วไปอยู่แล้ว โดยมีการเล่าเรื่องเกิดขึ้นเป็นครั้งคราว อย่างไรก็ตามในปัจจุบันจุดสนใจหลักคือการปรับเปลี่ยนและการเลียนแบบรูปแบบการดําเนินการในแง่ดีซึ่งแสดงโดยกลไก Block-STM ของ Aptos อย่างไรก็ตามหากไม่มีความก้าวหน้าที่สําคัญความร้อนก็ยากที่จะรักษาไว้
เมื่อมองไปข้างหน้าเราอาจคาดหวังว่าโครงการ Layer1 ที่เกิดขึ้นใหม่จะเข้าร่วมการแข่งขันสําหรับ EVM แบบขนาน นอกจากนี้ โครงการ Layer1 ที่มีอยู่บางโครงการอาจใช้การอัปเกรดแบบขนาน EVM หรือโซลูชันที่เข้ากันได้กับ EVM เส้นทางทั้งสองนี้นําไปสู่ผลลัพธ์ที่คล้ายคลึงกันซึ่งอาจก่อให้เกิดการเล่าเรื่องที่เกี่ยวข้องกับประสิทธิภาพมากขึ้น
อย่างไรก็ตามเมื่อเทียบกับการเล่าเรื่องของ EVM ประสิทธิภาพสูงฉันมีความหวังมากขึ้นสําหรับภูมิทัศน์บล็อกเชนที่หลากหลายซึ่งการเล่าเรื่องที่คล้ายกับ WASM, SVM และ Move VM เกิดขึ้น
บทความนี้ทําซ้ําจาก [小猪 Web3] ลิขสิทธิ์เป็นของผู้เขียนต้นฉบับ [ web3 朱大胆] หากคุณมีข้อคัดค้านใด ๆ ในการพิมพ์ซ้ําโปรดติดต่อ ทีม Gate Learn และทีมงานจะจัดการโดยเร็วที่สุดตามขั้นตอนที่เกี่ยวข้อง
ข้อจํากัดความรับผิดชอบ: มุมมองและความคิดเห็นที่แสดงในบทความนี้แสดงถึงมุมมองส่วนตัวของผู้เขียนเท่านั้นและไม่ถือเป็นคําแนะนําการลงทุนใด ๆ
บทความเวอร์ชันภาษาอื่น ๆ ได้รับการแปลโดยทีม Gate Learn และไม่ได้กล่าวถึงใน Gate.io บทความที่แปลแล้วไม่สามารถทําซ้ําแจกจ่ายหรือลอกเลียนแบบได้