Mua Crypto
Thị trường
Spot
FuturesBTC
Tiết kiệm
Trung tâm sự kiện
Trung tâm thưởng
Xem thêm
Lễ hội 0 phí
EVM (Ethereum Virtual Machine): EVM là gì?EVM, hay Ethereum Virtual Machine, là môi trường thực thi xử lý giao dịch và chạy mã hợp đồng thông minh trên Ethereum.EVM hoạt động như một máy tính ảo dùng chung, với các quy tắc được nhữnEVM (Ethereum Virtual Machine): EVM là gì?EVM, hay Ethereum Virtual Machine, là môi trường thực thi xử lý giao dịch và chạy mã hợp đồng thông minh trên Ethereum.EVM hoạt động như một máy tính ảo dùng chung, với các quy tắc được nhữn

EVM (Ethereum Virtual Machine)

2026/10/14 17:15
#Intermediate
Virtuals Protocol
VIRTUAL$0.6972+3.84%
Humanity
H$0.05865+2.53%
Gravity
G$0.00398+3.94%
PX
PX$0.0113+0.89%
MemeCore
M$0.76735-2.66%

EVM là gì?

EVM, hay Ethereum Virtual Machine, là môi trường thực thi xử lý giao dịch và chạy mã hợp đồng thông minh trên Ethereum.

EVM hoạt động như một máy tính ảo dùng chung, với các quy tắc được những execution client của Ethereum trên toàn thế giới tuân thủ.

Khi người dùng chuyển token, hoán đổi tiền mã hóa qua ứng dụng phi tập trung, tạo NFT, cung cấp tài sản thế chấp cho giao thức cho vay hoặc gọi một hợp đồng thông minh khác, EVM sẽ tính toán kết quả của hành động đó.

EVM không tồn tại dưới dạng một máy vật lý hay máy chủ duy nhất.

Thay vào đó, mỗi node Ethereum tham gia đều áp dụng độc lập cùng một quy tắc thực thi lên cùng một danh sách giao dịch theo thứ tự.

Thiết kế này giúp các node xác nhận rằng số dư tài khoản, dữ liệu lưu trữ của hợp đồng, quyền sở hữu token và những thay đổi trạng thái blockchain khác đã được tính toán chính xác.

Tài liệu chính thức về Ethereum Virtual Machine mô tả EVM là môi trường ảo phi tập trung, thực thi mã nhất quán trên các node Ethereum.

EVM là một phần cốt lõi của lớp thực thi Ethereum, nhưng không đại diện cho toàn bộ mạng Ethereum.

Ethereum còn phụ thuộc vào cơ chế đồng thuận, mạng ngang hàng, lưu trữ dữ liệu, tạo block, validator và các thành phần giao thức khác.

EVM tập trung cụ thể vào tính toán và chuyển đổi trạng thái.

EVM làm gì?

EVM đọc chỉ thị giao dịch, chạy bytecode của hợp đồng thông minh, tính lượng gas tiêu thụ và xác định trạng thái Ethereum cần thay đổi như thế nào.

EVM có thể chuyển ETH, gọi hàm hợp đồng, triển khai hợp đồng mới, cập nhật dữ liệu lưu trữ của hợp đồng, tạo nhật ký sự kiện hoặc trả về dữ liệu được yêu cầu.

Trước khi áp dụng giao dịch, hệ thống thực thi Ethereum kiểm tra các điều kiện như chữ ký của người gửi, nonce, số dư khả dụng, giới hạn gas và định dạng giao dịch.

Nếu giao dịch gọi một hợp đồng thông minh, EVM thực thi các chỉ thị của hợp đồng theo thứ tự được quy định trong bytecode.

EVM cũng có thể gọi các hợp đồng khác trong cùng một giao dịch.

Khả năng này cho phép ứng dụng phi tập trung kết hợp nhiều giao thức và hệ thống token trong một thao tác nguyên tử.

Sau khi thực thi, EVM sẽ tạo ra thay đổi trạng thái thành công hoặc báo lỗi.

Nếu quá trình thực thi bị hoàn tác, những thay đổi trạng thái dự kiến của hợp đồng thường sẽ bị hủy, dù người gửi nhìn chung vẫn phải trả phí cho phần tính toán đã thực hiện.

Kết quả thực thi cuối cùng có thể bao gồm số dư đã cập nhật, dữ liệu lưu trữ được sửa đổi, nhật ký được phát ra, dữ liệu trả về và biên nhận giao dịch.

Vì sao EVM quan trọng trong crypto?

EVM quan trọng vì biến Ethereum từ một mạng lưới chỉ chuyển tiền mã hóa đơn giản thành nền tảng blockchain có thể lập trình.

Nếu không có môi trường thực thi có thể lập trình, blockchain có thể chủ yếu chỉ giới hạn ở việc ghi lại các giao dịch chuyển tài sản gốc.

EVM cho phép nhà phát triển tạo token, thị trường cho vay, giao thức giao dịch phi tập trung, hệ thống stablecoin, trò chơi blockchain, công cụ quản trị, ứng dụng định danh và các dịch vụ on-chain khác.

Hợp đồng thông minh chạy trên EVM có thể nắm giữ tài sản và áp dụng các quy tắc mà không cần quản trị viên tập trung truyền thống phê duyệt từng hành động.

Bất kỳ ai gửi được giao dịch hợp lệ và trả phí cần thiết đều có thể sử dụng cùng một bộ quy tắc thực thi.

Cấu trúc không cần cấp phép này hỗ trợ các ứng dụng crypto mở có thể tương tác với nhau.

EVM cũng trở thành một tiêu chuẩn kỹ thuật quan trọng bên ngoài Ethereum vì nhiều mạng blockchain khác sử dụng môi trường thực thi tương thích hoặc tương đương với EVM.

Việc áp dụng rộng rãi hơn giúp nhà phát triển tái sử dụng hợp đồng thông minh, ví, ngôn ngữ lập trình, tiêu chuẩn token và công cụ phát triển trên nhiều mạng.

EVM có phải là blockchain không?

Bản thân EVM không phải là blockchain.

Đây là hệ thống thực thi ảo dùng để tính toán tác động của các giao dịch blockchain.

Ethereum là mạng blockchain ghi lại các block, duy trì đồng thuận, phân phối dữ liệu và sử dụng EVM để xử lý hoạt động có thể lập trình.

Có thể hình dung Ethereum là toàn bộ mạng lưới, còn EVM là công cụ tính toán bên trong lớp thực thi của mạng.

Các mạng blockchain khác có thể triển khai EVM mà không chia sẻ lịch sử blockchain, validator, số dư, ngân sách bảo mật hay tài sản gốc của Ethereum.

Vì vậy, hai blockchain dựa trên EVM có thể chạy mã hợp đồng thông minh tương tự nhưng vẫn là các mạng hoàn toàn riêng biệt.

EVM xử lý giao dịch như thế nào?

Giao dịch EVM thường bắt đầu khi người dùng chọn một hành động trong ví crypto hoặc ứng dụng phi tập trung.

Ví tạo giao dịch chứa các thông tin như địa chỉ đích, giá trị chuyển, dữ liệu đầu vào, nonce, giới hạn gas và thiết lập phí.

Người dùng ký giao dịch bằng khóa riêng tư.

Chữ ký chứng minh rằng giao dịch đã được người kiểm soát tài khoản gửi cho phép.

Giao dịch đã ký được gửi đến node Ethereum và có thể được đưa vào pool giao dịch đang chờ.

Nhà sản xuất block chọn giao dịch và đưa chúng vào payload của block theo một thứ tự nhất định.

EVM xử lý từng giao dịch dựa trên trạng thái được tạo ra từ tất cả giao dịch đứng trước trong block đó.

Thứ tự này rất quan trọng vì một giao dịch có thể làm thay đổi số dư, giá, quyền phê duyệt hoặc giá trị lưu trữ mà giao dịch khác sử dụng.

Sau khi xử lý toàn bộ block, các execution client tính toán trạng thái Ethereum thu được.

Các node khác lặp lại quá trình này để xác nhận block được đề xuất tuân thủ quy tắc Ethereum.

Tài liệu chính thức về giao dịch Ethereum giải thích cách các chỉ thị đã ký có thể chuyển giá trị, tạo hợp đồng hoặc gọi hợp đồng hiện có.

Chuyển đổi trạng thái EVM

Chuyển đổi trạng thái là quá trình chuyển từ một trạng thái Ethereum hợp lệ sang một trạng thái Ethereum hợp lệ khác.

Trạng thái Ethereum bao gồm tài khoản, số dư ETH, mã hợp đồng thông minh, dữ liệu lưu trữ của hợp đồng và nonce của tài khoản.

EVM nhận trạng thái hiện tại và một giao dịch theo thứ tự làm đầu vào.

Sau đó, EVM áp dụng quy tắc thực thi Ethereum để tính toán trạng thái tiếp theo.

Với giao dịch chuyển ETH cơ bản, quá trình chuyển đổi trạng thái sẽ giảm số dư của người gửi và tăng số dư của người nhận.

Với giao dịch hoán đổi token, quá trình này có thể cập nhật số dư token, hạn mức cho phép, dự trữ của pool thanh khoản, dữ liệu phí và nhật ký sự kiện.

Với giao dịch cho vay, quá trình có thể cập nhật lượng tài sản thế chấp, số dư nợ, chỉ số lãi suất và các chỉ số rủi ro tài khoản.

Mọi execution client hoạt động trung thực đều phải tính ra cùng một kết quả chuyển đổi trạng thái khi có cùng điều kiện ban đầu.

Tính xác định này rất quan trọng vì các node cần thống nhất về kết quả mà không phải tin tưởng một máy tính trung tâm.

Tài khoản Ethereum và EVM

Ethereum có tài khoản do bên ngoài sở hữu và tài khoản hợp đồng.

Tài khoản do bên ngoài sở hữu được kiểm soát bằng khóa riêng tư.

Tài khoản hợp đồng được kiểm soát bằng mã hợp đồng thông minh.

Cả hai loại tài khoản đều có thể nắm giữ ETH, nhưng cách hoạt động khác nhau.

Tài khoản do bên ngoài sở hữu có thể khởi tạo giao dịch sau khi người kiểm soát ký giao dịch đó.

Tài khoản hợp đồng không tự ký một giao dịch thông thường bằng khóa riêng tư.

Mã của tài khoản hợp đồng chạy khi tài khoản nhận được một lệnh gọi hợp lệ thông qua giao dịch hoặc tương tác với hợp đồng khác.

Tài liệu chính thức về tài khoản Ethereum giải thích rằng tài khoản có thể do người dùng kiểm soát hoặc được triển khai dưới dạng hợp đồng thông minh.

EVM đọc thông tin tài khoản khi xác thực giao dịch, chuyển giá trị, tải mã hợp đồng và cập nhật dữ liệu lưu trữ.

Hợp đồng thông minh và EVM

Hợp đồng thông minh là chương trình được lưu trữ tại một địa chỉ Ethereum.

EVM thực thi chương trình đó khi một giao dịch hoặc hợp đồng khác gọi một trong các hàm của nó.

Hợp đồng thông minh có thể chứa biến, hàm, quyền hạn, sự kiện, lỗi và quy tắc xử lý tài sản kỹ thuật số.

Nhà phát triển thường viết hợp đồng thông minh Ethereum bằng Solidity hoặc Vyper.

Mã nguồn được biên dịch thành bytecode EVM cấp thấp hơn trước khi triển khai.

Hướng dẫn chính thức về hợp đồng thông minh Ethereum giải thích rằng việc triển khai và tương tác với hợp đồng cần có giao dịch và gas.

Sau khi được triển khai, bytecode runtime của hợp đồng được lưu trữ như một phần của tài khoản hợp đồng.

EVM đọc và thực thi bytecode đó thay vì hiểu trực tiếp mã nguồn Solidity hoặc Vyper ban đầu.

Điều này quan trọng vì bytecode đã triển khai mới là mã thực sự kiểm soát hành vi on-chain.

Bytecode EVM là gì?

Bytecode EVM là chuỗi chỉ thị mà máy có thể đọc và Ethereum Virtual Machine thực thi.

Bytecode thường được hiển thị dưới dạng một chuỗi giá trị thập lục phân dài.

Mỗi phần của bytecode đại diện cho một opcode, giá trị dữ liệu hoặc thông tin thực thi khác.

Mã nguồn hợp đồng thông minh dễ đọc hơn đối với con người, trong khi bytecode được thiết kế để EVM xử lý.

Hợp đồng đã triển khai thường có mã tạo hợp đồng và mã runtime.

Mã tạo hợp đồng chạy một lần trong quá trình triển khai và trả về mã runtime được lưu lại tại địa chỉ hợp đồng.

Mã runtime chạy mỗi khi người dùng hoặc hợp đồng khác tương tác với hợp đồng đã triển khai.

Phần giới thiệu về hợp đồng thông minh của Solidity giải thích rằng EVM đọc, diễn giải và thực thi các byte được lưu trong vùng mã của hợp đồng.

Nhà phát triển thường công khai và xác minh mã nguồn để người dùng có thể đối chiếu hợp đồng dễ đọc với bytecode đã triển khai.

Opcode EVM là gì?

Opcode là các chỉ thị cấp thấp riêng lẻ mà EVM có thể hiểu.

Mỗi opcode thực hiện một thao tác cụ thể.

Một số opcode thực hiện phép tính số học, so sánh hoặc tính toán bit.

Các opcode khác đọc dữ liệu giao dịch, kiểm tra địa chỉ, tải bộ nhớ, truy cập dữ liệu lưu trữ của hợp đồng, tạo nhật ký hoặc gọi hợp đồng khác.

Ví dụ gồm ADD để cộng, SLOAD để đọc dữ liệu lưu trữ của hợp đồng, SSTORE để thay đổi dữ liệu lưu trữ, CALL để gọi tài khoản khác và REVERT để dừng thực thi đồng thời trả về lỗi.

Tài liệu tham khảo chính thức về opcode EVM của Ethereum liệt kê các chỉ thị hiện có và chi phí gas tương ứng.

Opcode được thực thi tuần tự, trừ khi một chỉ thị thay đổi bộ đếm chương trình hoặc kết thúc quá trình thực thi.

Các bản nâng cấp Ethereum có thể bổ sung chỉ thị, điều chỉnh chi phí gas hoặc thay đổi cách hoạt động của một số thao tác.

Do đó, cài đặt trình biên dịch cần nhắm đến phiên bản EVM được mạng đích hỗ trợ.

Stack EVM hoạt động như thế nào?

EVM thường được mô tả là một máy ảo dựa trên stack.

Stack là cấu trúc dữ liệu tạm thời tuân theo thứ tự vào sau, ra trước.

Opcode EVM thường lấy giá trị từ đầu stack và đưa kết quả trở lại đầu stack.

Ví dụ, một chỉ thị cộng lấy hai giá trị khỏi stack, cộng chúng rồi đưa kết quả trở lại stack.

EVM sử dụng các từ dữ liệu 256 bit cho nhiều thao tác.

Kích thước từ này phù hợp với các phép tính mật mã và giá trị tài khoản của Ethereum.

Stack có độ sâu giới hạn, vì vậy trình biên dịch và nhà phát triển cần sắp xếp các phép tính phức tạp một cách cẩn thận.

Lỗi stack có thể khiến quá trình thực thi thất bại.

Bộ nhớ EVM

Bộ nhớ EVM là vùng tạm thời có thể truy cập theo từng byte, được sử dụng trong một lần gọi hợp đồng.

Bộ nhớ có thể chứa tham số hàm, dữ liệu trả về, mảng tạm thời, giá trị được mã hóa và kết quả tính toán trung gian.

Bộ nhớ được xóa khi ngữ cảnh thực thi hiện tại kết thúc.

Bộ nhớ không được dùng để lưu trữ dữ liệu on-chain lâu dài.

Chi phí gas cho bộ nhớ có thể tăng khi hợp đồng truy cập vùng bộ nhớ lớn hơn.

Vì vậy, sử dụng bộ nhớ hiệu quả có thể giảm chi phí giao dịch phức tạp.

Nhà phát triển cần phân biệt bộ nhớ với storage vì hai khu vực này khác nhau về thời hạn tồn tại, mục đích và chi phí gas.

Storage của EVM

Storage EVM là vùng dữ liệu lâu dài gắn với hợp đồng thông minh.

Giá trị trong storage vẫn là một phần trạng thái Ethereum sau khi giao dịch kết thúc.

Hợp đồng dùng storage để lưu số dư token, thông tin quyền sở hữu, cài đặt giao thức, khoản nợ tài khoản, phiếu quản trị và các dữ liệu dài hạn khác.

Ghi vào storage thường tốn kém hơn đọc bộ nhớ tạm thời vì mọi node xác thực đều phải duy trì và xử lý thay đổi trạng thái.

Storage được tổ chức thành các slot 256 bit.

Solidity ánh xạ các biến, mảng, cấu trúc và mapping cấp cao vào những slot này theo các quy tắc bố cục được xác định.

Thay đổi không an toàn đối với bố cục storage của hợp đồng có thể nâng cấp có thể làm hỏng dữ liệu hiện có.

Vì vậy, thiết kế storage là một phần quan trọng trong bảo mật hợp đồng thông minh và tối ưu gas.

Calldata và dữ liệu trả về

Calldata là dữ liệu đầu vào chỉ đọc được cung cấp cho một lệnh gọi hợp đồng bên ngoài.

Calldata thường chứa bộ chọn hàm, theo sau là các tham số hàm đã mã hóa.

EVM sử dụng thông tin này để xác định hàm cần chạy và các giá trị cần truyền cho hàm.

Calldata khác với bộ nhớ vì hợp đồng nhận không thể trực tiếp sửa đổi nó.

Hợp đồng cũng có thể trả dữ liệu về tài khoản hoặc hợp đồng đã gọi.

Dữ liệu trả về có thể bao gồm số dư token, báo giá đã tính, kết quả giao dịch hoặc lỗi đã mã hóa.

Ứng dụng bên ngoài thường dùng lệnh gọi chỉ đọc để mô phỏng hàm hợp đồng và lấy dữ liệu trả về mà không tạo giao dịch on-chain.

Gas và EVM

Gas là đơn vị đo khối lượng công việc tính toán do EVM thực hiện.

Mỗi opcode có chi phí gas xác định.

Một giao dịch chuyển ETH đơn giản thường cần ít gas hơn giao dịch phức tạp liên quan đến nhiều hợp đồng thông minh và thay đổi storage.

Người gửi chọn giới hạn gas để đặt mức gas tối đa mà giao dịch có thể tiêu thụ.

Nếu giao dịch dùng hết gas trước khi hoàn tất, giao dịch sẽ hết gas và các thay đổi trạng thái dự kiến bị hoàn tác.

Người gửi vẫn phải trả phí cho phần tính toán đã thực hiện.

Tài liệu chính thức về gas và phí Ethereum giải thích rằng giao dịch hợp đồng thông minh phức tạp hơn đòi hỏi nhiều công việc tính toán hơn và giới hạn gas cao hơn.

Gas ngăn chương trình sử dụng tài nguyên mạng không giới hạn.

Nếu không có gas, mã lỗi hoặc độc hại có thể khiến mọi execution client phải gánh khối lượng tính toán không bao giờ kết thúc.

Giới hạn gas và giá gas

Giới hạn gas là lượng gas tính toán tối đa mà giao dịch được phép sử dụng.

Giá gas xác định số tiền người gửi sẵn sàng trả cho mỗi đơn vị gas theo quy tắc phí áp dụng.

Giới hạn gas cao không có nghĩa giao dịch nhất thiết sẽ tiêu thụ hết lượng gas đó.

Thông thường, người gửi trả phí dựa trên lượng gas thực tế đã dùng, theo quy tắc phí giao dịch hiện hành.

Giới hạn gas quá thấp có thể khiến giao dịch thất bại trước khi hoàn tất thực thi.

Mức phí quá thấp có thể khiến giao dịch tiếp tục chờ khi nhu cầu không gian block cao.

Ví thường ước tính cả hai giá trị, nhưng các ước tính có thể thay đổi do trạng thái Ethereum và nhu cầu mạng biến động trước khi giao dịch được đưa vào block.

Hợp đồng biên dịch sẵn

Hợp đồng biên dịch sẵn là các hàm đặc biệt ở cấp giao thức, có sẵn tại những địa chỉ Ethereum được dành riêng.

Có thể gọi chúng theo cách tương tự một lệnh gọi hợp đồng thông minh thông thường.

Tuy nhiên, hành vi của chúng được triển khai trực tiếp trong execution client, thay vì bằng bytecode EVM thông thường được lưu tại địa chỉ đó.

Hợp đồng biên dịch sẵn thường dùng cho các thao tác mật mã mà nếu thực hiện bằng chuỗi opcode thông thường sẽ kém hiệu quả.

Tài liệu Solidity về hợp đồng biên dịch sẵn giải thích rằng hành vi và lượng gas sử dụng của chúng được triển khai bên trong môi trường thực thi EVM.

Các bản nâng cấp Ethereum có thể bổ sung hợp đồng biên dịch sẵn khi mạng cần các thao tác tiêu chuẩn hiệu quả.

Lệnh gọi thông điệp

Lệnh gọi thông điệp là tương tác EVM trong đó một tài khoản gọi tài khoản khác.

Tài khoản do bên ngoài sở hữu có thể bắt đầu quy trình bằng cách gửi giao dịch đã ký.

Sau đó, hợp đồng thông minh có thể gọi một hợp đồng khác trong quá trình thực thi.

Lệnh gọi thông điệp có thể chuyển ETH, cung cấp dữ liệu đầu vào, cấp gas và yêu cầu thực thi mã hợp đồng.

Các lệnh gọi lồng nhau cho phép nhiều ứng dụng tương tác trong một giao dịch.

Tuy nhiên, lệnh gọi lồng nhau cũng tạo ra rủi ro bảo mật vì hợp đồng bên ngoài có thể hoạt động theo cách bất ngờ hoặc độc hại.

Hợp đồng an toàn cần quản lý cẩn thận các lệnh gọi bên ngoài và bảo vệ trạng thái quan trọng khỏi reentrancy cùng những rủi ro tương tác khác.

Tạo hợp đồng

EVM có thể tạo hợp đồng thông minh mới khi xử lý giao dịch tạo hợp đồng hoặc opcode tạo hợp đồng.

Quá trình triển khai bắt đầu bằng mã khởi tạo.

Mã khởi tạo có thể xử lý tham số của hàm khởi tạo, thiết lập giá trị storage ban đầu và trả về bytecode runtime.

Sau đó, bytecode runtime được lưu tại địa chỉ hợp đồng mới.

Triển khai hợp đồng cần gas vì EVM phải chạy mã tạo hợp đồng và thêm mã cùng trạng thái lâu dài vào Ethereum.

Hợp đồng lớn hơn và hàm khởi tạo phức tạp hơn thường tốn nhiều chi phí triển khai hơn.

Quá trình triển khai có thể thất bại nếu hết gas, vi phạm quy tắc thực thi hoặc bị hoàn tác trong quá trình khởi tạo.

Sự kiện và nhật ký

Hợp đồng thông minh có thể tạo nhật ký trong quá trình EVM thực thi.

Nhà phát triển thường công khai các nhật ký này thông qua event trong Solidity.

Event có thể ghi lại giao dịch chuyển token, hoán đổi, nạp tiền, phiếu quản trị, thay đổi quyền hạn và hoạt động hợp đồng khác.

Nhật ký được lưu trong biên nhận giao dịch và có thể được ứng dụng bên ngoài lập chỉ mục.

Nhật ký hữu ích cho ví, trình khám phá blockchain, hệ thống phân tích và giao diện ứng dụng phi tập trung.

Hợp đồng không thể trực tiếp đọc các nhật ký sự kiện cũ theo cách đọc storage.

Vì vậy, event không nên là nguồn thông tin duy nhất mà quá trình thực thi hợp đồng trong tương lai cần đến.

Hoàn tác và giao dịch EVM thất bại

Giao dịch EVM có thể thất bại vì nhiều lý do.

Giao dịch có thể có chữ ký không hợp lệ, nonce sai, số dư không đủ, thiếu gas hoặc định dạng không được hỗ trợ.

Hợp đồng thông minh cũng có thể chủ động hoàn tác khi một điều kiện bắt buộc không được đáp ứng.

Ví dụ, giao dịch chuyển token có thể bị hoàn tác nếu người gửi không có đủ token.

Giao dịch hoán đổi phi tập trung có thể bị hoàn tác nếu lượng token nhận được thấp hơn mức tối thiểu người dùng đặt.

Kiểm tra quyền của hợp đồng có thể bị hoàn tác nếu người gọi không được cấp quyền.

Việc hoàn tác thường hủy các thay đổi trạng thái được thực hiện trong nhánh thực thi thất bại.

Gas đã tiêu thụ thường không được hoàn lại vì execution client đã thực hiện công việc được yêu cầu.

Giao dịch thất bại không nhất thiết có nghĩa Ethereum hoặc EVM gặp sự cố.

Thông thường, điều đó có nghĩa giao dịch cụ thể không đáp ứng được quy tắc của hợp đồng hoặc giao thức trong trạng thái hiện tại.

Thực thi nguyên tử

Giao dịch EVM có tính nguyên tử, nghĩa là các thay đổi trạng thái trong phạm vi thực thi của giao dịch sẽ cùng thành công hoặc cùng thất bại.

Đặc tính này cho phép một giao dịch phức tạp thực hiện nhiều bước liên kết mà không chỉ để lại một phần kết quả dự kiến.

Ví dụ, một giao dịch DeFi có thể vay tài sản, hoán đổi, trả một nghĩa vụ khác và cập nhật tài sản thế chấp trong cùng một lần thực thi.

Nếu một bước bắt buộc thất bại và giao dịch bị hoàn tác, các thay đổi trạng thái trước đó trong giao dịch đó cũng được đảo ngược.

Tính nguyên tử giảm một số rủi ro thanh toán, nhưng không đảm bảo giao dịch có lợi về tài chính hoặc an toàn.

Hợp đồng độc hại vẫn có thể hoàn tất giao dịch nguyên tử và chuyển tài sản của người dùng đã cấp quyền cho hợp đồng.

Thực thi xác định

EVM có tính xác định vì cùng một đầu vào hợp lệ và trạng thái ban đầu phải tạo ra cùng một kết quả trên mọi execution client trung thực.

Tính xác định là điều kiện cần cho việc xác minh phi tập trung.

Nếu các node tính ra kết quả khác nhau từ cùng một giao dịch, chúng sẽ không thể thống nhất về số dư hoặc trạng thái hợp đồng.

Do đó, hợp đồng thông minh không thể trực tiếp yêu cầu thông tin bên ngoài đang thay đổi từ website thông thường hoặc cơ sở dữ liệu riêng trong lúc EVM thực thi.

Dữ liệu bên ngoài thường được đưa vào thông qua oracle hoặc một giao dịch on-chain khác.

Khi đó, mọi node đều có thể xử lý cùng giá trị được gửi theo cùng quy tắc hợp đồng.

EVM và cơ chế đồng thuận

EVM thực hiện việc xử lý, trong khi hệ thống đồng thuận Ethereum giúp validator thống nhất về thứ tự được chấp nhận và tính cuối cùng của các block.

Lớp thực thi xác định liệu giao dịch và thay đổi trạng thái có tuân thủ quy tắc Ethereum hay không.

Cơ chế đồng thuận xác định lịch sử chuỗi hợp lệ nào được mạng chấp nhận.

Sau khi Ethereum chuyển sang Proof of Stake, full node sử dụng cả execution client và consensus client.

Execution client chạy giao dịch và duy trì trạng thái thực thi Ethereum.

Consensus client theo dõi hoạt động validator, đề xuất block, attestation, lựa chọn nhánh và finality.

Tài liệu chính thức về node và client Ethereum giải thích cách các thành phần client này phối hợp với nhau.

EVM không thể tự quyết định block được đề xuất nào sẽ trở thành chuỗi chính thức.

Cơ chế đồng thuận cũng không thể tự tính toán kết quả hợp đồng thông minh phức tạp nếu không có lớp thực thi.

Execution client của EVM

Execution client là phần mềm triển khai quy tắc thực thi của Ethereum.

Phần mềm này xác thực giao dịch, xử lý bytecode EVM, duy trì trạng thái blockchain, giao tiếp với các node ngang hàng và cung cấp giao diện ứng dụng.

Các phiên bản execution client khác nhau có thể được viết bằng những ngôn ngữ lập trình khác nhau nhưng vẫn tuân thủ cùng thông số giao thức.

Đa dạng client giúp tăng khả năng chống chịu vì Ethereum không phụ thuộc hoàn toàn vào một cơ sở mã phần mềm duy nhất.

Tuy nhiên, mọi execution client tương thích đều phải tính ra cùng một kết quả hợp lệ.

Thông số kỹ thuật lớp thực thi Ethereum cung cấp tài liệu tham chiếu có thể đọc và thực thi về hành vi thực thi Ethereum cũng như các bản nâng cấp mạng.

Các bài kiểm thử thông số thực thi giúp nhà phát triển xác nhận rằng những client khác nhau xử lý các tình huống bất thường một cách nhất quán.

EVM và JSON-RPC

Ví và ứng dụng phi tập trung thường giao tiếp với execution client thông qua các phương thức JSON-RPC.

Các phương thức này có thể đọc số dư tài khoản, ước tính gas, mô phỏng lệnh gọi hợp đồng, truy xuất nhật ký, kiểm tra block và gửi giao dịch đã ký.

Thông số kỹ thuật Ethereum Execution API mô tả JSON-RPC là giao diện chuẩn giữa người dùng, hạ tầng và execution client.

Lệnh gọi RPC chỉ đọc có thể yêu cầu execution client mô phỏng hành vi EVM mà không thêm giao dịch vào blockchain.

Phương thức gửi giao dịch đã ký phát tán giao dịch, sau đó giao dịch có thể được đưa vào block.

Nhà cung cấp RPC giúp ứng dụng thuận tiện hơn, nhưng người dùng dựa vào nhà cung cấp từ xa phải tin rằng nhà cung cấp trả về dữ liệu chính xác và luôn khả dụng.

Tự vận hành node cá nhân có thể cung cấp quyền truy cập trực tiếp và độc lập hơn vào thông tin thực thi Ethereum.

Blockchain tương thích và tương đương EVM

Blockchain tương thích EVM hỗ trợ hợp đồng thông minh và công cụ được xây dựng cho Ethereum Virtual Machine.

Blockchain tương đương EVM thường hướng đến việc tái tạo hành vi thực thi Ethereum sát hơn.

Cả hai mô hình đều có thể cho phép nhà phát triển sử dụng Solidity, địa chỉ theo chuẩn Ethereum, ví quen thuộc và tiêu chuẩn token phổ biến.

Tuy nhiên, một mạng EVM khác có thể có validator, phí, quy tắc finality, thời gian tạo block, bridge, hợp đồng hệ thống và giả định bảo mật khác nhau.

Hợp đồng hoạt động trên Ethereum vẫn có thể cần được kiểm thử trước khi triển khai trên mạng EVM khác.

Mục tiêu trình biên dịch, opcode được hỗ trợ, hợp đồng biên dịch sẵn, loại giao dịch, cách tính gas và các phụ thuộc bên ngoài có thể khác nhau.

Tài liệu trình biên dịch Solidity cảnh báo rằng biên dịch nhắm đến sai phiên bản EVM có thể dẫn đến hành vi sai hoặc thất bại.

Tính tương thích EVM giúp tăng khả năng chuyển đổi, nhưng không khiến các blockchain riêng biệt trở nên giống hệt nhau.

Nâng cấp EVM

EVM có thể thay đổi thông qua các bản nâng cấp giao thức Ethereum.

Bản nâng cấp có thể bổ sung opcode, điều chỉnh chi phí gas, thêm loại giao dịch, thay đổi hành vi tài khoản hoặc cung cấp hợp đồng biên dịch sẵn mới.

Những thay đổi giao thức được đề xuất thường được ghi lại trong Ethereum Improvement Proposals.

Sau quá trình xem xét, kiểm thử, phối hợp và được cộng đồng chấp nhận, một số thay đổi được chọn có thể đưa vào bản nâng cấp mạng.

Execution client phải cập nhật phần mềm để tuân thủ quy tắc mới tại thời điểm kích hoạt.

Nhà phát triển hợp đồng thông minh nên theo dõi các bản nâng cấp vì quy tắc mới có thể ảnh hưởng đến mục tiêu biên dịch, ước tính gas, assembly cấp thấp và hành vi hợp đồng.

Hợp đồng nên tránh phụ thuộc vào hành vi EVM chưa được ghi chép, vốn có thể không ổn định qua các bản nâng cấp.

Rủi ro bảo mật EVM

EVM thực thi bytecode hợp lệ một cách nhất quán, nhưng không đảm bảo bytecode đó an toàn hoặc công bằng.

Hợp đồng thông minh có thể chứa lỗi lập trình, quyền hạn yếu, cơ chế nâng cấp không an toàn, lỗ hổng kinh tế hoặc chức năng độc hại có chủ đích.

EVM vẫn có thể thực thi chính xác logic gây hại đó vì bản thân các chỉ thị là hợp lệ.

Rủi ro hợp đồng thông minh thường gặp gồm reentrancy, lỗi kiểm soát truy cập, thao túng oracle, sai sót số học, sử dụng chữ ký không đúng cách, xung đột storage và lệnh gọi bên ngoài không an toàn.

Lỗi trình biên dịch cũng có thể ảnh hưởng đến bytecode đã triển khai.

Danh sách lỗi trình biên dịch đã biết chính thức của Solidity giúp nhà phát triển nhận diện các vấn đề liên quan đến bảo mật theo từng phiên bản trình biên dịch.

Kiểm toán, kiểm thử, xác minh hình thức, đánh giá mã, giới hạn quyền hạn và kiểm soát nâng cấp thận trọng có thể giảm rủi ro.

Không cuộc kiểm toán nào có thể đảm bảo hợp đồng EVM sẽ không bao giờ gặp lỗi hoặc bị khai thác.

Rủi ro EVM đối với người dùng crypto

Người dùng crypto tương tác với EVM mỗi khi phê duyệt token, ký giao dịch hoặc sử dụng hợp đồng thông minh Ethereum.

Chữ ký ví có thể cấp quyền nhiều hơn một giao dịch chuyển tiền đơn giản.

Chữ ký có thể phê duyệt việc chi tiêu token, gọi hợp đồng, tạo ủy quyền hoặc cấp một loại quyền khác.

Người dùng nên đọc yêu cầu giao dịch và xác minh hợp đồng đích trước khi ký.

Việc EVM thực thi thành công chỉ chứng minh giao dịch tuân theo mã và quy tắc giao thức.

Điều đó không chứng minh người dùng mong muốn kết quả ấy hoặc ứng dụng đáng tin cậy.

Ứng dụng phi tập trung độc hại có thể dùng lệnh gọi EVM hợp lệ để chuyển tài sản đã được phê duyệt.

Người dùng nên tránh liên kết không rõ nguồn gốc, xác minh địa chỉ hợp đồng, giới hạn quyền phê duyệt token và tách tài sản dài hạn khỏi ví dùng cho các ứng dụng thử nghiệm.

Rủi ro EVM đối với trader crypto

Trader crypto có thể đối mặt với rủi ro liên quan đến EVM khi sử dụng giao thức giao dịch phi tập trung, cho vay, staking, bridge hoặc thanh lý.

Giao dịch có thể thất bại vì giá đã thay đổi trước khi EVM thực thi giao dịch.

Giao dịch hoán đổi có thể cho kết quả kém hơn nếu người dùng đặt phạm vi trượt giá quá rộng.

Giao dịch có thể bị sắp xếp lại so với các giao dịch khác trong cùng block.

Thứ tự này có thể ảnh hưởng đến giá trong pool, kết quả thanh lý và lượng token khả dụng.

Phí gas cao cũng có thể khiến việc đóng hoặc điều chỉnh vị thế on-chain trở nên tốn kém trong giai đoạn thị trường căng thẳng.

Trader có thể có đủ token làm tài sản thế chấp nhưng không có đủ ETH gốc của mạng để trả phí thực thi.

Vì vậy, duy trì số dư gas và rà soát cài đặt giao dịch là một phần của quản lý rủi ro khi giao dịch on-chain.

EVM và giá trị có thể trích xuất tối đa

Giá trị có thể trích xuất tối đa là giá trị có thể thu được bằng cách kiểm soát hoặc tác động đến việc đưa giao dịch vào block và thứ tự giao dịch.

EVM xử lý giao dịch theo thứ tự do block cung cấp.

Nếu hai giao dịch tương tác với cùng một pool thanh khoản, giao dịch thứ nhất có thể làm thay đổi kết quả mà giao dịch thứ hai nhận được.

Searcher và hệ thống xây dựng block có thể tận dụng đặc tính này để arbitrage, thanh lý hoặc thực hiện chiến lược khác.

Một số chiến lược giúp giá đồng bộ tốt hơn, trong khi những chiến lược khác có thể khiến người dùng nhận được mức khớp lệnh kém hơn.

Tấn công sandwich đặt giao dịch trước và sau giao dịch hoán đổi của người dùng để kiếm lợi từ tác động giá của giao dịch đó.

Tài liệu chính thức của Ethereum về giá trị có thể trích xuất tối đa giải thích cách việc đưa, loại trừ và sắp xếp giao dịch có thể tạo ra giá trị kinh tế.

Người dùng có thể giảm một số mức độ phơi nhiễm bằng cách dùng giới hạn trượt giá phù hợp, tránh nơi có thanh khoản nông và xem xét các tùy chọn thực thi được bảo vệ nếu có.

EVM và tiêu chuẩn token

EVM cho phép nhà phát triển triển khai các giao diện token dùng chung thông qua hợp đồng thông minh.

ERC-20 quy định giao diện phổ biến cho token có thể thay thế.

ERC-721 và ERC-1155 hỗ trợ các cấu trúc phổ biến cho tài sản độc nhất và tài sản đa token.

Các tiêu chuẩn dùng chung cho phép ví, giao diện giao dịch, trình khám phá blockchain và ứng dụng phi tập trung tương tác với nhiều token thông qua các hàm quen thuộc.

Tài liệu chính thức về tiêu chuẩn token Ethereum giải thích cách các giao diện chung cải thiện khả năng tương tác.

Tiêu chuẩn token quy định các hàm và sự kiện dự kiến có, nhưng không đảm bảo mọi hợp đồng token đều an toàn hoặc được quản lý trung thực.

Hợp đồng token vẫn có thể chứa quy tắc chuyển token tùy chỉnh, phí, blacklist, quyền mint hoặc quyền nâng cấp.

EVM và mạng Layer 2

Nhiều mạng Layer 2 của Ethereum cung cấp môi trường thực thi tương thích hoặc tương đương EVM.

Các mạng này xử lý giao dịch bên ngoài môi trường thực thi chính của Ethereum và sử dụng Ethereum cho một phần cơ chế thanh toán, tính khả dụng dữ liệu hoặc mô hình bảo mật.

Điều này có thể giảm chi phí giao dịch và tăng thông lượng.

Tổng quan chính thức về Ethereum Layer 2 giải thích cách rollup xử lý hoạt động bên ngoài Ethereum Layer 1 trong khi sử dụng Ethereum làm nền tảng thanh toán.

EVM trên Layer 2 có thể chạy bytecode hợp đồng thông minh tương tự nhưng sử dụng quy trình tạo block, tính phí, rút tiền và finality khác nhau.

Người dùng nên tìm hiểu sequencer, bridge, hệ thống proof, phương thức công bố dữ liệu và cơ chế kiểm soát nâng cấp của mạng Layer 2 cụ thể.

EVM tương đồng không loại bỏ các rủi ro bổ sung do hạ tầng Layer 2 tạo ra.

Lợi ích của EVM

EVM cung cấp môi trường tiêu chuẩn hóa cho các ứng dụng crypto có thể lập trình.

EVM cho phép các node độc lập xác minh cùng kết quả của hợp đồng thông minh.

EVM hỗ trợ triển khai mở vì nhà phát triển thường không cần sự cho phép của đơn vị vận hành tập trung để công bố hợp đồng.

EVM hỗ trợ khả năng kết hợp vì một hợp đồng thông minh có thể tương tác với hợp đồng khác.

EVM hỗ trợ các tiêu chuẩn token và công cụ phát triển được sử dụng rộng rãi.

EVM cũng cung cấp cho các mạng blockchain khác một mô hình thực thi chung, có thể giảm chi phí chuyển đổi của nhà phát triển.

Nguồn công cụ, tài liệu, kiến thức kiểm thử và nghiên cứu bảo mật phong phú về EVM có thể giúp việc phát triển ứng dụng dễ tiếp cận hơn.

Hạn chế của EVM

Tính toán EVM tốn kém hơn tính toán thông thường trên máy chủ tập trung vì nhiều node phải xác minh kết quả.

Storage lâu dài cũng tốn kém vì làm tăng trạng thái blockchain mà execution client phải duy trì.

Không gian block Ethereum có giới hạn, vì vậy phí giao dịch có thể tăng khi nhiều người dùng cùng cạnh tranh quyền thực thi.

EVM xử lý các chuyển đổi trạng thái theo thứ tự, điều này có thể hạn chế thông lượng khi nhiều giao dịch truy cập cùng trạng thái.

Hợp đồng thông minh khó thay đổi sau khi triển khai, trừ khi hệ thống nâng cấp đã được thiết kế từ trước.

Khả năng nâng cấp đem lại sự linh hoạt nhưng cũng tạo ra rủi ro liên quan đến quản trị viên và bố cục storage.

EVM cũng không thể xác định thông tin bên ngoài có đúng hay không nếu không dựa vào dữ liệu được gửi qua oracle hoặc một quy trình đáng tin cậy khác.

Ví dụ về hoán đổi token trên EVM

Giả sử người dùng muốn hoán đổi một token ERC-20 lấy một token ERC-20 khác thông qua pool thanh khoản phi tập trung.

Ví tạo dữ liệu giao dịch để gọi pool hoặc hợp đồng định tuyến.

Người dùng ký giao dịch và gửi giao dịch đến mạng Ethereum.

Sau khi giao dịch được đưa vào block, EVM kiểm tra hạn mức token của người dùng và gọi các hợp đồng cần thiết.

Các hợp đồng tính toán kết quả hoán đổi hiện tại, áp dụng phí giao thức và so sánh lượng đầu ra với mức tối thiểu người dùng chấp nhận.

Nếu các điều kiện được đáp ứng, EVM cập nhật số dư token và dữ liệu storage của pool thanh khoản.

EVM cũng tạo nhật ký sự kiện để ứng dụng bên ngoài có thể đọc.

Nếu lượng đầu ra thấp hơn mức tối thiểu của người dùng hoặc một điều kiện khác không được đáp ứng, giao dịch sẽ bị hoàn tác.

Thông thường, người dùng vẫn phải trả lượng gas đã tiêu thụ trước khi giao dịch bị hoàn tác.

Ví dụ này cho thấy quá trình thực thi EVM kết nối chữ ký ví, phê duyệt token, hợp đồng thông minh, gas, thay đổi trạng thái và biên nhận giao dịch như thế nào.

Cách kiểm tra giao dịch EVM

Trước tiên, hãy xác nhận mạng nơi giao dịch sẽ được thực thi.

Tiếp theo, xác minh địa chỉ đích hoặc hợp đồng thông minh.

Sau đó, kiểm tra tài sản và số lượng được chuyển.

Tiếp theo, xem giao dịch có yêu cầu phê duyệt token hoặc cấp một quyền hạn tiếp tục có hiệu lực khác hay không.

Kiểm tra ước tính gas và mức phí tối đa.

Với giao dịch phi tập trung, hãy kiểm tra lượng đầu ra dự kiến, lượng nhận tối thiểu và thời hạn giao dịch.

Nếu phù hợp, hãy dùng trình khám phá blockchain hoặc công cụ mô phỏng đáng tin cậy để xem xét giao dịch.

Không ký giao dịch nếu ví không thể giải thích hành động hoặc nếu không rõ nguồn gốc giao dịch.

Duy trì đủ ETH cho các giao dịch trong tương lai, bao gồm cả việc thoát khẩn cấp khỏi vị thế on-chain.

Cuối cùng, hãy nhớ rằng giao dịch EVM đã xác nhận thường rất khó hoặc không thể đảo ngược.

Những hiểu lầm thường gặp về EVM

Một hiểu lầm phổ biến là EVM là máy tính vật lý do một tổ chức sở hữu.

Trên thực tế, đây là mô hình thực thi dùng chung được nhiều client độc lập triển khai.

Một hiểu lầm khác là EVM lưu trữ toàn bộ tiền mã hóa bên trong hợp đồng thông minh.

EVM xử lý trạng thái, còn quyền sở hữu được thể hiện thông qua bản ghi tài khoản và hợp đồng trên blockchain.

Hiểu lầm thứ ba là EVM và Ethereum là một.

EVM là một thành phần quan trọng trong giao thức Ethereum rộng hơn.

Hiểu lầm thứ tư là quá trình thực thi EVM hợp lệ đảm bảo giao dịch an toàn.

EVM có thể thực thi chính xác logic hợp đồng độc hại hoặc gây thiệt hại về kinh tế.

Hiểu lầm thứ năm là mọi mạng EVM đều có mức độ bảo mật như Ethereum.

Các mạng dựa trên EVM khác có thể có validator, bridge, hệ thống quản trị và giả định tin cậy khác nhau.

Hiểu lầm thứ sáu là giao dịch thất bại không mất phí.

Quá trình thực thi EVM thất bại thường vẫn tiêu thụ gas cho phần công việc đã thực hiện.

Câu hỏi thường gặp

EVM là viết tắt của từ gì?

EVM là viết tắt của Ethereum Virtual Machine.

EVM là gì theo cách giải thích đơn giản?

EVM là môi trường tính toán ảo chạy hợp đồng thông minh Ethereum và tính toán kết quả của giao dịch on-chain.

EVM có phải máy tính thật không?

Không. Đây là mô hình thực thi ảo được triển khai bởi các execution client Ethereum chạy trên nhiều máy tính độc lập.

EVM có giống Ethereum không?

Không. EVM là môi trường thực thi hợp đồng thông minh của Ethereum, còn Ethereum còn bao gồm cơ chế đồng thuận, mạng lưới, validator, block và các thành phần giao thức khác.

Ngôn ngữ lập trình nào tương thích với EVM?

Solidity và Vyper là những ngôn ngữ hợp đồng thông minh được sử dụng rộng rãi và biên dịch thành bytecode EVM.

Bytecode EVM là gì?

Bytecode EVM là chuỗi chỉ thị cấp thấp mà máy có thể đọc và Ethereum Virtual Machine thực thi.

Opcode EVM là gì?

Opcode là các chỉ thị EVM riêng lẻ, thực hiện thao tác như tính toán số học, truy cập storage, gọi hợp đồng và xử lý lỗi.

Vì sao EVM sử dụng gas?

Gas đo khối lượng tính toán, định giá tài nguyên thực thi có giới hạn và ngăn chương trình tiêu thụ năng lực xử lý không giới hạn.

Điều gì xảy ra khi giao dịch EVM hết gas?

Các thay đổi trạng thái dự kiến bị hoàn tác, nhưng người gửi thường vẫn phải trả phí gas đã tiêu thụ trước khi quá trình thực thi dừng lại.

EVM có thể thực thi hợp đồng độc hại không?

Có. EVM thực thi bytecode hợp lệ về mặt kỹ thuật ngay cả khi hợp đồng chứa logic gây hại, gian dối hoặc không an toàn.

Mọi blockchain EVM có kết nối với nhau không?

Không. Các blockchain EVM có thể dùng công nghệ thực thi tương tự nhưng duy trì số dư, block, validator, hợp đồng và lịch sử giao dịch riêng biệt.

Cùng một địa chỉ ví có dùng được trên mọi blockchain EVM không?

Cùng một khóa riêng tư thường có thể tạo ra địa chỉ theo cùng định dạng, nhưng tài sản và hoạt động tại địa chỉ đó vẫn riêng biệt trên từng blockchain.

Có thể đảo ngược giao dịch EVM không?

Giao dịch EVM đã xác nhận thường không thể đảo ngược, trừ khi hợp đồng nhận có hàm hợp lệ để tạo một giao dịch mới nhằm điều chỉnh kết quả.

Vì sao giao dịch EVM thất bại dù mô phỏng trên ví thành công?

Trạng thái blockchain, điều kiện gas, giá, thanh khoản hoặc storage của hợp đồng có thể thay đổi trước khi giao dịch thực sự được thực thi.

EVM khác execution client như thế nào?

EVM là máy ảo và bộ quy tắc tính toán hợp đồng thông minh, còn execution client là phần mềm triển khai các quy tắc đó và quản lý dữ liệu thực thi Ethereum.

Mạng Layer 2 có sử dụng EVM không?

Nhiều mạng Layer 2 sử dụng môi trường tương thích hoặc tương đương EVM để có thể tái sử dụng công cụ và hợp đồng thông minh Ethereum.

Kết luận

EVM, hay Ethereum Virtual Machine, là môi trường thực thi có thể lập trình ở trung tâm hệ thống hợp đồng thông minh của Ethereum.

EVM xử lý chỉ thị giao dịch, thực thi bytecode, tính lượng gas tiêu thụ, cập nhật trạng thái blockchain và tạo kết quả giao dịch.

EVM cho phép Ethereum hỗ trợ token, tài chính phi tập trung, NFT, hệ thống quản trị, trò chơi blockchain và nhiều ứng dụng crypto khác.

Quy tắc có tính xác định của EVM giúp các execution client độc lập xác minh cùng một kết quả mà không cần tin tưởng một máy tính trung tâm.

Hợp đồng thông minh được viết bằng ngôn ngữ con người có thể đọc và biên dịch thành bytecode EVM gồm các opcode cấp thấp.

Trong quá trình thực thi, EVM dùng stack, bộ nhớ, calldata, storage lâu dài, lệnh gọi thông điệp, nhật ký và các thành phần khác để xử lý logic hợp đồng.

Gas giới hạn khối lượng tính toán và yêu cầu người dùng trả phí cho tài nguyên mạng mà giao dịch tiêu thụ.

EVM phối hợp với lớp đồng thuận Ethereum, nhưng thực thi và đồng thuận đảm nhiệm những chức năng khác nhau.

Blockchain tương thích EVM và mạng Layer 2 có thể tái sử dụng công nghệ Ethereum, dù mức độ bảo mật, phí, finality và hạ tầng có thể khác nhau.

Đối với người dùng crypto, hiểu về EVM giúp đánh giá phí gas, phê duyệt hợp đồng thông minh, giao dịch thất bại, tiêu chuẩn token, ứng dụng phi tập trung và rủi ro giao dịch on-chain dễ dàng hơn.

EVM mạnh mẽ vì thực thi các quy tắc có thể lập trình và minh bạch, nhưng không quyết định những quy tắc đó có an toàn hay có lợi về tài chính hay không.

Người dùng và nhà phát triển vẫn cần xác minh hợp đồng, quản lý quyền hạn, kiểm thử mã, xem xét khác biệt giữa các mạng và coi mọi giao dịch đã ký là một sự ủy quyền quan trọng.
BTC ETFs See $679M in Outflows
BTC ETFs See $679M in OutflowsBTC ETFs See $679M in Outflows
Citi sees BTC at $113K. What do institutions see?