Sui và Aptos là 2 blockchain đã thu hút được rất nhiều sự chú ý trong những tháng gần đây khi đã huy động thành công hàng trăm triệu USD từ các ông lớn trong ngành như Coinbase Venture, FTX Venture, Binance Labs,… với định giá lên đến hàng tỷ USD. Đây đều là những dự án làm về blockchain Layer 1, nhưng trên thị trường ở thời điểm hiện tại thật sự không thiếu các dự án về mảng này. Vậy thì chính xác điều gì đã khiến cho cả Sui và Aptos có thể thành công đến vậy qua các vòng gọi vốn, thứ gì khiến nhiều quỹ đầu tư xuống nhiều tiền đến vậy dù trong thời điểm downtrend như hiện tại. Hôm nay hãy cùng mình tìm hiểu nhé!
Vấn đề hiện tại
Trên thị trường hiện tại thì các blockchain EVM đang là những Smart contract Platform chiếm nhiều thị phần nhất. Một phần nằm ở việc các blockchain EVM nắm được nhiều lợi thế khi có thể thu hút cả người dùng và devs từ Ethereum sang. Bên cạnh đó, ngoài Ethereum và các Layer 2 thì các blockchain EVM phát triển độc lập như BNB Chain, Polygon, Avalanche C-Chain,.. cũng phát triển khá mạnh mẽ trong 2021 và thu hút được lượng lớn người dùng và cả TVL. Thế nhưng chính những blockchain này lại đang cố gắng tìm cách để thay đổi cơ chế đồng thuận của mình nhằm gia tăng thông lượng mạng. Vì sao lại như vậy?
Vấn đề nằm ở chỗ, các blockchain EVM có một nhược điểm chí mạng là việc xử lý các giao dịch phải diễn ra theo thứ tự. Như vậy mỗi lần xử lý một giao dịch thì nó sẽ đưa các giao dịch khác vào mempool, tức là chúng sẽ bị tạm dừng cho đến khi giao dịch hiện tại được xử lý xong. Điều này diễn ra ngay cả khi các giao dịch hoàn toàn độc lập với nhau, ví dụ như khi anh A muốn gửi tiền từ Ethereum sang BNB Chain và anh B muốn gửi tiền từ Polygon sang Avax, thì về cơ bản các blockchain EVM sẽ không thể xử lý cùng lúc 2 giao dịch này, điều này đã ảnh hưởng không nhỏ đến khả năng mở rộng của chúng
Việc phải xử lý các giao dịch theo thứ tự là một trong những nhược điểm khá lớn của một blockchain khi nó làm nghẽn thông lượng của mạng lưới. Nó khiến giao dịch trong các block mất nhiều thời gian để được thực hiện và do đó làm tăng thời gian tạo block. Thậm chí nó còn hạn chế số lượng giao dịch được thêm vào các block, nói chung là nó sẽ hạn chế rất nhiều đến khả năng mở rộng của mạng lưới
Việc này tạo ra những hệ quả khá nghiêm trọng với người dùng, điển hình như việc phí gas bị đẩy lên cao, thậm chí rất cao trong những khung thời gian cao điểm hay khi có sự kiện lớn nào đó. Ví dụ rõ rệt nhất là Ethereum trong những khung thời gian cao điểm phí gas có thể lên đến hàng trăm USD. Bên cạnh đó, nó còn khiến cho các node tiêu tốn nhiều năng lượng hơn trong việc vận hành mạng lưới
Parallel Execution – Giải pháp cho tương lai?
Parallel Execution là một cơ chế xử lý giao dịch đang được các blockchain Layer 1 mới áp dụng rộng rãi nhằm giải quyết vấn đề này. Việc xử lý các giao dịch theo cơ chế song song tức là giải quyết nhiều giao dịch độc lập cùng lúc có thể tận dụng được tối đa sức mạnh phần cứng của các node để cải thiện khả năng mở rộng của mạng lưới. Bên cạnh đó, trong những khung thời gian cao điểm, các node có thể xử lý nhiều giao dịch cùng lúc để giảm áp lực trực tiếp lên mạng lưới
Để làm được điều này, cơ chế hoạt động của Parallel Execution khá đơn giản, nó nhận diện những giao dịch độc lập với nhau và xử lý những giao dịch đó song song cùng lúc. 2 giao dịch được gọi là phụ thuộc nhau nếu việc xử lý một giao dịch này ảnh hưởng đến việc xử lý một giao dịch khác. Ví dụ như khi anh em swap liên tiếp 2 lần trong 1 liquidity pool. Hai giao dịch đó phụ thuộc lẫn nhau và cần phải được thực hiện tuần tự chứ không thử thực hiện đồng thời
Khái niệm thì có vẻ như khá đơn giản, nhưng thực tế thì nó phức tạp hơn thế khá nhiều. Vấn đề chủ yếu nằm ở việc xác định được những giao dịch nào độc lập với nhau và những giao dịch nào phụ thuộc nhau để xử lý chúng. Việc phân loại các giao dịch này đòi hỏi phải thực sự hiểu các giao dịch này ảnh hưởng thế nào đến blockchain memory hay tình trạng của chain, các giao dịch tương tác với cùng một smart contract có thể thay đổi trạng thái của smart contract đó cùng lúc và do đó không thể xử lý chúng cùng lúc. Nói nôm na là ở thời điểm hiện tại thì việc giải quyết vấn đề này là đầy thử thách
Bên cạnh đó, việc ứng dụng Parallel Execution còn giúp làm cải thiện độ trễ của việc xác thực giao dịch trong các block. Việc cải thiện sức mạnh của các node và tận dụng tối đa sức mạnh phần cứng cho phép các giao dịch sẽ không cần phải xếp hàng dài hàng chục hàng trăm block hay phải trả thêm lượng phí đắt đỏ để được ưu tiên nữa. Một khi đảm bảo được độ trễ thấp khi xác thực giao dịch, Parallel Execution sẽ mở ra cánh cửa cho những use case không thể thực hiện được trước đây
Nói dài dòng văn tự thế thôi, nhưng tóm lại là Parallel Execution có thể cải thiện những vấn đề mở rộng mà hầu hết các blockchain hiện nay đang gặp phải thông qua 3 ưu điểm là tận dụng tài nguyên tốt hơn, xử lý được nhiều hơn và cải thiện được trải nghiệm người dùng
Những thử thách
Dù có nhiều ưu điểm, nhưng Parallel Execution cũng có những rào cản của nó. Dưới đây là một vài ví dụ
Tỷ lệ giao dịch có thể thực hiện song song
Việc ước tính tỷ lệ giao dịch có thể thực hiện song song thực chất là một vấn đề khá phức tạp. Tuỳ vào hoạt động của mạng lưới mà tỷ lệ này có thể rất khác nhau giữa các block. Ví dụ đơn giản, khi anh em mint NFT thì việc đó sẽ khiến có nhiều giao dịch phụ thuộc nhau diễn ra hơn hoặc các giao dịch AMM trong 1 liquidity pool cũng sẽ phụ thuộc lẫn nhau
Nếu phân tích các giao dịch hằng ngày trên Ethereum, ta có thể thấy rằng khoảng 20% – 30% trong số đó là các giao dịch gửi ETH, 10% – 20% là giao dịch chuyển đổi stablecoin, khoảng 10% – 15% trên các DEX, 4% – 6% là giao dịch các NFTs, 12% – 15% là các giao dịch token ERC-20. Vậy nên nếu chúng ta giả định rằng hầu hết các giao dịch chuyển ETH và token ERC-20 là những giao dịch độc lập vì sẽ có khoảng 70% – 80% lượng giao dịch trên Ethereum có thể được cải thiện nếu áp dụng Parallel Execution. Điều này cũng có nghĩa là các giao dịch phụ thuộc nhau và phải xử lý theo thứ tự chiếm khoảng 20% – 30%. Nói cách khác, việc ứng dụng Parallel Execution có thể khiến cho thông lượng mạng lưới cao hơn khoảng từ 3 – 5 lần trong khi phí gas vẫn vậy. Thực tế thì một số thực nghiệm đối với các blockchain EVM cũng cho ra kết quả tương tự, thậm chí còn có thể cao gấp 100 lần so với Ethereum ở thời điểm hiện tại. Nhưng nó cũng sẽ dẫn đến một vấn đề khác
Tính phân quyền của mạng lưới (Network Centralization)
Việc nâng cao thông lượng của mạng lưới cũng yêu cầu các node phải đáp ứng được sức mạnh xử lý cần thiết để xử lý các block. Khi thông lượng mạng lưới ở mức cao, mạng lưới sẽ phải xử lý hàng ngàn giao dịch mỗi giây. Một số validator sẽ có khả năng đầu tư mạnh hơn để cải thiện sức mạnh các nodes để có thể tăng cường khả năng xử lý giao dịch và kiếm được nhiều lợi nhuận hơn. Và đối với một số khác họ không đủ khả năng để cung cấp các máy chủ có độ xử lý phức tạp đến vậy và hiển nhiên việc này có thể khiến cho mạng lưới có nguy cơ trở thành một hệ thống khép kín với quyền lực thuộc về một nhóm nào đó
Nói chúng thì những vấn đề này khá là phức tạp vì về cơ bản thì chúng vẫn là những giải pháp và công nghệ nên khá khó để giải thích một cách rõ ràng, ở đây thì mình cũng chỉ giới thiệu cơ bản về những vấn đề này thôi
The end
Nói tóm lại, việc ứng dụng Parallel Execution có thể làm tăng thông lượng của các mạng lưới blockchain lên khá nhiều. Bằng cách kết hợp với những cải tiến trong cơ chế đồng thuận, Parallel Execution có thể cho phép thông lượng mạng lưới thậm chí còn vượt qua 100k TPS. Những con số này có thể so sánh với hệ thống Visa hay Mastercard toàn cầu đang xử lý giao dịch cho hàng triệu người dùng. Tuy nhiên nó vẫn gặp những rào cản và thách thức trong việc đảm bảo được bản chất Decentralized của mạng lưới cùng nhiều yếu tố khác. Nhưng dù sao đi nữa thì đây có lẽ cũng là một công nghệ đáng để chờ đợi trong thời gian tới