Custom Virtual Machine là gì?
Custom Virtual Machine, hay Custom VM, là môi trường thực thi blockchain được thiết kế với bộ quy tắc riêng để xử lý giao dịch, chạy chương trình, quản lý trạng thái và đo lường tài nguyên tính toán.Nói đơn giản, Custom VM là thành phần của blockchain quyết định chương trình có thể làm gì và mỗi giao dịch hợp lệ làm thay đổi trạng thái blockchain như thế nào.Đội ngũ phát triển có thể xây dựng Custom VM thay vì dùng môi trường hiện có như Ethereum Virtual Machine khi cần các tính năng khác về hiệu năng, bảo mật, lập trình, quyền riêng tư hoặc ứng dụng.Từ “custom” có nghĩa môi trường thực thi được tạo mới, sửa đổi hoặc tối ưu cho nhu cầu của một blockchain, rollup, chuỗi ứng dụng hoặc hệ thống chứng minh mật mã cụ thể.Custom VM có thể có tập lệnh, cấu trúc tài khoản, quy tắc lưu trữ, định dạng giao dịch, mô hình phí, hàm hệ thống và ngôn ngữ hợp đồng thông minh riêng.Nó cũng có thể được tạo ra bằng cách sửa đổi máy ảo hiện có, thay vì thiết kế hoàn toàn từ đầu.Ví dụ, tài liệu chính thức về thực thi chương trình của Solana mô tả sBPF là một biến thể tùy chỉnh của bytecode eBPF, được điều chỉnh cho runtime blockchain của Solana.
Custom VM rất quan trọng vì các node blockchain phải thực thi giao dịch theo cùng một cách để thống nhất về số dư, hợp đồng, quyền sở hữu và trạng thái ứng dụng.Nếu hai node trung thực thực thi cùng một giao dịch nhưng cho ra kết quả khác nhau, mạng có thể bị chia tách hoặc từ chối block.Vì lý do này, VM blockchain phải có tính xác định, bảo mật, giới hạn tài nguyên và đặc tả chính xác.Máy ảo blockchain làm gì?
Máy ảo blockchain hoạt động như một máy tính được kiểm soát mà mọi node xác thực đều có thể tái hiện.Máy nhận giao dịch hoặc chỉ thị chương trình rồi áp dụng chúng vào trạng thái blockchain hiện tại.VM kiểm tra giao dịch có tuân thủ quy tắc giao thức hay không, người gửi có đủ quyền hạn hay không và tài nguyên thực thi có đủ hay không.Sau đó, VM thực hiện các thao tác được phép như chuyển token, thay đổi dữ liệu lưu trữ của hợp đồng, mint NFT, cập nhật vị thế cho vay hoặc bỏ phiếu quản trị.Sau khi thực thi, VM tạo ra trạng thái mới để các node khác có thể xác minh độc lập.Tài liệu 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.
Custom VM có cùng mục đích tổng quát nhưng có thể sử dụng kiến trúc và quy tắc thực thi khác.VM thường không phụ trách mọi thành phần của blockchain.Cơ chế đồng thuận xác định cách các node thống nhất về thứ tự và việc chấp nhận block, còn VM xác định các giao dịch theo thứ tự đó sẽ thực hiện việc gì.Khả dụng dữ liệu xác định liệu có thể truy xuất dữ liệu giao dịch cần thiết để xác minh hay không.Thanh toán xác định nơi kết quả, bằng chứng hoặc tranh chấp được công nhận cuối cùng trong các hệ thống modular.Custom VM thuộc lớp thực thi, dù thiết kế của nó có thể ảnh hưởng đến tất cả các lớp khác.Vì sao blockchain xây dựng Custom VM?
Blockchain xây dựng Custom VM khi môi trường thực thi đa dụng không cung cấp hiệu năng hoặc tính năng cần thiết cho ứng dụng dự kiến.Blockchain được thiết kế cho giao dịch tần suất cao có thể cần thực thi giao dịch song song, phí dễ dự đoán và khả năng truy cập trạng thái nhanh.Blockchain game có thể cần tài sản kỹ thuật số gốc, thao tác chi phí thấp, quyền tài khoản và lưu trữ hiệu quả cho các vật phẩm trong game.Blockchain tập trung vào quyền riêng tư có thể cần trạng thái bí mật, hỗ trợ bằng chứng zero-knowledge và hạn chế quyền truy cập dữ liệu.Rollup có thể cần môi trường thực thi dễ chứng minh bằng mật mã zero-knowledge.Blockchain chuyên biệt cho ứng dụng có thể chỉ cần một nhóm thao tác được kiểm soát chặt chẽ, thay vì nền tảng hợp đồng thông minh đa dụng.Custom VM cho phép nhà phát triển tối ưu blockchain theo những mục tiêu này.Đổi lại, đội ngũ phải tự xây dựng và duy trì nhiều cơ sở hạ tầng hơn.Đội ngũ có thể cần compiler, ví, trình gỡ lỗi, trình khám phá blockchain, công cụ bảo mật, bộ công cụ phát triển phần mềm và tài liệu dành cho nhà phát triển riêng.VM được tối ưu cao có thể đạt hiệu năng rất tốt, nhưng khó thu hút nhà phát triển nếu công cụ khó sử dụng.Custom VM và Ethereum Virtual Machine
Ethereum Virtual Machine, hay EVM, là môi trường thực thi dùng cho hợp đồng thông minh Ethereum và đã trở thành mục tiêu tương thích được sử dụng rộng rãi trong ngành crypto.Nhà phát triển thường viết hợp đồng EVM bằng Solidity hoặc Vyper rồi biên dịch thành bytecode EVM.EVM sử dụng kiến trúc dựa trên stack và đo lường việc thực thi bằng gas.Hệ sinh thái nhà phát triển lớn của EVM có ví, thư viện, framework kiểm thử, công cụ bảo mật và tiêu chuẩn hợp đồng đã hoàn thiện.Custom VM có thể khác EVM ở hầu hết quyết định thiết kế lớn.VM có thể dùng register thay vì stack, hỗ trợ thực thi song song, áp dụng mô hình tài khoản khác hoặc tính phí tài nguyên bằng compute unit hay trọng số thay cho gas của EVM.VM cũng có thể hỗ trợ ngôn ngữ lập trình thường không được dùng cho hợp đồng EVM.Ưu điểm chính của EVM là khả năng tương thích.Ưu điểm chính của Custom VM là tự do tối ưu môi trường thực thi cho một mục đích cụ thể.Tuy nhiên, tương thích EVM và thực thi tùy chỉnh không phải lúc nào cũng đối lập hoàn toàn.Một số mạng sử dụng VM lõi tùy chỉnh nhưng bổ sung trình thông dịch hoặc lớp tương thích cho bytecode EVM.Ví dụ, tài liệu chính thức về EraVM mô tả kiến trúc trong đó VM tối ưu cho ZK vẫn là môi trường thực thi cốt lõi, còn trình thông dịch EVM hỗ trợ bytecode theo chuẩn Ethereum.
Cách tiếp cận này có thể đảm bảo một phần khả năng tương thích hệ sinh thái mà không phải từ bỏ mọi lợi ích của thực thi tùy chỉnh.Custom VM và runtime blockchain tùy chỉnh
Đôi khi hai thuật ngữ Custom VM và runtime blockchain tùy chỉnh được dùng như thể chúng có cùng nghĩa, nhưng sự khác biệt có thể quan trọng.Máy ảo thường thực thi bytecode theo một tập lệnh được xác định.Runtime là thuật ngữ rộng hơn, chỉ logic xử lý giao dịch và xác định các chuyển đổi trạng thái của blockchain.Một số blockchain sử dụng VM truyền thống, nơi nhà phát triển triển khai bytecode hợp đồng thông minh độc lập.Blockchain khác biên dịch phần lớn logic nghiệp vụ của chuỗi thành một runtime duy nhất, thay vì cung cấp VM hợp đồng thông minh không hạn chế.Tài liệu về node và runtime của Polkadot SDK mô tả runtime là logic chuyển đổi trạng thái của blockchain, được biên dịch sang WebAssembly để thực thi độc lập nền tảng.
Tài liệu kiến trúc Cosmos SDK mô tả ứng dụng blockchain là máy trạng thái được tạo từ các module xác định logic nghiệp vụ và xử lý giao dịch.
Các hệ thống này cung cấp khả năng thực thi tùy chỉnh, dù nhà phát triển có thể gọi thành phần đó là runtime, máy trạng thái ứng dụng hoặc môi trường thực thi thay vì Custom VM.Vì vậy, thuật ngữ Custom VM đôi khi được dùng không chính xác trong các cuộc thảo luận về crypto.Người dùng nên xem xét kiến trúc thực tế thay vì chỉ dựa vào tên gọi.Các thành phần cốt lõi của Custom VM
Tập lệnh
Tập lệnh xác định các thao tác cấp thấp mà chương trình có thể thực hiện.Lệnh có thể thực hiện phép toán số học, đọc bộ nhớ, ghi dữ liệu lưu trữ, so sánh giá trị, xác minh chữ ký, gọi hợp đồng khác hoặc trả về dữ liệu.Tập lệnh nhỏ hơn có thể dễ phân tích và chứng minh hơn, còn tập lệnh lớn hơn có thể cung cấp nhiều chức năng trực tiếp hơn.Nhà thiết kế Custom VM phải đảm bảo mỗi lệnh có ý nghĩa rõ ràng và mang tính xác định.Mô hình trạng thái
Mô hình trạng thái xác định cách blockchain biểu diễn tài khoản, số dư, hợp đồng, token, đối tượng và dữ liệu được lưu trữ.Một số VM dùng trạng thái toàn cục dựa trên tài khoản, tương tự Ethereum.VM khác dùng đầu ra giao dịch chưa được chi tiêu, đối tượng độc lập, kho khóa-giá trị hoặc bản ghi riêng theo ứng dụng.Mô hình trạng thái ảnh hưởng đáng kể đến khả năng xử lý giao dịch song song, thiết kế ví, quyền của hợp đồng và trải nghiệm nhà phát triển.Bộ nhớ và lưu trữ
Bộ nhớ thường chứa dữ liệu tạm thời dùng trong một lần thực thi, còn dữ liệu lưu trữ vẫn tồn tại sau khi giao dịch kết thúc.Việc lưu trữ lâu dài trên blockchain tốn kém vì các node xác thực phải tái hiện hoặc xác minh những thay đổi đó.Custom VM có thể bổ sung cách bố trí dữ liệu lưu trữ chuyên biệt để giảm chi phí hoặc cải thiện việc tạo bằng chứng.Quy tắc lưu trữ phải ngăn một hợp đồng sửa dữ liệu thuộc về hợp đồng khác khi chưa được cho phép.Đo lường tài nguyên
Đo lường tài nguyên giới hạn lượng tính toán, bộ nhớ, dung lượng lưu trữ và băng thông mà một giao dịch có thể sử dụng.Nếu không giới hạn tài nguyên, kẻ tấn công có thể gửi chương trình chạy vô hạn hoặc tiêu tốn đủ tài nguyên để ngăn node xử lý các giao dịch khác.EVM sử dụng gas, trong khi môi trường thực thi khác có thể dùng compute unit, trọng số, chu kỳ hoặc các nhóm tài nguyên riêng.Bảng định mức tài nguyên phải tính phí đủ cao cho các thao tác tốn kém để ngăn lạm dụng, nhưng không khiến ứng dụng hợp pháp trở nên bất khả thi.Hàm máy chủ và system call
Custom VM thường cung cấp hàm máy chủ hoặc system call để chương trình truy cập các tính năng riêng của blockchain.Các hàm này có thể xác minh chữ ký mật mã, đọc thông tin block, gọi chương trình khác, tạo tài sản, phát sự kiện hoặc truy cập dữ liệu bên ngoài được phê duyệt.Tài liệu tham khảo syscall của Solana mô tả các hàm runtime phục vụ mật mã, ghi log, thao tác bộ nhớ, gọi giữa các chương trình và những hoạt động blockchain khác.
System call có thể cải thiện hiệu quả, nhưng mỗi hàm làm tăng phạm vi cần đặc tả, kiểm thử và bảo mật.Giao dịch chạy bên trong Custom VM như thế nào?
Thông thường, giao dịch đi vào blockchain thông qua node hoặc điểm cuối RPC.Mạng kiểm tra các thuộc tính cơ bản như định dạng, chữ ký, phí và biện pháp chống phát lại.Cơ chế đồng thuận hoặc phần mềm tạo block xác định vị trí của giao dịch so với các giao dịch khác.Sau đó, Custom VM tải giao dịch, trạng thái liên quan và chương trình cần thực thi.VM xác minh quyền và khởi tạo ngữ cảnh thực thi.VM xử lý các lệnh đồng thời theo dõi mức tiêu thụ tài nguyên.Nếu thực thi thành công, các thay đổi trạng thái kết quả sẽ được ghi nhận.Nếu thực thi thất bại, VM thường hoàn tác một phần hoặc toàn bộ thay đổi trạng thái theo quy tắc giao thức.Giao dịch vẫn có thể phải trả phí vì các node đã dùng tài nguyên tính toán để xử lý lần thử thất bại.Mọi node xác thực phải tạo ra cùng kết quả cuối cùng từ cùng trạng thái ban đầu và giao dịch được sắp xếp theo cùng thứ tự.Yêu cầu này được gọi là thực thi xác định.Tính xác định trong Custom VM
Tính xác định có nghĩa là đầu vào giống nhau phải tạo ra đầu ra giống nhau trên mọi node trung thực.Yêu cầu này ngăn các validator bất đồng về trạng thái blockchain chính xác.Ứng dụng máy tính thông thường có thể dùng đồng hồ cục bộ, dữ liệu ngẫu nhiên của hệ điều hành, phép tính dấu phẩy động hoặc yêu cầu internet cho kết quả khác nhau trên từng máy.VM blockchain phải hạn chế hoặc xác định rõ các nguồn bất định này.Thông thường, tính ngẫu nhiên cần lấy từ nguồn được giao thức phê duyệt, thay vì để chương trình tự yêu cầu máy tính tạo số ngẫu nhiên.Thông tin bên ngoài thường được đưa vào thông qua oracle hoặc thông điệp đã xác minh, thay vì yêu cầu web không hạn chế.Hành vi số học phải được quy định chính xác, bao gồm tràn số, phép chia, làm tròn và giới hạn giá trị.Custom VM không duy trì được tính xác định có thể gây lỗi đồng thuận, chia tách chuỗi hoặc tạo bằng chứng không chính xác.Sandbox và cách ly
Custom VM thường chạy chương trình trong sandbox để hạn chế quyền truy cập vào hệ điều hành của node.Hợp đồng thông minh không được phép đọc tệp riêng tư của validator, mở kết nối mạng tùy ý hay chiếm quyền máy chủ.Sandbox xác định chương trình được truy cập những vùng bộ nhớ, khu vực lưu trữ và hàm máy chủ nào.Sandbox cũng giới hạn độ sâu lời gọi, kích thước stack, mức tăng bộ nhớ và thời gian thực thi.Cách ly mạnh bảo vệ validator khỏi chương trình độc hại do người dùng tải lên.Việc này cũng bảo vệ hợp đồng khỏi bị hợp đồng khác truy cập trái phép.Lỗ hổng thoát sandbox có thể trở thành vấn đề bảo mật nghiêm trọng của mạng, vì validator có thể phải chạy mã do kẻ tấn công cung cấp khi xử lý block.Vì vậy, việc triển khai Custom VM cần được kiểm toán cẩn thận, kiểm thử fuzz, rà soát dependency và thiết kế compiler an toàn.Custom VM dựa trên stack và register
VM dựa trên stack thực hiện nhiều thao tác bằng cách đưa giá trị vào stack rồi lấy chúng ra khi lệnh cần đầu vào.EVM là một máy ảo dựa trên stack tiêu biểu.VM dựa trên register lưu các giá trị đang xử lý trong những thanh ghi được đặt tên hoặc đánh số.Thiết kế dựa trên register có thể giảm số lệnh cần thiết cho một số phép tính và giúp hiệu năng dễ dự đoán hơn.Tài liệu kiến trúc chính thức của FuelVM mô tả FuelVM là máy ảo dựa trên register, được thiết kế cho thực thi blockchain.
Không có kiến trúc nào tự động tốt hơn cho mọi blockchain.Hệ thống dựa trên stack có thể có bytecode đơn giản hơn và bộ công cụ đã được thiết lập.Hệ thống dựa trên register có thể mang lại lợi thế về thực thi hoặc compiler cho một số loại khối lượng công việc.Lựa chọn phù hợp phụ thuộc vào mục tiêu hiệu năng, hệ thống chứng minh, ngôn ngữ của nhà phát triển, mục tiêu bảo mật và độ phức tạp khi triển khai.Custom VM và thực thi song song
Thực thi song song cho phép blockchain xử lý đồng thời nhiều giao dịch không xung đột.Cách thực thi tuần tự truyền thống xử lý từng giao dịch một, ngay cả khi các giao dịch tác động đến những tài khoản không liên quan.Custom VM có thể được thiết kế để xác định trạng thái mà mỗi giao dịch đọc hoặc ghi.Sau đó, các giao dịch không xung đột có thể chạy trên nhiều lõi xử lý.Điều này có thể tăng thông lượng cho ứng dụng có nhiều người dùng độc lập.Thực thi song song khó hơn khi hợp đồng có thể truy cập bất kỳ phần nào của trạng thái toàn cục mà không khai báo phụ thuộc.Custom VM có thể yêu cầu giao dịch xác định các tài khoản hoặc đối tượng liên quan trước khi thực thi.VM cũng có thể dùng cơ chế thực thi lạc quan và chạy lại giao dịch khi phát hiện xung đột.Song song hóa chỉ cải thiện hiệu năng khi việc lập lịch, phát hiện xung đột và xác thực trạng thái vẫn chính xác.Nhà phát triển cần hiểu mô hình đồng thời vì hai giao dịch hoạt động riêng lẻ có thể cho kết quả khác khi cùng cạnh tranh một trạng thái.Custom VM và ngôn ngữ hợp đồng thông minh
Custom VM thường cần một hoặc nhiều ngôn ngữ lập trình được biên dịch thành bytecode hoặc định dạng thực thi mà VM hỗ trợ.VM có thể hỗ trợ Rust, C, C++, Move, ngôn ngữ tương thích WebAssembly hoặc ngôn ngữ hợp đồng thông minh được xây dựng riêng.Ngôn ngữ ảnh hưởng đến tính an toàn, năng suất nhà phát triển, kích thước hợp đồng và độ phức tạp của compiler.Ngôn ngữ có quy tắc kiểu và quyền sở hữu chặt chẽ có thể ngăn một số loại lỗi trước khi triển khai.Ngôn ngữ quen thuộc có thể thu hút thêm nhà phát triển nhưng cũng có thể bao gồm tính năng khó hỗ trợ theo cách xác định.Compiler là một phần của chuỗi bảo mật vì nó chuyển mã dễ đọc thành các lệnh được VM thực thi.Lỗi compiler có thể khiến bytecode đã triển khai hoạt động khác với mã nguồn của nhà phát triển.Hệ sinh thái nghiêm túc cần bản dựng có thể tái lập, xác minh mã nguồn, theo dõi phiên bản compiler và đánh giá bảo mật độc lập.Custom VM và WebAssembly
WebAssembly, thường gọi là Wasm, là định dạng lệnh nhị phân có tính di động, có thể làm nền tảng cho thực thi blockchain.Blockchain có thể biên dịch runtime hoặc hợp đồng thông minh sang Wasm rồi thực thi trong môi trường được kiểm soát.Wasm hỗ trợ nhiều ngôn ngữ nguồn và cung cấp định dạng thực thi độc lập nền tảng.Polkadot SDK lưu logic runtime blockchain dưới dạng tệp nhị phân Wasm và có thể nâng cấp runtime đó thông qua quy trình quản trị on-chain.Tài liệu chính thức về nâng cấp runtime giải thích rằng thiết kế này có thể bổ sung chức năng hoặc sửa vấn đề mà không cần hard fork toàn mạng theo cách truyền thống.
Blockchain sử dụng Wasm vẫn được xem là tùy chỉnh nếu định nghĩa các hàm máy chủ riêng cho blockchain, chi phí tài nguyên, quy tắc trạng thái và hành vi giao dịch.Wasm cung cấp nền tảng thực thi, nhưng các quy tắc runtime xung quanh của chuỗi quyết định nền tảng đó hoạt động trong crypto như thế nào.Custom VM và blockchain chuyên biệt cho ứng dụng
Blockchain chuyên biệt cho ứng dụng được thiết kế xoay quanh một ứng dụng, thị trường hoặc loại hoạt động.Thay vì dùng chung VM đa dụng với các ứng dụng không liên quan, chuỗi có thể xây dựng quy tắc thực thi dành riêng cho người dùng của mình.Tổng quan chính thức của Cosmos SDK giải thích rằng nhà phát triển có thể kết hợp các module dựng sẵn và tạo module tùy chỉnh phù hợp với yêu cầu ứng dụng.
Chuỗi ứng dụng tập trung vào giao dịch có thể tích hợp khớp lệnh và kiểm soát rủi ro gốc.Chuỗi game có thể tích hợp việc tạo vật phẩm, tài khoản người chơi và các thao tác lặp lại chi phí thấp.Chuỗi định danh có thể giới hạn thay đổi trạng thái vào thông tin xác thực đã xác minh và tổ chức phát hành được phép.Thực thi chuyên biệt cho ứng dụng có thể tăng hiệu quả vì các thao tác phổ biến trở thành tính năng giao thức, thay vì hợp đồng thông minh phức tạp.Nhược điểm là tính linh hoạt giảm nếu nhà phát triển tương lai muốn xây dựng ứng dụng mà runtime ban đầu chưa dự tính.Custom VM trong rollup
Rollup thực thi giao dịch bên ngoài blockchain nền tảng rồi gửi dữ liệu, cam kết hoặc bằng chứng đến lớp thanh toán.Vì rollup kiểm soát phần mềm thực thi nên có thể dùng Custom VM thay vì sao chép chính xác VM của lớp nền tảng.Custom VM có thể giảm chi phí tạo bằng chứng, hỗ trợ mô hình tài khoản khác hoặc cung cấp tính năng chuyên biệt cho ứng dụng.Tuy nhiên, thực thi tùy chỉnh có thể khiến việc tương thích với ví, hợp đồng và công cụ phát triển hiện có trở nên khó khăn hơn.Nhà phát triển có thể cần bridge hoặc trình thông dịch để hỗ trợ tài sản và ứng dụng từ hệ sinh thái khác.Rollup cũng phải xác định cách lớp thanh toán xác minh kết quả của Custom VM.Optimistic rollup có thể dùng bằng chứng gian lận hoặc cơ chế tranh chấp.Zero-knowledge rollup có thể gửi bằng chứng hợp lệ cho thấy Custom VM đã tuân thủ quy tắc.Sovereign rollup có thể phụ thuộc nhiều hơn vào node riêng và đồng thuận xã hội để đảm bảo tính chính xác của thực thi.Do đó, Custom VM trở thành một phần trong mô hình bảo mật và khả năng tương tác của rollup.Custom VM và blockchain modular
Thiết kế blockchain modular tách thực thi, đồng thuận, khả dụng dữ liệu và thanh toán thành các thành phần khác nhau.Sự tách biệt này giúp đội ngũ rollup tự do hơn trong việc chọn hoặc xây dựng Custom VM.Tài liệu về khả dụng dữ liệu của Celestia giải thích rằng nhiều lớp thực thi có thể dùng chung hạ tầng khả dụng dữ liệu và thanh toán.
Một lớp thực thi có thể dùng EVM, trong khi lớp khác dùng Wasm, VM zero-knowledge hoặc máy trạng thái chuyên biệt cho ứng dụng.Tính linh hoạt này là một trong những lợi ích chính của kiến trúc modular.Tuy nhiên, đội ngũ phải xác định cách Custom VM nhận dữ liệu, xác minh thông điệp, giao tiếp với bridge và tạo kết quả mà các hệ thống khác có thể tin cậy.VM hiệu năng cao không thể khiến chuỗi modular an toàn nếu dữ liệu không khả dụng hoặc bridge bị xâm phạm.Custom VM và bằng chứng zero-knowledge
Máy ảo zero-knowledge, hay zkVM, thực thi chương trình đồng thời tạo bằng chứng mật mã cho thấy việc thực thi là chính xác.Bằng chứng thường có thể được xác minh hiệu quả hơn so với việc lặp lại toàn bộ phép tính.Tài liệu zkVM của RISC Zero mô tả hệ thống chứng minh việc thực thi chính xác mã Rust tùy ý.
Đặc tả kỹ thuật nêu rằng VM triển khai tập lệnh RISC-V 32 bit.
zkVM là một loại Custom VM chuyên biệt nếu được thiết kế hoặc điều chỉnh cho phép tính có thể chứng minh.Thiết kế zkVM tùy chỉnh có thể tối ưu lệnh, truy cập bộ nhớ, hàm băm và phép tính số học để tạo bằng chứng hiệu quả.Điều này có thể giúp rollup xác minh khối lượng thực thi lớn bằng bằng chứng gọn nhẹ.Tuy nhiên, việc tạo bằng chứng có thể đòi hỏi tài nguyên tính toán đáng kể, phần cứng chuyên dụng và mật mã được kiểm toán cẩn thận.Người dùng không nên nhầm lẫn tính hợp lệ của bằng chứng zero-knowledge với mức độ an toàn toàn diện của ứng dụng.Bằng chứng có thể xác nhận VM đã tuân thủ quy tắc ngay cả khi quy tắc của ứng dụng có thiết kế kinh tế gây hại hoặc lỗi lập trình.Custom VM và khả năng tương thích EVM
Custom VM có thể tương thích EVM mà không giống hệt EVM.Tương thích EVM thường có nghĩa nhà phát triển có thể triển khai hợp đồng Solidity hoặc sử dụng công cụ quen thuộc kiểu Ethereum với một số thay đổi hạn chế.Tương đương EVM là tuyên bố mạnh hơn, nghĩa là hành vi thực thi gần khớp với EVM của Ethereum.Compiler tùy chỉnh có thể chuyển Solidity thành tập lệnh khác.Trình thông dịch có thể chạy bytecode EVM bên trong Custom VM.Lớp tương thích có thể mô phỏng API Ethereum nhưng dùng trạng thái nội bộ hoặc hệ thống chứng minh khác.Mỗi phương pháp có sự đánh đổi về hiệu năng, hành vi gas, gỡ lỗi, giả định của hợp đồng và độ phức tạp khi nâng cấp.Nhà phát triển không nên cho rằng chuỗi tương thích EVM hoạt động chính xác như Ethereum trong mọi trường hợp đặc biệt.Khác biệt về opcode, precompile, thông tin block, phí, tính cuối cùng và thứ tự giao dịch có thể ảnh hưởng đến ứng dụng.Lợi ích của máy ảo tùy chỉnh
Lợi ích đầu tiên của Custom VM là hiệu năng dành riêng cho ứng dụng.VM có thể tối ưu các thao tác phổ biến thay vì buộc mọi ứng dụng sử dụng chung một mô hình thực thi đa dụng.Lợi ích thứ hai là mô hình trạng thái linh hoạt.Nhà phát triển có thể chọn tài khoản, đối tượng, UTXO, module hoặc mô hình khác phù hợp với trường hợp sử dụng.Lợi ích thứ ba là khả năng thực thi song song tốt hơn.VM có thể thể hiện các phụ thuộc của giao dịch để những thao tác không xung đột chạy cùng lúc.Lợi ích thứ tư là bảo mật chuyên biệt hơn.Tập lệnh hẹp hoặc runtime ứng dụng bị giới hạn có thể giảm số hành động mà kẻ tấn công có thể thử.Lợi ích thứ năm là chứng minh mật mã hiệu quả hơn.Custom VM có thể dùng lệnh và bố cục bộ nhớ được thiết kế cho hệ thống bằng chứng zero-knowledge.Lợi ích thứ sáu là cải thiện trải nghiệm người dùng.VM có thể tích hợp khôi phục tài khoản, tài trợ phí giao dịch, quyền theo phiên hoặc mức phí dễ dự đoán.Lợi ích thứ bảy là chức năng ở cấp giao thức.Các tính năng như tài sản gốc, sổ lệnh, quy tắc quyền riêng tư hoặc quản trị có thể được tích hợp trực tiếp vào môi trường thực thi.Rủi ro và hạn chế của Custom VM
Rủi ro đầu tiên là lỗi triển khai.VM mới có ít thử nghiệm thực tế hơn môi trường thực thi đã trưởng thành và được nhiều mạng sử dụng.Rủi ro thứ hai là công cụ dành cho nhà phát triển yếu.Nhà phát triển có thể thiếu compiler, trình gỡ lỗi, framework kiểm thử, công cụ quét bảo mật và thư viện hợp đồng đáng tin cậy.Rủi ro thứ ba là khả năng tương thích hệ sinh thái hạn chế.Hợp đồng, ví và hạ tầng hiện có có thể không hoạt động nếu chưa sửa đổi.Rủi ro thứ tư là đặc tả phức tạp.Mọi lệnh, chi phí tài nguyên, quy tắc trạng thái và hàm hệ thống đều phải được tài liệu hóa chính xác.Rủi ro thứ năm là tập trung quyền nâng cấp.Nếu một đội ngũ có thể thay đổi VM mà không có biện pháp quản trị chặt chẽ, người dùng phải tin đội ngũ đó sẽ không đưa vào hành vi gây hại.Rủi ro thứ sáu là hệ sinh thái bảo mật chưa trưởng thành.Kiểm toán viên có thể ít kinh nghiệm hơn với định dạng bytecode hoặc mô hình thực thi mới.Rủi ro thứ bảy là định giá tài nguyên không phù hợp.Chi phí tài nguyên sai có thể khiến tấn công từ chối dịch vụ trở nên rẻ hoặc khiến ứng dụng hợp pháp quá tốn kém.Rủi ro thứ tám là phân mảnh.Quá nhiều Custom VM không tương thích có thể chia cắt nhà phát triển, thanh khoản, công cụ và người dùng thành các hệ sinh thái riêng biệt.Yêu cầu bảo mật đối với Custom VM
Custom VM an toàn phải thực thi theo cách xác định trên các cách triển khai node và môi trường phần cứng khác nhau.VM phải cách ly chương trình không đáng tin cậy khỏi hệ điều hành của validator.VM phải ngăn truy cập trái phép vào dữ liệu lưu trữ của hợp đồng, số dư người dùng và quyền hệ thống.VM phải đo lường mọi tài nguyên mà kẻ tấn công có thể làm cạn kiệt.VM phải xử lý an toàn giới hạn số nguyên, ranh giới bộ nhớ, đệ quy, lời gọi hợp đồng và điều kiện lỗi.VM phải xác định cách hoàn tác thay đổi trạng thái khi thực thi thất bại.VM phải ngăn chữ ký bị phát lại giữa các giao dịch, chuỗi hoặc miền khác nhau.VM phải bảo vệ các hàm máy chủ có đặc quyền và hợp đồng hệ thống khỏi người gọi không được phép.Compiler và trình xác minh bytecode phải từ chối chương trình sai định dạng hoặc không an toàn.Quy trình nâng cấp phải có bước đánh giá, kiểm thử, lập kế hoạch khẩn cấp và quản trị rõ ràng.Kiểm thử bảo mật nên bao gồm kiểm thử đơn vị, tích hợp, sai khác, fuzz, thuộc tính và mô phỏng kinh tế đối kháng.Nếu có thể, nhiều cách triển khai độc lập sẽ giúp phát hiện sai sót trong đặc tả mà một codebase duy nhất có thể che giấu.Nâng cấp Custom VM
Custom VM có thể cần nâng cấp để sửa lỗi bảo mật, thêm lệnh, cải thiện hiệu năng hoặc hỗ trợ mật mã mới.Thay đổi quy tắc VM cần được xử lý cẩn trọng vì mọi node phải bắt đầu sử dụng quy tắc mới tại đúng thời điểm trong chuỗi.Nâng cấp không chính xác có thể chia tách mạng nếu một số node chấp nhận giao dịch mà node khác từ chối.Một số blockchain phối hợp nâng cấp VM thông qua bản phát hành phần mềm theo lịch và hard fork.Blockchain khác lưu runtime có thể nâng cấp on-chain và cho phép quản trị phê duyệt thay đổi.Rollup có thể dùng hợp đồng thanh toán có thể nâng cấp, hội đồng bảo mật, multisig hoặc timelock quản trị.Người dùng nên tìm hiểu ai có quyền phê duyệt nâng cấp Custom VM và liệu có khoảng chờ trước khi thay đổi có hiệu lực hay không.VM bất biến làm giảm rủi ro quản trị nhưng khiến việc sửa lỗi khẩn cấp khó khăn.VM dễ nâng cấp có thể phản ứng nhanh, nhưng làm tăng mức độ tin cậy cần đặt vào cơ quan có quyền nâng cấp.Cách nhà phát triển đánh giá Custom VM
Trước tiên, nhà phát triển nên xem xét các ngôn ngữ lập trình của VM và mức độ hoàn thiện của compiler.Họ nên xem tài liệu về tập lệnh, mô hình tài khoản, lưu trữ, phí và vòng đời giao dịch.Họ nên kiểm tra liệu có thể xác minh hợp đồng từ mã nguồn được công bố hay không.Họ nên xem xét công cụ gỡ lỗi, kiểm thử cục bộ, testnet, triển khai và giám sát.Họ cần hiểu cách VM xử lý reentrancy, lời gọi giữa các hợp đồng, tính đồng thời và giao dịch thất bại.Họ nên xem các cuộc kiểm toán bảo mật đối với cả VM lẫn chuỗi công cụ compiler.Họ cần kiểm tra liệu ví hiện có, công cụ lưu ký, indexer và hạ tầng có hỗ trợ mạng hay không.Họ nên đánh giá liệu hiệu năng được tuyên bố có áp dụng cho ứng dụng thực tế hay chỉ cho giao dịch benchmark đơn giản.Họ cũng cần tìm hiểu quyền nâng cấp vì chương trình an toàn vẫn có thể bị ảnh hưởng bởi thay đổi trong môi trường thực thi.Cách người dùng crypto đánh giá chuỗi dùng Custom VM
Người dùng thông thường không cần đọc mọi opcode của VM, nhưng nên hiểu các giả định tin cậy chính.Người dùng nên kiểm tra Custom VM đã vận hành trên môi trường thực tế trong khoảng thời gian đáng kể hay chưa.Họ nên xem chuỗi có công bố kiểm toán, đặc tả kỹ thuật, báo cáo sự cố và thông báo nâng cấp hay không.Họ nên tìm hiểu ví có hiển thị thông tin giao dịch dễ đọc hay không.Họ cần kiểm tra tài sản có phụ thuộc vào bridge khi chuyển giữa chuỗi Custom VM và mạng khác hay không.Họ nên hiểu phí giao dịch, quy tắc tính cuối cùng, mô hình sequencer và quy trình rút của chuỗi.Không nên mặc định thông lượng giao dịch cao đồng nghĩa với mức độ phi tập trung hoặc bảo mật mạnh.Người dùng nên thử mạng và ứng dụng lạ bằng số lượng nhỏ trước khi chuyển tài sản có giá trị.Custom VM có thể mang lại tính năng hữu ích, nhưng người dùng vẫn đối mặt với rủi ro hợp đồng thông minh, bridge, ví, quản trị và thị trường.Các trường hợp sử dụng phổ biến của Custom VM
Custom VM được dùng cho mạng hợp đồng thông minh thông lượng cao cần thực thi song song.Chúng được dùng cho chuỗi ứng dụng cần logic nghiệp vụ gốc và loại giao dịch được kiểm soát.Chúng được dùng cho game blockchain cần nhiều cập nhật trạng thái chi phí thấp.Chúng được dùng cho hệ thống tài chính phi tập trung cần xử lý lệnh hoặc tính toán rủi ro chuyên biệt.Chúng được dùng cho hệ thống quyền riêng tư thực thi chương trình bí mật hoặc zero-knowledge.Chúng được dùng cho rollup cần tạo bằng chứng hợp lệ hiệu quả.Chúng được dùng cho mạng doanh nghiệp hoặc mạng permissioned có yêu cầu về định danh và kiểm soát truy cập.Chúng được dùng cho lớp tương tác cần xác minh thông điệp cross-chain hiệu quả.Chúng cũng được dùng trong nghiên cứu blockchain thử nghiệm về mô hình trạng thái, ngôn ngữ lập trình và cơ chế phí giao dịch mới.Những hiểu lầm thường gặp về Custom VM
Một hiểu lầm là mọi blockchain không dùng EVM đều có Custom VM truyền thống.Một số chuỗi dùng runtime đã biên dịch hoặc máy trạng thái chuyên biệt cho ứng dụng, nhưng không hỗ trợ triển khai bytecode đa dụng của người dùng.Hiểu lầm khác là Custom VM tự động nhanh hơn EVM.Hiệu năng phụ thuộc vào truy cập trạng thái, phần cứng node, mạng, đồng thuận, khả dụng dữ liệu, khối lượng công việc và chất lượng triển khai.Hiểu lầm thứ ba là thực thi tùy chỉnh tự động cải thiện bảo mật.VM chuyên biệt có thể giảm một số rủi ro nhưng cũng tạo thêm rủi ro mới về triển khai và công cụ.Hiểu lầm thứ tư là tương thích EVM đồng nghĩa với hành vi chính xác như Ethereum.Hệ thống tương thích có thể khác về thực thi, phí, precompile, tính cuối cùng và hạ tầng.Hiểu lầm thứ năm là zkVM đảm bảo mọi ứng dụng đều an toàn.zkVM chứng minh các quy tắc thực thi đã xác định được tuân thủ, nhưng không chứng minh thiết kế kinh tế của ứng dụng hoặc quyết định của người dùng là khôn ngoan.Hiểu lầm thứ sáu là người dùng không bao giờ cần quan tâm chuỗi đang dùng VM nào.VM có thể ảnh hưởng đến hỗ trợ ví, phí giao dịch, bảo mật hợp đồng, tiêu chuẩn tài sản, hoạt động của nhà phát triển và yêu cầu bridge.Tương lai của Custom Virtual Machine
Custom VM ngày càng quan trọng khi crypto chuyển sang rollup, blockchain modular, chuỗi chuyên biệt cho ứng dụng và thực thi zero-knowledge.Một số hệ thống tương lai có thể hỗ trợ nhiều môi trường thực thi trên cùng một mạng.Một môi trường có thể chạy hợp đồng EVM, trong khi môi trường khác xử lý chương trình Wasm, RISC-V hoặc chương trình chuyên biệt cho ứng dụng.Trình thông dịch và lớp compiler có thể giúp chuyển ứng dụng giữa các VM dễ dàng hơn.Cải tiến bằng chứng zero-knowledge có thể cho phép xác minh hiệu quả các chương trình tổng quát hơn.Nghiên cứu thực thi song song có thể tăng thông lượng cho ứng dụng có thể dự đoán an toàn cách truy cập trạng thái.Hệ thống tài khoản tùy chỉnh có thể hỗ trợ khôi phục, giới hạn chi tiêu, Passkey, quyền theo phiên và tài trợ phí ngay tại lớp thực thi.Thách thức dài hạn là cân bằng giữa chuyên biệt hóa và khả năng tương tác.VM chuyên biệt cao có thể thực hiện một tác vụ rất tốt, nhưng người dùng crypto cũng cần ví, tài sản, thanh khoản, tiêu chuẩn và công cụ bảo mật dùng chung.Hệ sinh thái Custom VM mạnh nhất có thể sẽ kết hợp ưu thế kỹ thuật với công cụ hoàn thiện, đặc tả rõ ràng, kiểm toán nghiêm ngặt và bridge đáng tin cậy.Câu hỏi thường gặp
Custom Virtual Machine trong crypto là gì?
Custom Virtual Machine là môi trường thực thi blockchain được thiết kế với quy tắc riêng để chạy chương trình, xử lý giao dịch, quản lý trạng thái và tính phí tài nguyên tính toán.Custom VM nghĩa là gì?
Custom VM là máy ảo được tạo mới hoặc sửa đổi để đáp ứng nhu cầu cụ thể của blockchain, rollup, chuỗi ứng dụng hoặc hệ thống chứng minh.Custom VM có giống EVM không?
Không. EVM là một môi trường thực thi cụ thể, còn Custom VM có thể dùng lệnh, mô hình trạng thái, ngôn ngữ, phí và quy tắc bảo mật khác.Vì sao blockchain sử dụng Custom VM?
Blockchain có thể dùng Custom VM để cải thiện hiệu năng, hỗ trợ thực thi song song, bổ sung tính năng ứng dụng gốc, tăng cường quyền riêng tư hoặc giảm chi phí tạo bằng chứng zero-knowledge.Custom VM có hỗ trợ Solidity không?
Có. Custom VM có thể hỗ trợ Solidity thông qua compiler tùy chỉnh, trình thông dịch EVM hoặc lớp tương thích, dù hành vi có thể không khớp hoàn toàn với Ethereum.Runtime blockchain có giống VM không?
Không phải lúc nào cũng vậy, vì runtime xác định logic chuyển đổi trạng thái theo nghĩa rộng, còn VM thường thực thi bytecode theo một tập lệnh được xác định.zkVM là gì?
zkVM là máy ảo thực thi chương trình và tạo bằng chứng mật mã cho thấy quá trình thực thi tuân thủ các quy tắc đã xác định.Custom VM có nhanh hơn EVM không?
Một số Custom VM có thể nhanh hơn với khối lượng công việc cụ thể, nhưng hiệu năng thực tế còn phụ thuộc vào đồng thuận, lưu trữ, mạng, phần cứng và thiết kế ứng dụng.Custom VM có an toàn không?
Custom VM có thể an toàn nếu thực thi xác định, có sandbox, được kiểm toán, đo lường tài nguyên đúng cách và có chuỗi công cụ hoàn thiện, nhưng VM mới có thể ít được kiểm thử trong môi trường thực tế hơn.Custom VM có thể dùng ngôn ngữ lập trình nào?
Custom VM có thể hỗ trợ Solidity, Rust, C, C++, Move, ngôn ngữ tương thích Wasm hoặc ngôn ngữ hợp đồng thông minh được thiết kế riêng.Custom VM có thể thực thi giao dịch song song không?
Có. Custom VM có thể hỗ trợ thực thi song song nếu xác định được các giao dịch truy cập tài khoản, đối tượng hoặc vùng lưu trữ độc lập.Custom VM có cần gas không?
Custom VM cần một hình thức kiểm soát tài nguyên, nhưng có thể dùng gas, compute unit, trọng số, chu kỳ hoặc mô hình đo lường khác.Custom VM có thể được nâng cấp không?
Có. Nhiều Custom VM có thể được nâng cấp thông qua hard fork, quản trị, thay thế runtime hoặc hợp đồng rollup có thể nâng cấp.Nhược điểm chính của Custom VM là gì?
Nhược điểm chính là nhà phát triển phải xây dựng và bảo mật một hệ sinh thái thực thi mới với compiler, ví, công cụ, tiêu chuẩn và tài liệu riêng.Custom VM có ảnh hưởng đến người dùng crypto không?
Có. VM có thể ảnh hưởng đến phí giao dịch, hỗ trợ ví, tính cuối cùng, bảo mật hợp đồng, tính khả dụng của ứng dụng, tiêu chuẩn tài sản và yêu cầu bridge.Kết luận
Custom Virtual Machine là môi trường thực thi blockchain chuyên biệt, xác định cách xử lý giao dịch, hợp đồng và thay đổi trạng thái.VM này giúp nhà phát triển blockchain kiểm soát tốt hơn hiệu năng, ngôn ngữ lập trình, mô hình trạng thái, chi phí tài nguyên, quyền riêng tư, thực thi song song và chứng minh mật mã.Custom VM đặc biệt quan trọng với rollup, blockchain modular, chuỗi chuyên biệt cho ứng dụng, mạng hiệu năng cao và hệ thống zero-knowledge.Tính linh hoạt của Custom VM có thể hỗ trợ các tính năng khó triển khai hoặc kém hiệu quả trong môi trường đa dụng.Tuy nhiên, thực thi tùy chỉnh cũng đi kèm trách nhiệm mới.Đội ngũ phải xây dựng compiler an toàn, quy tắc xác định, cơ chế đo lường tài nguyên, sandbox, công cụ nhà phát triển, hỗ trợ ví, quy trình kiểm toán và hệ thống nâng cấp an toàn.Không nên đánh giá Custom VM chỉ dựa trên tốc độ giao dịch được tuyên bố.Nhà phát triển và người dùng cũng nên đánh giá lịch sử bảo mật, mô hình trạng thái, khả năng tương thích, mức độ phi tập trung, quản trị, hệ thống chứng minh, khả dụng dữ liệu và hạ tầng hỗ trợ.Custom VM tốt nhất kết hợp cải tiến kỹ thuật có ý nghĩa với tài liệu rõ ràng và quy trình bảo mật hoàn thiện.Khi kiến trúc crypto ngày càng modular và chuyên biệt theo ứng dụng, Custom VM sẽ tiếp tục đóng vai trò lớn trong cách blockchain cạnh tranh, mở rộng quy mô và hỗ trợ các loại ứng dụng phi tập trung mới.Có thể bạn cũng thích
Tấn công Dusting
Drop
NFT Doodles
HOT
Tiền mã hoá thịnh hành hiện nay đang thu hút sự chú ý đáng kể của thị trường
TOP KL
Tiền mã hoá có khối lượng giao dịch cao nhất
Mới được thêm vào
Tiền mã hoá được niêm yết gần đây có thể giao dịch

