Solana Virtual Machine (SVM) là gì và hoạt động như thế nào?
Solana Virtual Machine (SVM) là hạ tầng thực thi hiệu suất cao vận hành các hợp đồng thông minh trên Solana và những blockchain tương thích. Nhờ tách logic chương trình khỏi dữ liệu trạng thái và xử lý giao dịch song song, SVM mang lại khả năng thực thi siêu nhanh, độ trễ thấp và khả năng mở rộng cao cho các ứng dụng phi tập trung.
Solana Virtual Machine (SVM) là môi trường thực thi xử lý các chương trình Solana và áp dụng những thay đổi trạng thái của chúng trên toàn mạng lưới. Chương trình được biên dịch thành Solana Bytecode Format, hay sBPF, và chạy bên trong một runtime được sandbox. Giao dịch xác định các chương trình mà nó gọi cùng những tài khoản mà mỗi chỉ thị có thể đọc hoặc ghi, cung cấp cho runtime thông tin cần thiết để tải trạng thái và lập lịch những công việc tương thích.
SVM tách mã chương trình có thể thực thi khỏi dữ liệu tài khoản có thể thay đổi và dùng đơn vị tính toán để đo mức tiêu thụ tài nguyên. Mô hình này hỗ trợ runtime song song Sealevel của Solana vì những giao dịch không yêu cầu các tài khoản có thể ghi xung đột có thể được xử lý đồng thời. SVM là một lớp thực thi, không phải cơ chế đồng thuận, client validator hay đồng hồ Proof of History của Solana.
Solana Virtual Machine là gì?
Solana Virtual Machine (SVM) là môi trường thực thi chạy các chương trình hợp đồng thông minh và xử lý các chỉ thị giao dịch trên Solana. Khác với những hệ thống mà hợp đồng thông minh tự lưu trữ trạng thái của mình, Solana tách mã chương trình khỏi các tài khoản dữ liệu. Giao dịch chỉ định rõ chương trình và tài khoản mà nó sẽ dùng, cho phép mạng lưới xử lý song song những giao dịch độc lập.
Thuật ngữ SVM cũng có thể chỉ những môi trường thực thi tương thích với Solana được các mạng blockchain khác sử dụng. Những mạng này có thể hỗ trợ các chương trình và công cụ dành cho nhà phát triển tương tự, nhưng dùng hệ thống đồng thuận, sắp xếp giao dịch, tính khả dụng dữ liệu hoặc thanh toán khác nhau. Do đó, tương thích SVM mô tả môi trường thực thi, chứ không phải mô hình bảo mật của mạng lưới nền tảng.
Solana Virtual Machine hoạt động như thế nào?
Solana Virtual Machine xử lý từng giao dịch dựa trên các chương trình và tài khoản được liệt kê trong giao dịch đó.
1. Tải các tài khoản cần thiết: SVM xác định người trả phí, những người ký, các tài khoản có thể ghi và những chương trình mà giao dịch cần.
2. Thực thi các chỉ thị: Các chỉ thị chạy theo thứ tự thông qua những chương trình Solana liên quan, và những chương trình này cũng có thể gọi chương trình khác khi cần.
3. Áp dụng quyền hạn và giới hạn: Trong quá trình thực thi, runtime kiểm tra quyền sở hữu tài khoản, quyền của người ký, quyền ghi và giới hạn đơn vị tính toán.
4. Xác minh kết quả: Sau khi thực thi, SVM xác nhận rằng số dư và dữ liệu tài khoản tuân theo các quy tắc giao thức của Solana.
5. Ghi nhận giao dịch: Nếu mọi chỉ thị đều thành công, các thay đổi trạng thái được ghi lại cùng nhau. Nếu một chỉ thị thất bại, giao dịch sẽ không cập nhật trạng thái ứng dụng một phần.
Vì giao dịch khai báo rõ tài khoản mà nó truy cập, Solana có thể thực thi song song những giao dịch dùng các tài khoản khác nhau, giúp mạng lưới đạt thông lượng cao hơn.
Những lợi ích chính và trường hợp sử dụng của SVM là gì?
SVM được thiết kế cho những ứng dụng cần việc thực thi chương trình có thể dự đoán trước và có thể tận dụng lợi thế từ việc khai báo rõ quyền truy cập tài khoản. Hiệu suất của nó phụ thuộc vào cả thiết kế runtime lẫn việc các giao dịch có tranh chấp cùng một trạng thái có thể ghi hay không.
1. Việc khai báo quyền truy cập tài khoản cho phép lập lịch song song. Giao dịch liệt kê những tài khoản cần dùng trước khi thực thi, cho phép bộ lập lịch chạy những giao dịch không xung đột trên các lõi xử lý khác nhau, đồng thời bảo vệ trạng thái có thể ghi dùng chung.
2. Chương trình và trạng thái luôn tách biệt. Một chương trình không trạng thái có thể hoạt động trên nhiều tài khoản dữ liệu, giúp logic ứng dụng có thể tái sử dụng và cho phép nhà phát triển tổ chức trạng thái theo hướng song song thay vì sao chép mã.
3. Giao dịch nguyên tử có thể kết hợp nhiều chỉ thị. Một giao dịch có thể gọi tuần tự nhiều chương trình và hoặc ghi nhận mọi thay đổi trạng thái thành công cùng lúc, hoặc hủy toàn bộ giao dịch khi một chỉ thị thất bại.
4. Đơn vị tính toán giúp việc dùng tài nguyên trở nên rõ ràng. Runtime đo lường khối lượng công việc của chương trình và cho phép giao dịch yêu cầu mức ngân sách phù hợp, giúp các validator giới hạn phạm vi thực thi trong khi người dùng thể hiện mức độ ưu tiên thông qua cơ chế phí của mạng lưới.
Các ví dụ về chương trình và mạng lưới SVM là gì?
Công nghệ SVM xuất hiện trong các ứng dụng trên Solana và trong những mạng lưới tái sử dụng môi trường thực thi tương thích với Solana. Các ví dụ này khác nhau về thanh toán và hạ tầng, nên việc hỗ trợ SVM không đồng nghĩa chúng là cùng một mạng lưới.
• Chương trình gốc của Solana. System Program tạo tài khoản, trong khi các chương trình vote, stake, compute-budget và address-lookup-table cung cấp những chức năng cốt lõi được runtime Solana hỗ trợ trực tiếp.
• Các chương trình ứng dụng trên Solana. DEX, thị trường cho vay, nền tảng NFT và game triển khai chương trình sBPF hoạt động trên các tài khoản người dùng, thị trường, vault, mint và position được cung cấp kèm mỗi chỉ thị.
• Thực thi Eclipse. Eclipse dùng môi trường thực thi dựa trên SVM nhưng thanh toán qua hạ tầng liên quan đến Ethereum, minh họa cách runtime có thể nằm trong một ngăn xếp blockchain mô-đun khác.
• Công cụ kiểm thử SVM cục bộ. Những công cụ như LiteSVM tái tạo hành vi runtime liên quan cho việc phát triển và kiểm thử mà không yêu cầu mọi trường hợp kiểm thử phải gửi giao dịch tới một cụm validator đang hoạt động.
Những hạn chế và rủi ro của SVM là gì?
Mô hình hiệu suất của SVM tạo ra những ràng buộc thiết kế cụ thể. Nhà phát triển phải khai báo tài khoản chính xác, giảm tranh chấp không cần thiết và tuân thủ giới hạn của runtime, trong khi người dùng vẫn đối mặt với những rủi ro thông thường về hợp đồng thông minh và giao dịch.
1. Tài khoản có thể ghi dùng chung có thể hạn chế khả năng song song. Những giao dịch cần cùng một tài khoản có thể ghi không thể chạy song song một cách an toàn, nên một tài khoản trạng thái toàn cục phổ biến có thể trở thành điểm nghẽn của ứng dụng dù runtime có khả năng song song.
2. Chương trình đòi hỏi kiến thức phát triển riêng cho Solana. Nhà phát triển phải hiểu việc biên dịch sBPF, quyền sở hữu tài khoản, địa chỉ dẫn xuất từ chương trình, lời gọi liên chương trình, ngân sách tính toán và các yêu cầu về tài khoản liên quan đến rent.
3. Giới hạn tính toán và tài khoản có thể từ chối những lời gọi phức tạp. Giao dịch có thể thất bại khi vượt ngân sách tính toán, tham chiếu quá nhiều tài nguyên, làm tăng dữ liệu tài khoản không đúng cách hoặc chạm các giới hạn về độ sâu lời gọi và runtime.
4. Tương thích SVM không đồng nghĩa với bảo mật của Solana. Một chuỗi SVM riêng có thể dùng validator, cầu nối, bộ sắp xếp, tính khả dụng dữ liệu hoặc cơ chế kiểm soát nâng cấp khác nhau, tạo ra những giả định tin cậy không liên quan đến bytecode thực thi.
SVM khác EVM như thế nào?
SVM khác EVM chủ yếu ở mô hình tài khoản, bytecode và cách tiếp cận tính song song. Giao dịch Solana khai báo quyền truy cập tài khoản trước khi thực thi, và các chương trình hoạt động trên những tài khoản trạng thái riêng, cho phép Sealevel lập lịch song song các công việc không xung đột. Các hợp đồng Ethereum thường lưu mã và dữ liệu lưu trữ tại cùng một địa chỉ, và việc thực thi EVM truyền thống tuân theo trình tự giao dịch có thứ tự. Cả hai môi trường đều yêu cầu kết quả mang tính tất định trên các nút xác thực, nhưng công cụ dành cho nhà phát triển, cách đo phí, bố cục trạng thái và tiêu chuẩn tương thích của chúng lại khác nhau.
Các khái niệm liên quan
2. Gas là gì?
Đọc thêm
1. Những dự án Solana Virtual Machine (SVM) hàng đầu năm 2025 là gì?
2. Eclipse (ES) là gì — Layer 2 đầu tiên trên Ethereum chạy bằng SVM?
3. Solscan là gì và cách sử dụng trình khám phá blockchain Solana?
Câu hỏi thường gặp
SVM có phải là một blockchain không?
Không. SVM là môi trường thực thi để xử lý chương trình và các thay đổi trạng thái. Solana kết hợp nó với mạng lưới, cơ chế đồng thuận, lưu trữ sổ cái, quy tắc phí và phần mềm validator để tạo thành blockchain hoàn chỉnh.
SVM sử dụng ngôn ngữ lập trình nào?
Giao dịch SVM có luôn chạy song song được không?
Chương trình SVM có thể thay đổi bất kỳ tài khoản Solana nào không?
Bạn chưa có tài khoản?
Đăng ký ngay để bắt đầu hành trình crypto của bạn