Nếu bạn là người mới bắt đầu tìm hiểu về blockchain, tiền điện tử hoặc lập trình viên chưa quen với blockchain, bạn có thể gặp phải đâu đó thuật ngữ Máy ảo Ethereum (EVM). Vậy, EVM là gì, và ý tưởng này hình thành như thế nào? Những người tạo ra Ethereum đã rõ ràng về tầm nhìn của họ ngay từ ngày đầu tiên. Họ muốn nó trở thành “máy tính thế giới” hoặc “máy tính kết nối internet”. Làm thế nào nó thực hiện được tham vọng này? Một phần của câu trả lời nằm ở Máy ảo Ethereum (EVM).
Mục lục
EVM (Ethereum Virtual Machine), máy ảo ethereum là gì?
Ethereum virtual Machine (EVM) là máy ảo Ethereum , nó tập hợp mạng lưới các máy tính chạy song song với với mạng lưới blockchain Ethereum. Hệ thống máy ảo độc lập và tương tác các dữ liệu với nhau thường qua các giao thức đồng thuận mà không cần thông qua chuỗi chính, kết nối với chuỗi chính Ethereum thông qua các smartcontract. Có rất nhiều hệ thống máy ảo tương tác với Blockchain Ethereum. Mỗi một Ethereum node được trang bị một EVM riêng, điều này sẽ đảm bảo tính bảo mật và phi tập trung của mạng lưới.
Đơn giản hơn, Máy ảo ethereum (EVM) là nền tảng phần mềm dựa trên blockchain. EVM cho phép các kiến trúc sư phần mềm xây dựng và triển khai các ứng dụng phi tập trung (dApps) trên mạng lưới.

Phương thức hoạt động của EVM (Ethereum Virtual Machine)
Chúng ta thường nghĩ đến Bitcoin như là một sổ cái phân tán (distributed ledger), cho phép một loại tiền tệ phi tập trung sử dụng các công cụ cơ bản của mật mã. Tiền điện tử hoạt động như một loại tiền tệ ‘bình thường’ do các quy tắc chi phối điều gì ta có thể và không thể làm để sửa đổi sổ cái. Ví dụ: một địa chỉ Bitcoin không thể tiêu nhiều Bitcoin hơn số Bitcoin đã nhận trước đó. Những quy tắc này làm nền tảng cho tất cả các giao dịch trên Bitcoin và nhiều blockchain khác.
Mặc dù Ethereum có tiền điện tử riêng (Ether) tuân theo gần như chính xác các quy tắc trực quan, nó cũng cho phép một chức năng mạnh mẽ hơn nhiều: hợp đồng thông minh (smart contract). Đối với tính năng phức tạp hơn này, cần phải có một phép loại suy phức tạp hơn. Thay vì một sổ cái phân tán, Ethereum là một máy trạng thái phân tán (machine state). Trạng thái của Ethereum là một cấu trúc dữ liệu lớn không chỉ chứa tất cả các tài khoản và số dư, mà còn là một trạng thái máy, có thể thay đổi từ khối này sang khối khác theo một bộ quy tắc được xác định trước và có thể thực thi mã máy tùy ý. Các quy tắc cụ thể của việc thay đổi trạng thái từ khối này sang khối khác được xác định bởi EVM.
EVM hoạt động như một hàm toán học: Cho một đầu vào, nó tạo ra một đầu ra xác định. Do đó, khá hữu ích khi mô tả chính thức hơn Ethereum là có chức năng chuyển đổi trạng thái (state transition function):

Với trạng thái cũ hợp lệ (S) và một tập hợp các giao dịch hợp lệ mới (T), hàm chuyển đổi trạng thái Ethereum Y (S, T) tạo ra trạng thái đầu ra hợp lệ mới S ‘.
State
Trong định nghĩa của Ethereum, trạng thái là một cấu trúc dữ liệu khổng lồ được gọi là Merkle Patricia Trie đã được sửa đổi, giữ cho tất cả các tài khoản được liên kết bằng các hàm băm và có thể rút gọn thành một hàm băm gốc duy nhất được lưu trữ trên blockchain.
Transactions
Giao dịch là hướng dẫn được ký bằng mật mã từ các tài khoản. Có hai loại giao dịch: giao dịch dẫn đến cuộc gọi tin nhắn (message) và giao dịch dẫn đến tạo hợp đồng (contract). Việc tạo hợp đồng dẫn đến việc tạo một tài khoản hợp đồng mới có chứa mã bytecode của hợp đồng thông minh đã được biên dịch. Bất cứ khi nào tài khoản khác thực hiện một cuộc gọi tin nhắn đến hợp đồng đó, nó sẽ thực thi mã bytecode của nó.
EVM
EVM thực thi như một máy xếp chồng với độ sâu 1024 mục (item). Mỗi mục là một từ 256-bit word, được chọn để tương thích tối đa với lược đồ băm SHA-3-256 ( the SHA-3-256 hash scheme).
Trong quá trình thực thi, EVM duy trì một bộ nhớ tạm thời (như một mảng byte được đánh địa chỉ từ), không tồn tại giữa các giao dịch.
Tuy nhiên, hợp đồng có chứa bộ ba lưu trữ Merkle Patricia (dưới dạng mảng từ có thể xác định địa chỉ từ), được liên kết với tài khoản được đề cập và một phần của trạng thái toàn cầu.
Mã bytecode của hợp đồng thông minh đã biên dịch thực thi dưới dạng một số mã opc EVM, thực hiện các hoạt động ngăn xếp tiêu chuẩn như XOR, AND, ADD, SUB, v.v. EVM cũng triển khai một số hoạt động ngăn xếp dành riêng cho blockchain, chẳng hạn như ADDRESS, BALANCE, SHA3, BLOCKHASH, v.v.
EVM IMPLEMENTATIONS
Tất cả việc triển khai EVM phải tuân thủ đặc điểm kỹ thuật được mô tả trong Ethereum Yellowpaper.
Trong lịch sử 5 năm của Ethereum, EVM đã trải qua một số sửa đổi và có một số triển khai EVM bằng các ngôn ngữ lập trình khác nhau.
Tất cả các khách hàng Ethereum đều có triển khai EVM.
Ngoài ra, có nhiều triển khai độc lập, bao gồm:
- Py-EVM –
- Python evmone – C ++
- ethereumjs-vm –
- JavaScript eEVM – C ++ Hyperledger Burrow – Go
Công nghệ EVM phát triển và trưởng thành nhanh chóng
Công nghệ EVM đã phát triển đáng kể trong vài năm qua. Một dự án đáng chú ý có tên là Syscoin, khai thác tốt nhất Bitcoin và Ethereum thông qua một nền tảng phối hợp, đã phát triển Máy ảo nâng cao mạng (NEVM) của riêng mình.
Theo giải thích của các nhà phát triển, thiết kế của Syscoin duy trì nguyên vẹn tính bảo mật “tiêu chuẩn vàng” của cơ chế đồng thuận Bitcoin và khai thác hợp nhất đồng thời cung cấp các đặc tính hiệu suất được mong đợi trong tương lai của Ethereum 2.0 thông qua công nghệ L2 ZK-Rollup.
Những ưu điểm chính của NEVM là: Khả năng mở rộng L2 cho các hợp đồng thông minh, cũng như các thị trường chi phí độc lập, được cung cấp bởi ZK-Rollups.
NEVM cũng tương thích với Ethereum, vì vậy về cơ bản bất kỳ hợp đồng thông minh dựa trên ETH nào cũng có thể được triển khai trên NEVM.
Sau đó, có khả năng bảo mật mạnh mẽ, vì nền tảng sử dụng L1 đã được chứng minh bằng cách tận dụng sự đồng thuận tuân thủ Bitcoin và PoW do Bitcoin khai thác.
Ngoài những tính năng này, sự thích ứng giao thức cho phép khả năng di chuyển không đáng tin cậy của giá trị giữa Bitcoin và Ethereum (SYS <-> NEVM), tất cả đều trên một nền tảng duy nhất và được phối hợp
Tổng kết
EVM (Ethereum Virtual Machine) là hệ thống máy ảo hỗ trợ chạy để xác thực các trạng thái của mạng blockchain Ethereum, nó thuộc Layer 1 cho phép tương tác và xác thực các dữ liệu với nhau mà không thông qua chuỗi chính. Đồng thời có thể tương tác với chuỗi chính qua các smartcontract để ghi đè các dữ liệu lên khối và xác thực các dữ liệu lên các khối thông qua hàm băm được rút gọn.
Đừng quên theo dõi những kênh thông tin của Coin19, nơi cập nhật những thông tin đầy đủ và chính xác nhất về tất cả các dự án/các đồng coin/đồng token đang được nhiều người quan tâm trên thị trường Crypto hiện nay!
Những kênh thông tin của Coin19. Đăng ký, theo dõi, thảo luận cùng admin và member khác trong cộng đồng Coin19 nhé!