Parallel Execution
Parallel Execution
Bài viết này tóm tắt lại bài viết về Parallel Execution đăng trên coin68. Bài viết trên coin68 được trình bày lại từ bài viết tiếng Anh này.
Trong bài viêt này chúng ta có hai thuật ngữ cần nắm: Sequential Execution (Thực thi tuần tự) và Parallel Execution (Thực thi song song)
1. Sequential Execution
Điểm hạn chế chính của EVM là việc sử dụng Sequential Execution để thực thi giao dịch. Về cơ bản, EVM thực hiện 1 giao dịch tại 1 thời điểm và tạm dừng tất cả các giao dịch khác cho đến khi trạng thái của giao dịch được cập nhật trong blockchain ngay cả khi đối với 2 giao dịch độc lập.
Ví dụ: Alice chuyển tiền cho Bob và Carol chuyển tiền cho Dave thì EVM vẫn không thể thực hiện song song các giao dịch này.
2. Parallel Execution
Parallel Execution (Thực thi song song) là một giải pháp được các blockchain sử dụng để phân loại các giao dịch độc lập với nhau và thực hiện chúng đồng thời trong cùng 1 thời điểm.
Mặc dù khái niệm xử lý song song rất đơn giản nhưng điều khó khăn lại nằm xác định hiệu quả các giao dịch độc lập. Việc phân loại các giao dịch độc lập đòi hỏi sự hiểu biết về cách mỗi giao dịch thay đổi bộ nhớ hoặc trạng thái được ghi nhận trên blockchain.
Ví dụ: Người dùng swap liên tiếp 2 lần trong 1 pool thì 2 giao dịch đó sẽ phụ thuộc lẫn nhau và cần được thực hiện tuần tự thay vì thực hiện song song.
Mỗi blockchain sẽ sử dụng bởi các công cụ thực thi song song và các phương pháp kiểm soát quyền truy cập trạng thái giao dịch khác nhau. Trạng thái giao dịch trên blockchain có thể được coi là bộ nhớ RAM và mỗi smart contract sở hữu một loạt vị trí bộ nhớ mà nó có thể sửa đổi. Các giao dịch phụ thuộc là những giao dịch cố gắng thay đổi cùng một vị trí bộ nhớ trong cùng một khối. Mỗi blockchain sử dụng các kiến trúc bộ nhớ và các cơ chế khác nhau để nhận biết các giao dịch phụ thuộc.
Solana được xem là blockchain Layer 1 tiên phong trong việc sử dụng Parallel Execution với công nghệ Sealevel. Sealevel là một công cụ xử lý giao dịch hyper-parallelized được thiết kế để mở rộng quy mô ngang trên GPU và SSD. Điều này khác biệt so với các blockchain khác, vì Solana là blockchain duy nhất hỗ trợ việc thực hiện giao dịch không chỉ xác minh chữ ký mà còn song song trên một shard (phân đoạn) duy nhất. Ngoài ra, Sealevel có khả năng tìm ra tất cả các giao dịch không chồng chéo trong một block và thực hiện chúng song song. Nó tận dụng cách đọc và ghi trạng thái đã được sắp xếp trên một dãy RAID 0 SSD.
Aptos là blockchain Layer 1 được xây dựng trên ngôn ngữ Move của Diem và MoveVM để tạo ra blockchain có thông lượng cao để sử dụng Parallel Execution. Blockchain này không yêu cầu giao dịch khai báo rõ ràng trạng thái của nó.
Sui. Một cách tiếp cận Parallel Execution khác là yêu cầu các giao dịch khai báo rõ ràng các phần trạng thái mà chúng sửa đổi và Sui đang theo hướng này.
Fuel Network là 1 modular execution layer (lớp thực thi mô-đun) được thiết kế để cải thiện khả năng mở rộng, bảo mật và hiệu quả của hệ sinh thái Ethereum. Fuel Network hoạt động dựa trên UTXO cho phép xử lý giao dịch nhanh hơn do các giao dịch được xác thực song song trên phần cứng của người dùng.
Linera là blockchain Layer 1 thế hệ mới giải quyết vấn đề khả năng mở rộng đồng thời giúp người dùng từ Web2 chuyển đổi sang Web3 một cách dễ dàng. Linera sử dụng một mạng lưới bao gồm các microchain và mỗi microchain có thể xử lý các giao dịch riêng biệt. Điều này giúp Linera có khả năng mở rộng cao mà không ảnh hưởng đến khả năng bảo mật. Ngoài ra, Linera cũng áp dụng Parallel Execution để xử lý các giao dịch song song trên các microchain khác nhau trong cùng 1 thời điểm.
Monad là blockchain Layer 1 sử dụng Parallel Execution để xử lý nhiều giao dịch cùng lúc thay vì từng giao dịch một như Ethereum. Monad sẽ sử dụng phương pháp optimistic execution để giữ cho kết quả đầu ra giao dịch luôn chính xác. Tại đây, các giao dịch sau bắt đầu chạy ngay cả khi các giao dịch trước đó trong block chưa được hoàn thành. Nếu giao dịch sử dụng dữ liệu cũ thì giao dịch đó sẽ được gắn cờ để chạy lại với thông tin được cập nhật mới nhất.
3. Tổng kết
Parallel Execution (Thực thi song song) là một giải pháp được các blockchain sử dụng để phân loại các giao dịch độc lập với nhau và thực hiện chúng đồng thời trong cùng 1 thời điểm. Hiện tại, một số blockchain nổi bật đang sử Parallel Execution có thể kể đến như Solana, Sui, Aptos,...
Mặc dù giải quyết được vấn đề về hiệu suất mạng lưới nhưng Parallel Execution lại đang gặp phải những thách thức mới:
- tỷ lệ phần trăm phân loại giao dịch độc lập và
- tính tập trung của mạng lưới.
Nếu các dự án blockchain mới có thể giải quyết được 2 bài toán này thì Parallel Execution sẽ là giải pháp được áp dụng rộng rãi trong tương lai thay vì Sequential Execution.

Nhận xét
Đăng nhận xét