Đợt bán trước $EX5 — Giai đoạn Seed · Tổng cung cố định 500M · Đốt 50% · Đăng ký tại portal.ex5.comTham gia →
Cập nhật

Máy ảo Ethereum (Ethereum Virtual Machine (EVM))

Tóm lại: Máy ảo Ethereum, hay Ethereum Virtual Machine (EVM) , là máy ảo "Turing đầy đủ" (Turing complete) cung cấp môi trường hoạt động cho từng hợp đồng thông…

Máy ảo Ethereum, hay Ethereum Virtual Machine (EVM), là máy ảo "Turing đầy đủ" (Turing complete) cung cấp môi trường hoạt động cho từng hợp đồng thông minh trên Ethereum. Nó bảo đảm rằng mã do các nhà phát triển triển khai được thực thi đúng như dự định, theo cùng một cách trên mọi nút của mạng lưới.

Tại sao điều này quan trọng

Các nhà phát triển viết hợp đồng thông minh bằng những ngôn ngữ như Solidity hoặc Vyper rồi biên dịch chúng thành bytecode để EVM thực thi. Mọi nút đầy đủ đều chạy cùng một bytecode với cùng dữ liệu đầu vào và phải đạt được cùng một kết quả. Đây là cách mạng lưới thống nhất về số dư và trạng thái hợp đồng mà không cần tin tưởng vào một máy chủ duy nhất. "Turing đầy đủ" nghĩa là về nguyên tắc, EVM có thể chạy bất kỳ chương trình nào. Trên thực tế, mọi thao tác đều tốn gas và mọi giao dịch đều có giới hạn gas, nên một chương trình không thể lặp vô hạn và làm tắc nghẽn mạng lưới. Nhiều blockchain khác tương thích với EVM: chúng chạy cùng loại bytecode và dùng cùng định dạng địa chỉ 0x. Điều đó giúp các nhà phát triển tái sử dụng mã, nhưng cũng là lý do các sàn giao dịch yêu cầu bạn chọn đúng mạng khi nạp tiền hoặc rút tiền.

Ví dụ

Một nhà phát triển viết một hợp đồng token bằng Solidity, biên dịch và triển khai bytecode lên Ethereum. Khi người dùng sau đó gọi hàm chuyển (transfer) của hợp đồng, EVM trên mỗi nút sẽ chạy cùng đoạn mã đó, kiểm tra số dư của người gửi và cập nhật số dư của cả hai bên. Nếu mã gặp lỗi hoặc hết gas, EVM sẽ hoàn tác các thay đổi.

Thuật ngữ liên quan