Ở thời điểm hiện tại, có thể nhiều anh em vẫn đang nhầm lẫn giữa cách vận hành của các Layer-2, cụ thể là các Rollup. Cá nhân mình thú thật là cũng hay nhầm lẫn giữa các dạng sản phẩm này. Vậy thì hôm nay, sẵn bài viết này, chúng ta hãy cùng nhau mổ xẻ cách vận hành của 2 dạng Rollup mới, còn khá xa lạ là Based Rollups và Sovereign Rollups anh em nhé!
So sánh Based Rollups và Sovereign Rollups
Một vài thông tin tổng quan
Trước khi đi vào so sánh thì cá nhân mình nghĩ nên đảo lại các khái niệm của một cấu trúc Modular Blockchain. Anh em quan tâm có thể tìm đọc các bài viết này:
Còn để tóm gọn một cách chung nhất, chúng ta sẽ có 3 tác vụ chính mà một blockchain cần đảm nhiệm:
- Consensus (thường sẽ kèm với khâu Data Availability): Đồng thuận để khoá, đóng băng dữ liệu quá khứ, giảm thiểu rủi ro blockchain bị tấn công đảo ngược dữ liệu giao dịch;
- Settlement: Dàn xếp, cung cấp các yếu tố cần để thực hiện xác thực, đồng thuận;
- Execution: Tiếp nhận yêu cầu giao dịch của người dùng và thực thi chúng.
Các dạng Rollup anh em hay dùng phổ biến như Arbitrum, Optimism, ZKsync,...thuộc định dạng "Smart Contract Rollups". Hiểu nôm na, Rollup dạng này sẽ có một Contract được cắm ở dưới Layer-1 để xử lý các khâu Consensus và Settlement. Trong khi đó, khâu Execution sẽ thuần là việc của mạng lưới trên Layer-2 và bằng chứng sẽ đi qua một lớp Data Availability trước khi được đưa vào xác thực ở Layer-1. Tất nhiên là phải thông qua Contract của Rollup này, nên nó mới có tên là Smart Contract Rollup.
Bọn mình cũng từng nói về các hạn chế hiện tại của mô hình Rollup này tại đây, anh em quan tâm có thể tìm đọc nhé!
>> Xem thêm: Tranh cãi về Native Asset của các cầu nối Layer-2
Vì sao chúng ta cần nói về Sovereign và Based?
Ngoài đặc tính tài sản khác Layer-1 (điều mà các Rollup nhìn chung đều mắc phải), thì có một vài hạn chế từ Smart Contract Rollup khiến nhiều DApp sẽ cân nhắc trong việc lựa chọn nền tảng để xây dựng sản phẩm. Các hạn chế đó gồm:
Chi phí cao và độ trễ
Lưu ý, độ trễ được đem ra so sánh ở đây sẽ được định nghĩa là "giao dịch trên Layer-2 được đính kèm và đóng băng dữ liệu (Finality) ở Layer-1". Sở dĩ chúng ta cần làm rõ như vậy là vì tốc độ "Soft Confirmations" (xác thực mềm) của Smart Contract Rollups vẫn là khá cao, do đó người dùng sẽ thấy giao dịch trên Layer-2 của mình được thực hiện và số dư sẽ thay đổi. Tuy nhiên, ở dưới Layer-1 thì các giai đoạn xác thực chưa được ấn định và điều đó đồng nghĩa hoạt động trên Smart Contract Rollups có thể bị đảo ngược.
>> Xem thêm: DeFi Discussion ep.126: Giao dịch trên L2 Ethereum gặp lỗi do đâu?
Tương tự, chi phí ở đây không phải là chi phí thuần mà các giải pháp Layer-2 sẽ thu của người dùng, mà đó là chi phí để tương tác giữa Layer-2 và Layer-1.
Vì Smart Contract Rollups chỉ giữ lại mỗi phần Execution cho mình, nên các tác vụ còn lại đều phải tương tác với Layer-1. Và mỗi lần tương tác xác thực, thì sẽ cần phải có một khoảng chờ, điều này là vì mạng lưới Layer-1 thường vận hành khá chậm cho với tốc độ của Layer-2.
Đi lại giữa các chain gặp khó khăn
Nếu Dapp chọn phát triển trên một Smart Contract Rollup, như mình đã đề cập ở lí do trước, họ sẽ bị "cô lập" ở mạng lưới này. Và tất nhiên là định dạng token của họ ở các chain sẽ bị phân mảnh. Đồng thời, khâu đi lại sẽ vô cùng khó khăn, vì mỗi lần có một block giao dịch mới thì tất cả đều phải gửi state (trạng thái) xuống Layer-1 để xác thực một lần.
Các cầu nối cũng sẽ cần phải có thông tin về "State Transition" (sự thay đổi trạng thái, số dư) ở Rollups ban đầu thì mới có thể thực hiện lệnh mở khoá (unlock) hoặc in (mint) token mới ở chain đích đến.
Sự ràng buộc trong quá trình phát triển
Nếu thiết lập một Smart Contract Rollup truyền thống, các mạng lưới Layer-2 sẽ phụ thuộc nhiều vào quy tắc của Layer-1, từ đó bị ràng buộc về nhiều khía cạnh khác như quy chuẩn đồng thuận, hệ thống máy ảo và dễ thấy nhất là ngôn ngữ lập trình phát triển.
Sovereign Rollups là gì?
Oke, bây giờ chúng ta sẽ định nghĩa lại Sovereign. Khác với Smart Contract Rollup, Sovereign Rollup sẽ kiêm luôn khâu Execution và Settlement (dàn xếp các bằng chứng chuẩn bị cho khâu xác thực). Như vậy, nó sẽ đỡ tốn một công đoạn gửi State về Layer-1 và xử lý được hạn chế đã đề cập ở phần trên.
Về vấn đề Data Availability, Sovereign cũng dựa vào Layer-1 như Smart Contract Rollups. Nhưng vì Rollup dạng này kiêm luôn mảng Settlement, do đó việc xác thực tính hợp lệ của giao dịch sẽ nằm trong nội bộ của mạng lưới, chứ không cần phụ thuộc vào Layer-1 như Smart Contract Rollups. Cách tiếp cận này tinh gọn các bước tương tác giữa Layer-2 và Layer-1, tuy nhiên nó sẽ tạo ra vấn đề về tính tập trung khi xác thực State của Rollups nếu số lượng node của Layer-2 không đủ lớn.
Như vậy, tạm kết lại thì Sovereign giải quyết được 2/3 bài toán ở phần trước:
- Giảm chi phí thực hiện giao dịch và tăng tốc độ tiếp nhận yêu cầu.
- Mạng lưới tự do hơn trong khâu quản trị/phát triển so với Smart Contract Rollups.
Tuy nhiên, bài toán đồng bộ về khả năng "đi lại giữa các Layer-2" và "từ Layer-2 chuyển về Layer-1" sẽ vẫn còn tồn đọng.
Based Rollups là gì?
Theo định nghĩa, Based Rollup vẫn kiêm phần Execution, nhưng giải pháp này sẽ giao luôn cả khâu Sequencing (xếp hàng giao dịch) cho Layer-1 mà không cần thông qua một mạng lưới Sequencer cục bộ ở Layer-2. Sequencing là thao tác sắp xếp thứ tự giao dịch trước khi tạo khối và gửi thông tin về cho Layer-1. Do đó, có thể tạm hiểu rằng Based thậm chí còn đẩy thêm một phần việc trong khâu Execution cho Layer-1.
Phần Settlement và Data Availability sẽ hoàn toàn phụ thuộc vào Layer-1 của Ethereum.
Như vậy, với cách tiếp cận này, Based Rollup sẽ giải quyết được các vấn đề:
- Đánh đổi một phần về tốc độ tiếp nhận xử lý giao dịch, khi giao việc Sequencer về lại cho Layer-1. Tuy nhiên, tốc độ Confirmation của mô hình này sẽ cao hơn Smart Contract Rollups truyền thống, điều này là vì hoạt động Layer-2 được pre-confirm (tạm xác thực) và ngay lập tức được đính kèm vào block dưới Layer-1.
- Giảm được sự tập trung, phụ thuộc vào một mạng lưới Sequencer trên Layer-2. Ngoài ra, bài toán rút tài sản từ Layer-2 về Layer-1 sẽ nhanh hơn so với Smart Contract Rollups. Lí do của điều này là vì giao dịch trên Layer-2 sẽ đạt trạng thái Finality ở Layer-1 nhanh hơn, nhờ quá trình đính kèm trực tiếp của các Proposer / Validator.
>> Xem thêm: Proposer-Builder Seperation (PBS) là gì?
Tuy nhiên, mô hình Based Rollup phụ thuộc hoàn toàn vào cấu trúc ở Layer-1, do đó sự tự do trong hướng phát triển sẽ không có. Ngoài ra, thời gian tiếp nhận yêu cầu, pre-confirm và Finality giao dịch sẽ bị giới hạn bởi Slot time ở Layer-1. Điều này cũng đã được nhà sáng lập Ethereum Vitalik Buterin nhấn mạnh trong những bài blog gần đây.
Những hiểu nhầm thường gặp với các khái niệm khác
Sovereign và Based
Trước tiên hãy đến với 2 nhân vật chính. Về mặt cấu trúc, 2 dạng Rollup này hoàn toàn khác xa nhau. Sovereign sẽ ôm luôn cả khâu Settlement và không gửi state về Layer-1, do đó có thể nói Sovereign sẽ muốn được tự do, không phụ thuộc vào Ethereum hơn. Trong khi đó, Based sẽ cố gắng đẩy hết các khâu xuống Layer-1 nhiều nhất có thể (chỉ giữ lại Execution), để từ đó thừa hưởng được độ an toàn từ Ethereum một cách nhiều nhất.
Based Rollups và Shared Sequencer
Mình có đọc một vài dòng tweet chia sẻ rằng 2 khái niệm này nhìn chung là giống nhau. Tuy nhiên, cá nhân mình cho rằng, Based Rollups sẽ đạt đủ tiêu chí để trở thành một Layer-2. Còn với Shared Sequencer, đây gần như một lớp tổng hợp nhiều Sequencer từ các Rollup hiện có nhiều hơn là một Layer-2. Điều này là vì Shared Sequencer sẽ không kiêm phần Execution, thứ vốn là đặc trưng để định hình lên khái niệm Layer-2.
Nhìn chung 2 giải pháp này đều hướng tới giải quyết bài toán chi phí chi trả cho Layer-2 Sequencer (phí giao dịch, MEV,...) và tăng độ Liveness (hiểu nôm nay là giảm thiểu trường hợp mạng lưới bị sập, không ghi nhận được yêu cầu người dùng).
Based Rollups và Enshrined Rollups
Có thể lần đầu đọc về 2 khái niệm này, anh em sẽ hiểu nhầm rằng chúng giống nhau, vì cả hai đều cố gắng "giống" Layer-1 Ethereum nhất có thể và đưa càng nhiều tác vụ xuống tầng này nhất có thể.
Tuy nhiên, Enshrined sẽ hao hao với Smart Contract Rollups, và sự thật là nó cũng đặt một Contract ở Layer-1 để ghi nhận các bằng chứng từ Layer-2 chuyển về. Sự khác biệt của Enshrined so với Smart Contract Rollups là nó đưa khâu đồng thuận, quản lý mạng lưới về luôn cho Layer-1, trong khi Smart Contract Rollup thì chủ động có các DAO, hội đồng biểu quyết mỗi khi muốn update bất cứ thứ gì trong Smart Contract gốc. Chính vì sự khác nhau này mà anh em sẽ thấy Scroll gặp khó trong việc tích hợp EIP-4844 và không nhanh bằng các đối thủ dùng cơ chế Smart Contract Rollups.
Trở lại với so sánh cùng Based, thì về cơ bản Enshrined vẫn sẽ có một mạng lưới Sequencer nội bộ trên Layer-2. Đây là điểm khác nhau thứ hai, song song câu chuyện đặt Smart Contract ở Layer-1 đã đề cập ở trên.
Tạm kết
Trên đây là những so sánh sơ nét giữa các mô hình và khái niệm có thể gây hiểu nhầm cho anh em. Nhìn chung, vì lộ trình phát triển của Ethereum là Modular (tức phân tách các tác vụ ra và chia cho từng tổ chức để vận hành), nên để dễ dàng so sánh giữa các cách tiếp cận, điểm mạnh yếu, thì anh em nên dựa vào các tác vụ chính của Blockchain như đã nói ở trên.
Hi vọng là bài viết trên đây sẽ phần nào giúp anh em đỡ rối trong việc phân biệt và nhận biết các dạng Rollups mới. Rất mong được sớm gặp anh em trong một bài viết mới.
Coin68 tổng hợp
Tham gia thảo luận về những vấn đề NÓNG HỔI nhất của thị trường DeFi tại nhóm chat Fomo Sapiens cùng các admin Coin68 nhé!!!