1. Ethereum Virtual Machine (EVM)
EVM là một thành phần cực kỳ quan trọng trong hệ thống của blockchain Ethereum. Đây là môi trường để thực thi hợp đồng thông minh (smart contracts).
EVM được thiết kế để chạy trên mọi nút (node) của mạng Ethereum, điều này đảm bảo tính đồng bộ trong việc thực thi các hợp đồng thông minh trên toàn mạng. Mỗi lệnh trong một hợp đồng thông minh được biên dịch thành một mã byte và được thực hiện bởi EVM. Tại bất kỳ khối (block) nào trong chuỗi, Ethereum có một và chỉ một trạng thái “chuẩn” và EVM là thứ xác định các quy tắc để tính toán trạng thái (state) hợp lệ mới từ khối này sang khối khác.
EVM là một máy ảo Turing-complete, nghĩa là nó có thể giải quyết bất kỳ vấn đề tính toán phức tạp nào, nếu vấn đề đó diễn giải được bằng các hướng dẫn cần thiết, đi kèm nguồn lực về thời gian và bộ nhớ.
Việc có EVM cho phép các nhà phát triển tạo ra các ứng dụng phi tập trung và hợp đồng thông minh trên nền tảng Ethereum. Nhờ đó, họ không cần phải tin tưởng vào bất kỳ bên thứ ba nào khác ngoài mã nguồn mở của Ethereum và cơ chế chạy của EVM.
2. Phân biệt Parallel và Concurrent
Song song và đồng thời là hai thuật ngữ dễ bị nhầm lẫn, mặc dù cả hai đều được sử dụng để cải thiện độ hiệu quả thực thi hệ thống, nhưng chúng khác nhau về ý nghĩa và các tình huống mà chúng được sử dụng. Hãy xem ví dụ để phân biệt hai khái niệm này.
Hãy tưởng tượng có 2 hàng chờ muốn mua Coke từ máy bán hàng tự động:
- Tính song song (Parallel): có 2 máy bán hàng, mỗi hàng chờ sẽ sử dụng 1 máy khác nhau.
- Tính đồng thời (Concurrent): chỉ có 1 máy bán hàng, 2 hàng chờ này phải đồng thời sử dụng 1 máy.
Tương tự trong hệ thống blockchain, tính song song (Parallel) đề cập đến việc hệ thống có khả năng thực hiện nhiều tác vụ với nhiều luồng cùng một lúc. Trong khi đó, tính đồng thời (Concurrent) đề cập đến một luồng làm việc đồng thời nhiều tác vụ để tăng hiệu quả. Ví dụ: một số thao tác nhất định, như đọc dữ liệu từ ổ đĩa, cần phải đợi một lúc để hoàn thành. Trong khi chờ, luồng chính có thể thực hiện các nhiệm vụ khác, như tính toán. Sau đó, quay lại tiếp tục thực thi sau khi dữ liệu của đĩa đã được đọc xong.
3. Parallel EVM là gì ?
3.1 Khái niệm Parallel EVM
Parallel Ethereum Virtual Machine (Parallel EVM) là phiên bản cải tiến của EVM được sử dụng trong blockchain Ethereum. Tiến bộ chính của Parellel EVM nằm ở cách tiếp cận xử lý giao dịch và thực hiện hợp đồng thông minh (smart contracts).
Ở các EVM tiêu chuẩn, các giao dịch và hợp đồng thông minh được thực hiện tuần tự (sequential). Phương pháp này có thể dẫn đến tắc nghẽn khi khối lượng giao dịch hay nhu cầu tương tác hợp đồng thông minh tăng cao. Khi đó, thời gian xử lý có thể tăng lên và chi phí cao hơn (phí gas).
Giải quyết vấn đề trên, Parallel EVM đưa ra khái niệm xử lý song song cho môi trường này. Thay vì xử lý lần lượt từng giao dịch, Parallel EVM có thể xử lý nhiều giao dịch cùng lúc, miễn là kết quả của chúng không phụ thuộc nhau, từ đó, giúp tăng cường đáng kể hiệu quả và khả năng mở rộng của mạng lưới.
Khi thực hiện giao dịch và tương tác với hợp đồng thông minh trên Ethereum, hệ thống sẽ truy vấn trạng thái toàn cục (global state), vì vậy sẽ có xung đột khi truy vấn các kết quả chưa hoàn tất (finality). Ví dụ minh hoạ gần gũi để hình dung về global state là tài khoản ngân hàng, khi bạn thực hiện một giao dịch chuyển tiền, bạn phải chờ trạng thái số dư được cập nhật trên hệ thống rồi mới có thể thực hiện một giao dịch khác.
3.2 Lợi ích của Parallel EVM
Nâng cao độ ổn định của hệ thống: Parallel EVM giúp giảm khối lượng công việc tính toán trên toàn bộ mạng lưới, từ đó tiết kiệm năng lượng và độ hiệu quả trong xử lý giao dịch.
Giảm chi phí: Parallel EVM giải bài toán về tăng khả năng mở rộng (Scalability) và thông lượng (Throughput), trực tiếp giảm chi phí giao dịch (từ giảm cạnh tranh hàng chờ), giúp nền tảng hấp dẫn hơn với người dùng và các tổ chức muốn hoạt động trên blockchain.
Nâng cao hiệu quả dApps: các ứng dụng phi tập trung hưởng lợi từ việc giao dịch được xử lý mượt mà hơn, không bị đình trệ khi số lượng giao dịch tăng cao.
3.3 Phương pháp tiếp cận Parallel EVM
Khó khăn lớn nhất của việc triển khai vận hành song song (Parallel Execution) là xác định trong hệ thống các giao dịch có trạng thái độc lập.
Xét về hạ tầng của EVM hiện tại, các hoạt động phổ biến nhất là sload và sstore, được sử dụng để đọc từ và ghi vào state trie (cây trạng thái). Do đó, khi có hai luồng xử lý song song, cần đảm bảo không có xung đột trên hai hoạt động này, đây là một điểm để tiếp cận để triển khai Parallel EVM.
Ngoài ra, trên Ethereum có một loại giao dịch có cấu trúc đặc biệt gọi là “Access list” (EIP-2930), cho phép một giao dịch mang theo các địa chỉ lưu trữ mà chúng sẽ đọc và sửa đổi. Đây cũng là một điểm tiếp cận tốt cho việc triển khai một phương pháp tiếp cận đồng thời (cocurrent) dựa trên lịch trình.
Về việc triển khai hệ thống, có ba hình thức phổ biến của Parallel/Concurrent EVM:
- Chạy đa luồng một phiên bản EVM duy nhất (Multithreading of a single EVM instance): đây là một trong những phương pháp phổ biến, bằng cách tạo ra nhiều luồng xử lý trong một phiên bản EVM duy nhất. Mỗi luồng có thể xử lý một số lượng nhất định các giao dịch hoặc hợp đồng thông minh cùng một lúc. Điều này giúp tận dụng được các lõi CPU đa nhân và tăng cường hiệu suất của hệ thống.
- Đa luồng của nhiều phiên bản EVM trên một nút duy nhất (Multithreading of multiple EVM instances on a single node): thay vì một phiên bản EVM chạy trên mỗi node, có thể tạo ra nhiều phiên bản EVM song song trên cùng một node. Mỗi phiên bản EVM này có thể xử lý các giao dịch và hợp đồng thông minh riêng biệt mà không ảnh hưởng đến nhau.
- Đa luồng của nhiều phiên bản EVM trên nhiều nút (Multithreading of multiple EVM instances across multiple nodes): phương pháp này tương tự như sharding ở mức độ hệ thống. Các hợp đồng thông minh được chia thành các phân đoạn và được xử lý bởi một phiên bản EVM khác nhau trên một node. Điều này giúp tăng cường khả năng mở rộng và phân phối công việc một cách tối ưu.
3.4 Thách thức đối với Parallel EVM
Đồng bộ hóa dữ liệu: khi thực hiện các hợp đồng thông minh song song trên nhiều luồng, việc đồng bộ hóa các kết quả và trạng thái giữa các luồng trở nên phức tạp. Quản lý đồng bộ hóa và tránh xung đột dữ liệu là một trong những thách thức chính.
Bảo mật: Parallel EVM cần đảm bảo rằng việc thực hiện các hợp đồng thông minh song song không ảnh hưởng đến tính toàn vẹn và bảo mật của mạng. Điều này đặc biệt quan trọng với các ứng dụng tài chính và hợp đồng thông minh có giá trị lớn.
Tài nguyên hệ thống: việc chạy các hợp đồng thông minh song song có thể đòi hỏi nhiều tài nguyên hệ thống hơn, bao gồm bộ nhớ, CPU và mạng. Điều này có thể ảnh hưởng đến hiệu suất của toàn bộ mạng lưới và làm tăng chi phí phí giao dịch (khi validator phải đầu tư phần cứng đắt hơn, họ có thể sẽ thiết lập phí cao hơn).
Thiết kế và triển khai: xây dựng một hệ thống Parallel EVM đòi hỏi kiến thức sâu về kiến trúc máy tính, lập trình song song, và hệ thống phân tán. Việc thiết kế và triển khai đúng đắn có thể là một thách thức đối với các nhà phát triển.
Tương thích ngược: Parallel EVM có thể gặp khó khăn trong việc đảm bảo tương thích ngược với các hợp đồng thông minh đã tồn tại, đặc biệt là khi cập nhật từ EVM chuẩn sang Parallel EVM. Điều này có thể gây ra các vấn đề liên quan đến giao thức và tương tác với các ứng dụng và dịch vụ hiện có.
4. Một số dự án Parallel EVM nổi bật
Monad: dự án thực hiện bởi Monad Labs, hướng đến gia tăng khả năng mở rộng (scalability) và tốc độ giao dịch (transaction speed) với những công nghệ độc quyền. Theo thông tin Monad cung cấp, dự án có thể xử lý 10,000 TPS, đạt block time 1 giây, có khả năng vận hành song song (parallel execution) và cơ chế đồng thuận MonadBFT. Dự án đã gọi vốn thành công 19 triệu USD ở vòng seed funding, dự kiến ra mắt testnet vào giữa Q1/2024. Hệ sinh thái Monad đã có một số dự án nổi bật: Elixir, Pyth Network,…
Monad gọi vốn 19 triệu USD vòng seed từ PlaceHolder, Shima Capital,…
Sei V2: một bản nâng cấp lớn của blockchain Sei, tham vọng trở thành một Parallel EVM hoàn toàn đầu tiên. Sei V2 cung cấp các hợp đồng thông minh tương thích ngược, optimistic parallelization, cấu trúc dữ liệu mới SeiDB và khả năng tương tác với chuỗi hiện có. Bản nâng cấp sẽ được ra mắt công khai trên tesnet vào Q1/2024 và triển khai lên mainet trong nửa đầu 2024.
Neon EVM: một nền tảng Parallel EVM trên Solana, nhằm mục đích cung cấp một môi trường hiệu quả, bảo mật và phi tập trung cho các ứng dụng Ethereum, giúp các dApps này chuyển đổi liền mạch sang Solana. Bên cạnh đó, tận dụng lợi thế thông lượng cao và chi phí thấp của mạng Solana.
Đọc thêm: Công nghệ lõi là gì ? Cách đánh giá trong đầu tư crypto
Miễn trừ trách nhiệm: 5Money khuyến cáo người đọc phải trang bị kiến thức sâu sắc về thị trường Crypto trước khi tham gia đầu tư. Thông tin trong bài viết không được xem là lời khuyên tài chính, 5Money không chịu trách nhiệm với bất kỳ quyết định đầu tư nào của các bạn.
Tham gia Cộng đồng 5 Phút Crypto để thảo luận về kiến thức và kinh nghiệm đầu tư nhé!