Ethereum Virtual Machine (EVM) คืออะไร และทำงานอย่างไร

อีเธอร์ (ETH) ซึ่งเป็นสกุลเงินดิจิทัลที่ใหญ่เป็นอันดับสองในแง่ของมูลค่าหลักทรัพย์ตามราคาตลาด เป็นที่นิยมในหมู่นักลงทุนสกุลเงินดิจิทัลเนื่องจากโทเค็น ETH ดั้งเดิม อย่างไรก็ตาม ภาษาการเขียนโปรแกรม Solidity ดั้งเดิมและ Ethereum Virtual Machine (EVM) เป็นเครื่องมือในการยกย่องที่ได้รับจากชุมชนนักพัฒนา อันที่จริงแล้ว บล็อกเชน Ethereum ยังคงดึงดูด แอปพลิเคชั่นกระจายอำนาจ (DApp) นักพัฒนาเนื่องจากความยืดหยุ่น เครื่องมือสำหรับนักพัฒนาที่มีอยู่มากมาย และฐานผู้ใช้ขนาดใหญ่ของแพลตฟอร์ม

EVM เป็นโปรแกรมที่รันโค้ดแอปพลิเคชันหรือ สัญญาสมาร์ทตามที่เรียกกัน จัดเตรียมสภาพแวดล้อมรันไทม์สำหรับพวกเขาที่ทำงานบนเครือข่าย Ethereum ยิ่งไปกว่านั้น EVM ยังเสร็จสมบูรณ์ในทัวริงและสามารถเรียกใช้โปรแกรมใด ๆ ที่เข้ารหัสในภาษาโปรแกรมใด ๆ ซึ่งช่วยให้นักพัฒนาสามารถสร้างสัญญาอัจฉริยะและ DApps แบบกำหนดเองได้อย่างง่ายดายสำหรับการขยายตัว Web3 ช่องว่าง 

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

Ethereum Virtual Machine (EVM) คืออะไร และทำงานอย่างไร

สร้างแนวคิดในปี 2013 โดยโปรแกรมเมอร์ Vitalik Buterinเครือข่าย Ethereum ประสบความสำเร็จอย่างล้นหลามในฐานะบล็อกเชนยอดนิยมสำหรับนักพัฒนา DApp ต่อ Ethereum Virtual Machine (EVM) ที่ออกแบบโดย Gavin Wood ระหว่างดำรงตำแหน่งที่ Ethereum EVM เขียนด้วย C++ และใช้คอมไพเลอร์โครงการ LLVM เป็นเครื่องสถานะพิเศษที่ทำงานอย่างต่อเนื่องและการดำเนินการที่ไม่เปลี่ยนรูปแบบจะกำหนดสถานะของแต่ละบล็อกใน Ethereum blockchain 

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

เพื่อทำความเข้าใจว่า Ethereum Virtual Machine ทำอะไร เราต้องดูแต่ละฟังก์ชันที่แตกต่างกันซึ่งทำหน้าที่เพื่อให้เครือข่าย Ethereum ทำงานได้อย่างราบรื่น สำหรับทุกอินพุตที่ได้รับ EVM จะสร้างเอาต์พุตที่กำหนดโดยธรรมชาติและเป็นไปตามฟังก์ชันทางคณิตศาสตร์ในความหมายที่ง่ายที่สุด 

EVM มีความลึก 1024 รายการ โดยแต่ละรายการเป็นคำขนาด 256 บิต ทำงานเหมือนเครื่องสแต็กที่ส่งค่าชั่วคราวเข้าและออกจากสแต็กแบบพุชดาวน์ นอกจากนี้ยังรักษาหน่วยความจำชั่วคราวในรูปแบบของอาร์เรย์ไบต์ ซึ่งเปลี่ยนแปลงระหว่างสองธุรกรรมบน Ethereum blockchain รหัสสัญญาอัจฉริยะที่รวบรวมไว้จะถูกดำเนินการโดย EVM ในรูปแบบของชุดรหัสมาตรฐาน 140 ชุด ในขณะที่การดำเนินการสแต็กเฉพาะบล็อกเชนอื่น ๆ ก็ถูกนำมาใช้เช่นกัน

แผนผังของเครื่องเสมือน Ethereum

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

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

จุดประสงค์ของ Ethereum Virtual Machine (EVM) คืออะไร?

EVM ขับเคลื่อนแอปพลิเคชันทั้งหมดที่ทำงานบนเครือข่าย Ethereum ได้อย่างน่าเชื่อถือ โดยไม่มีรายงานการหยุดทำงานที่สำคัญ สำหรับนักพัฒนา EVM ทำหน้าที่เป็นโปรแกรมหลักที่เรียกใช้โปรแกรมปฏิบัติการขนาดเล็กซึ่งเรียกว่าสัญญาอัจฉริยะใน Ethereum ในขณะที่ให้อิสระในการเขียนสัญญาอัจฉริยะเหล่านี้ใน ภาษาโปรแกรมที่หลากหลาย รวมถึง Solidity, Vyper, Python และ Yul เป็นต้น

เนื่องจากความยืดหยุ่นที่นำเสนอโดย EVM Ethereum blockchain ได้สร้าง DApps หลายพันรายการใน การเงินแบบกระจายอำนาจ (DeFi) และ โทเค็นที่ไม่สามารถเปลี่ยนได้ (NFT) ช่องว่าง. แต่ละ DApps เหล่านี้และสัญญาอัจฉริยะที่สร้างขึ้นจะถูกแปลงเป็นรหัสไบต์ที่ป้อนเข้าสู่ EVM และกระจายไปยังโหนดทั้งหมดในเครือข่าย Ethereum เมื่อมีการปรับใช้สัญญาอัจฉริยะ EVM จะรับผิดชอบในการสื่อสารกับโหนดทั้งหมดและส่งผลต่อการเปลี่ยนแปลงสถานะเมื่อได้รับฉันทามติ

อาจกล่าวได้ว่ามีการแทรก EVM ภายในโหนด Ethereum ทุกโหนดเพื่อดำเนินการสัญญาอัจฉริยะโดยใช้ bytecode แทนภาษาโปรแกรมพื้นฐาน ดังนั้นจึงแยกคอมพิวเตอร์โฮสต์จริงออกจากรหัสเครื่องที่ Ethereum เรียกใช้

ประโยชน์ของ Ethereum Virtual Machine (EVM)

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

นอกจากนี้ พวกเขายังสามารถเรียกใช้สัญญาอัจฉริยะที่ซับซ้อนบนสภาพแวดล้อมการประมวลผลที่แตกต่างกันโดยฉันทามติแบบกระจาย สิ่งนี้ทำให้มั่นใจได้ว่าความล้มเหลวของโหนดเดียวจะไม่ส่งผลกระทบในทางลบต่อการทำงานของ DApp หรือสัญญาอัจฉริยะ เนื่องจากรหัส EVM ยังคงเหมือนกันในทุกโหนด ยิ่งไปกว่านั้น เนื่องจากข้อมูลบัญชีได้รับการดูแลรักษาในระดับส่วนกลางใน EVM นักพัฒนาจึงพบว่าเหมาะสำหรับการเขียนรหัสสัญญาอัจฉริยะที่กำหนดเองและสร้าง DApps ที่แตกต่างซึ่งสามารถเข้าถึงชุดข้อมูลส่วนกลางนี้และสร้างผลลัพธ์ที่เชื่อถือได้ 

ความศักดิ์สิทธิ์ของผลลัพธ์คือสิ่งที่ทำให้ EVM โดยเฉพาะ และ Ethereum blockchain โดยทั่วไปเหมาะสมอย่างยิ่งกับการขยายตัวอย่างยั่งยืนของ DApps และระบบนิเวศ Ethereum สัญญาอัจฉริยะ เพิ่มคลังรหัสมาตรฐานที่มีให้นักพัฒนาเลือกใช้ และรองรับ EVM จำนวนมากขึ้นเรื่อยๆ บล็อกเชนเลเยอร์-2 และกรณีการใช้งาน EVM ที่เป็นไปได้จำนวนมาก และเป็นเรื่องง่ายที่จะเห็นว่าเหตุใด EVM จึงเป็นแพลตฟอร์มที่ต้องการสำหรับ การพัฒนา Web3.

ข้อเสียของเครื่องเสมือน Ethereum (EVM)

แม้ว่า EVM จะมีข้อดีมากมาย แต่ก็มีข้อเสียบางประการที่นักพัฒนาและผู้ประกอบการที่สร้างบน Ethereum ต้องพิจารณา สิ่งที่สำคัญที่สุดคือค่าธรรมเนียมการทำธุรกรรมสูงหรือค่าน้ำมันที่เกี่ยวข้องกับการรันสัญญาอัจฉริยะบนเครือข่าย Ethereum 

ชำระเป็น ETH ค่าธรรมเนียมเหล่านี้แตกต่างกันไปขึ้นอยู่กับความซับซ้อนของสัญญาและความแออัดของเครือข่าย ณ เวลาที่ดำเนินการ ทำให้นักพัฒนาและผู้ประกอบการจำเป็นต้อง กำหนดราคาบริการของพวกเขาตามนั้น. นอกจากนี้ เนื่องจาก Solidity เป็นภาษาที่ต้องการมากที่สุดสำหรับการเขียนโค้ดบน EVM จึงหมายความว่านักพัฒนาจำเป็นต้องมีประสบการณ์เพียงพอกับมันและมีความเชี่ยวชาญด้านเทคนิคเล็กน้อยเพื่อสร้างสัญญาอัจฉริยะที่มีประสิทธิภาพโดยใช้มัน 

สิ่งหลังนี้มีความสำคัญเนื่องจากข้อกำหนดด้านการคำนวณเพิ่มเติมใด ๆ จะนำไปสู่ต้นทุนก๊าซที่สูงขึ้นและพิสูจน์ได้ว่าเป็นอันตรายต่อความสำเร็จของโครงการในท้ายที่สุด หากนักพัฒนาเลือกที่จะเขียนโค้ดโดยใช้ภาษาอื่น พวกเขาจะต้องระมัดระวังในการแก้ไขการซ้ำซ้อนในโค้ด เนื่องจาก EVM จะดำเนินการคอมไพล์ต่อไป แม้ว่าการอัปเกรดสัญญาอัจฉริยะจะเป็นไปได้ในภายหลัง แต่ก็มีความเสี่ยงด้านความปลอดภัยที่เกี่ยวข้องกับการสร้างสัญญาอัจฉริยะตัวกลางที่อ้างอิงที่อยู่ของสัญญาอัจฉริยะดั้งเดิม

อนาคตของ EVM

แม้ว่า EVM จะมีการเปลี่ยนแปลงครั้งสำคัญต่อระบบนิเวศบล็อกเชน เทคโนโลยีสำหรับการอ่านและรันโค้ดนี้ กำลังปรับปรุงให้ดีขึ้น โดยโครงการบล็อกเชนหลายโครงการ 

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

อย่างไรก็ตาม ด้วยโปรโตคอล Ethereum ที่เสร็จสิ้นการผสานในเดือนกันยายน 2022 เป้าหมายต่อไป คือการเปลี่ยนจาก EVM เป็น Ethereum WebAssembly (eWASM). eWASM ได้รับการออกแบบมาให้เป็นแบบโมดูลาร์สูงและเป็นอิสระจากแพลตฟอร์ม จึงได้รับการขนานนามว่าเป็นผู้เปลี่ยนเกมรายต่อไปสำหรับโปรโตคอล Ethereum และสามารถกระตุ้นให้บล็อกเชนอื่น ๆ ใช้สภาพแวดล้อมรันไทม์นี้สำหรับสัญญาอัจฉริยะได้เช่นกัน อย่างไรก็ตาม ไม่ว่า eWASM จะมาแทนที่ EVM ในฐานะกลไกที่น่าเชื่อถือที่สุดสำหรับสัญญาอัจฉริยะหรือไม่นั้นเป็นคำถามที่เวลาเท่านั้นที่จะตอบได้