พรีเซล $EX5 — ระดับ Seed · อุปทานคงที่ 500M · เผา 50% · ลงทะเบียนที่ portal.ex5.comเข้าร่วม →
อัปเดต

เครื่องเสมือน Ethereum (Ethereum Virtual Machine (EVM))

โดยสรุป: เครื่องเสมือน Ethereum หรือ Ethereum Virtual Machine (EVM) คือเครื่องเสมือนแบบ “Turing complete” ที่เป็นสภาพแวดล้อมการทำงานให้กับสัญญาอัจฉริยะแต่ละสัญญาบน Ethereum EVM…

เครื่องเสมือน Ethereum หรือ Ethereum Virtual Machine (EVM) คือเครื่องเสมือนแบบ “Turing complete” ที่เป็นสภาพแวดล้อมการทำงานให้กับสัญญาอัจฉริยะแต่ละสัญญาบน Ethereum EVM ช่วยให้มั่นใจได้ว่าโค้ดที่นักพัฒนานำขึ้นใช้งานจะถูกประมวลผลตามที่ตั้งใจไว้ และทำงานในลักษณะเดียวกันทุกประการบนทุกโหนดของเครือข่าย

ทำไมจึงสำคัญ

นักพัฒนาเขียนสัญญาอัจฉริยะด้วยภาษาอย่าง Solidity หรือ Vyper แล้วคอมไพล์เป็นไบต์โค้ด (bytecode) ที่ EVM ใช้รัน โหนดเต็มรูปแบบทุกโหนดจะประมวลผลไบต์โค้ดเดียวกันด้วยอินพุตเดียวกัน และต้องได้ผลลัพธ์เดียวกัน นี่คือวิธีที่เครือข่ายเห็นพ้องกันเรื่องยอดคงเหลือและสถานะของสัญญา โดยไม่ต้องไว้วางใจเซิร์ฟเวอร์ใดเซิร์ฟเวอร์หนึ่ง “Turing complete” หมายความว่าในทางทฤษฎี EVM สามารถรันโปรแกรมใดก็ได้ แต่ในทางปฏิบัติ ทุกการดำเนินการมีค่าแก๊ส และทุกธุรกรรมมีขีดจำกัดแก๊ส โปรแกรมจึงไม่สามารถวนลูปไม่รู้จบจนทำให้เครือข่ายติดขัดได้ บล็อกเชนอื่นอีกจำนวนมากเข้ากันได้กับ EVM (EVM-compatible) กล่าวคือรันไบต์โค้ดประเภทเดียวกันและใช้รูปแบบที่อยู่ 0x แบบเดียวกัน สิ่งนี้ช่วยให้นักพัฒนานำโค้ดกลับมาใช้ซ้ำได้ แต่ก็เป็นเหตุผลที่ศูนย์ซื้อขายขอให้คุณเลือกเครือข่ายให้ถูกต้องเมื่อฝากหรือถอน

ตัวอย่าง

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

คำศัพท์ที่เกี่ยวข้อง