Trang chủ » Tiền điện tử » Thuật ngữ » Máy ảo Ethereum (EVM) là gì? Phương thức hoạt động của nó ra sao?

Máy ảo Ethereum (EVM) là gì? Phương thức hoạt động của nó ra sao?

Hãy cùng Index Money tìm hiểu về EVM – máy ảo Ethereum. Đó là ngoài chuỗi, một tập hợp mạng lưới các máy tính chạy song song với mạng lưới blockchain Ethereum. Máy ảo Ethereum (EVM) là gì? Máy ảo...

Đăng bởi:Trang Bùi Thiên | 28/07/23 17:29

Hãy cùng Index Money tìm hiểu về EVM – máy ảo Ethereum. Đó là ngoài chuỗi, một tập hợp mạng lưới các máy tính chạy song song với mạng lưới blockchain Ethereum.

Máy ảo Ethereum (EVM) là gì?

Máy ảo Ethereum là một mạng lưới các máy tính chạy song song bên ngoài chuỗi blockchain Ethereum. Hệ thống máy ảo này tương tác 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. Chúng kết nối với chuỗi chính Ethereum qua các smart contract. Trong hệ thống này, có nhiều máy ảo tương tác với Blockchain Ethereum. Để thực hiện việc này, các máy ảo phải tuân theo bộ quy tắc của Ethereum và xác thực thông tin đưa vào chuỗi sử dụng hàm băm rút gọn SHA-3-256.

may-ao-ethereum-evm-la-gi-1

Mỗi nút Ethereum trong mạng chạy một EVM (Ethereum Virtual Machine) và thực hiện các hướng dẫn tương tự nhau. EVM đã được lập trình bằng nhiều ngôn ngữ như C++, Go, Haskell, Java, Python, Ruby, Rust và đang phát triển thêm cho WebAssembly.

Mạng lưới Ethereum là một blockchain hoạt động liên tục và luôn tồn tại ở một trạng thái không bị gián đoạn. Đây là môi trường sống của tất cả các tài khoản Ethereum và hợp đồng thông minh. Tại mỗi khối trong chuỗi, Ethereum chỉ có một trạng thái “chuẩn” duy nhất và EVM quy định các quy tắc để tính toán trạng thái hợp lệ mới từ khối này sang khối khác.

Phương thức hoạt động của EVM (Ethereum Virtual Machine)

Bitcoin được xem như một sổ cái phân tán, sử dụng các công cụ mật mã cơ bản để tạo ra một loại tiền tệ phi tập trung. Tiền điện tử hoạt động như các loại tiền “bình thường” với quy tắc quản lý được áp dụng để giới hạn việc sửa đổi sổ cái. Ví dụ, một địa chỉ Bitcoin không thể tiêu nhiều Bitcoin hơn số đã nhận trước đó. Những quy tắc này là cơ sở cho tất cả các giao dịch trên Bitcoin và các blockchain khác.

Ethereum không chỉ có tiền điện tử riêng (Ether) mà còn cung cấp tính năng mạnh mẽ hơn là hợp đồng thông minh (smart contract). Để hỗ trợ tính năng phức tạp này, Ethereum sử dụng 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 được mô tả như 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 bao gồm tất cả các tài khoản và số dư, cũng như 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 ý. Quy tắc cụ thể để thay đổi trạng thái giữa các khối được xác định bởi EVM.

EVM là một hàm toán học: Nó nhận một đầu vào và tạo ra một đầu ra xác định. Điều này làm cho việc mô tả Ethereum như một chức năng chuyển đổi trạng thái trở nên chính xác và hữu ích.

may-ao-ethereum-evm-la-gi-2

Trạng thái Ethereum Y (S, T) chuyển đổi từ trạng thái cũ hợp lệ (S) và tập hợp các giao dịch hợp lệ mới (T) để tạo ra trạng thái mới hợp lệ S ‘.

State

Ethereum định nghĩa trạng thái như một cấu trúc dữ liệu gọi là Merkle Patricia Trie, liên kết tất cả tài khoản bằng hàm băm và rút gọn thành một hàm băm gốc lưu trữ trên blockchain.

Transactions

Giao dịch trong hệ thống được ký bằng mật mã từ các tài khoản và có hai loại: giao dịch dẫn đến cuộc gọi tin nhắn và giao dịch dẫn đến tạo hợp đồng. Khi tạo hợp đồng, một tài khoản hợp đồng mới chứa mã bytecode của hợp đồng thông minh được biên dịch. Mỗi khi có cuộc gọi tin nhắn từ tài khoản khác đến hợp đồng, nó sẽ thực thi mã bytecode của nó.

may-ao-ethereum-evm-la-gi-3

EVM

EVM là một máy xếp chồng có độ sâu 1024 mục (item), với mỗi mục là một từ 256-bit word, tương thích với lược đồ băm SHA-3-256. Trong quá trình thực thi, EVM duy trì bộ nhớ tạm thời dưới dạng một mảng byte, không tồn tại giữa các giao dịch.

Hợp đồng có thể chứa ba lưu trữ Merkle Patricia dưới dạng mảng từ có thể xác định địa chỉ từ, liên kết với tài khoản 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 được biên dịch thực thi thành các 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 các hoạt động ngăn xếp đặc biệt cho blockchain như ADDRESS, BALANCE, SHA3, BLOCKHASH, v.v.

EVM IMPLEMENTATIONS

EVM là viết tắt của Ethereum Virtual Machine, và việc triển khai EVM phải tuân thủ đặc điểm kỹ thuật được mô tả trong Ethereum Yellowpaper. Trong suốt lịch sử 5 năm của Ethereum, EVM đã trải qua một số sửa đổi và có nhiều triển khai bằng các ngôn ngữ lập trình khác nhau. Thực tế, tất cả các khách hàng Ethereum đều phải có triển khai EVM.

Có nhiều triển khai độc lập như:

– Py-EVM – Python

– evmone – C++

– ethereumjs-vm – JavaScript

– eEVM – C++

– Hyperledger Burrow – Go

may-ao-ethereum-evm-la-gi-4

Tổng kết

EVM (Ethereum Virtual Machine) là hệ thống máy ảo hỗ trợ chạy để xác thực trạng thái của mạng blockchain Ethereum. Nó thuộc layer1, cho phép tương tác và xác thực dữ liệu với nhau mà không thông qua chuỗi chính. Đồng thời, EVM có thể tương tác với chuỗi chính qua các smart contract để ghi đè dữ liệu lên khối và xác thực dữ liệu lên các khối thông qua hàm băm được rút gọn. Index Money không chịu trách nhiệm với bất kỳ rủi ro trực tiếp và gián tiếp nào. Chúc các bạn thành công!