Sequencer là gì? Vai trò và hướng phát triển trong tương lai
![Avatar](/_next/image?url=https%3A%2F%2Ffiles.amberblocks.com%2Fthumbnail%2Fchnbzaa92ook5tnj%2Fchannel%2Fchnbzaa92ook5tnj%2Ff8xggzaan1h8ak0kz9cjhlnzcffpbk77%2Flogocoin98.png&w=3840&q=20)
![Vai trò Sequencer trong Rollup](https://files.amberblocks.com/thumbnail/chnbzaa92ook5tnj/posts/pq9g6jhjdvi39lbp/f4805p3y972bon8wop6ndpuk7c82et7w/sequecner-role-in-rollup.png)
Sequencer trong Rollup là gì?
Sequencer trong Rollup là một thực thể chuyên biệt chịu trách nhiệm quản lý thứ tự (Ordering) và thực thi (Execution) các giao dịch để cập nhật trạng thái mạng, trong đó:
- Transaction Ordering: Sequencer nhận các giao dịch chưa được xác nhận của người dùng, sắp xếp và xác định thứ tự cho các giao dịch.
- Transaction Execution: Xử lý các giao dịch đã được sắp xếp thứ tự và đề xuất trạng thái mới cho mạng.
Tìm hiểu thêm: Rollup là gì? Góc nhìn đa chiều về trong việc phát triển Rollup.
Lợi ích và rủi ro của Centralized Sequencer
Ở thời điểm hiện tại, hầu hết các Rollup đang sử dụng một Sequencer tập trung (Centralized Sequencer) do chính họ vận hành (Rollup Operator). Cách tiếp cận tập trung mang lại một số lợi ích, bao gồm:
- Giao dịch được xử lý nhanh, cung cấp một xác nhận nhanh chóng cho các giao dịch, từ đó cải thiện trải nghiệm người dùng.
- Tối ưu hóa chi phí vận hành Sequencer mang lại hiệu quả chi phí cho Rollup, gián tiếp giảm chi phí cho người dùng.
Tuy nhiên, việc tập trung hóa có những rủi ro đáng kể:
- Khả năng phục hồi và dự phòng kém, vì Centralized Sequencer đưa ra một điểm lỗi duy nhất. Nếu Sequencer offline hoặc bị tấn công, toàn bộ mạng sẽ bị gián đoạn.
- Khả năng chống kiểm duyệt kém, vì là thực thể duy nhất có quyền sắp xếp các giao dịch chưa xác nhận, họ có quyền loại trừ hoặc trì hoãn có chọn lọc một số giao dịch nhất định khỏi quá trình xử lý để trục lợi cá nhân.
- Các vấn đề về niềm tin và rủi ro pháp lý, người dùng phải tin tưởng vào Centralized Sequencer rằng họ hành động trung thực và vì lợi ích tốt nhất của mạng. Hơn nữa, các thực thể tập trung dễ bị tổn thương hơn trước các hành động quản lý và can thiệp của chính phủ, có khả năng dẫn đến hạn chế hoạt động hoặc ngừng hoạt động.
Cân bằng giữa lợi ích của việc xử lý giao dịch nhanh và trải nghiệm người dùng tốt với những rủi ro kể trên là rất quan trọng cho sự phát triển và áp dụng trên quy mô lớn của Rollup.
Proposer-Builder Separation (PBS) cho Rollup Sequencer
Hiện tại, hầu hết các Rollup đang sử dụng thiết kế tiêu chuẩn, trong đó, Sequencer thực hiện cả hai nhiệm vụ, bao gồm đặt hàng (Ordering) và thực thi (Execution). Tuy nhiên, chúng sẽ sớm được tách ra, Sequencer trong thiết kế mới thực có nhiệm vụ chính là sắp xếp thứ tự giao dịch (Ordering), việc thực thi sẽ do một vai trò khác trong mạng thực hiện.
Validator và Proposer-Builder Separation (PBS) trên Ethereum
Validator đóng một vai trò quan trọng trong cơ chế đồng thuận bằng chứng cổ phần (PoS) của Ethereum, họ chịu trách nhiệm sản xuất các Block mới cho Ethereum Blockchain. Quy trình cụ thể như sau:
![validator ethereum](https://files.amberblocks.com/media/chnbzaa92ook5tnj/posts/pq9g6jhjdvi39lbp/f9k5mqnw7zd0vkrtpwfnhltd6j7u6drh/validator-ethereum.jpeg)
Block proposition (Đề xuất Block mới)
Thời gian trong Ethereum PoS được chia thành Slot (12 giây) và Epoch (32 Slot). Tại mỗi Slot, một Validator được chọn ngẫu nhiên từ hàng triệu Validator để làm Block Proposer.
Tại Slot được chọn, Block Proposer xem xét các giao dịch chưa được xác nhận trong mempool của họ, chọn ra các giao dịch có lợi nhất cho mạng trong đó, sắp xếp và gộp chúng lại với nhau, thực thi và xác định một trạng thái mới.
Họ gói thông tin này thành một Block và chuyển nó cho những Validator trong uỷ ban đề chứng thực.
Block Attestation (Chứng thực Block được đề xuất)
Ngoài Block Proposer, ở mỗi Slot, một ủy ban gồm những Validator được chọn ngẫu nhiên sẽ tham gia chứng thực Block được đề xuất. Họ tải xuống dữ liệu được đính kèm trong Block và thực thi lại và ký chứng thực (Attestation) để xác định tính hợp lệ của Block được đề xuất.
Tổng số lượng Validator trong mạng được chia thành các uỷ ban, đảm bảo mọi Validator đang hoạt động đều tham gia hoạt động ký chứng thực ở mọi Epoch, chứ không phải ở mọi Slot.
Proposer-Builder Separation (PBS)
PBS đề xuất tách biệt vai trò Validator thành hai vai trò mới là Block Builder và Block Proposer. Trong đó, Block Builder xây dựng các Block (Transaction Ordering).
Block Proposer không biết nội dung các Block nhận được từ các Builder, họ sẽ chọn Block có lợi nhất. Sự tách biệt này có lợi cho việc phân cấp và ngăn chặn việc kiểm duyệt giao dịch ở cấp độ giao thức.
Hiện tại, Ethereum đang áp dụng thiết kế PBS nhờ vào một phần mềm hỗ trợ bên ngoài là MEV-Boost. Ethereum sẽ sớm đưa PBS vào giao thức cốt lõi (in-protocol PBS).
Xu hướng áp dụng thiết kế Proposer-Builder Separation (PBS) cho Rollup Sequencer
Theo thiết kế tiêu chuẩn, Sequencer chịu trách nhiệm sắp xếp thứ tự (Ordering) và thực thi (Execution) các giao dịch trong Rollup, cung cấp một xác nhận nhanh cho người dùng Rollup.
Có một chút sự khác biệt giữa các Rollup sử dụng Fraud Proof và Validity Proof, nhưng nhìn chung Sequencer sẽ thực hiện bốn nhiệm vụ chính sau:
- Sequencing: Sequencer nhận các giao dịch chưa được xác nhận của người dùng, sắp xếp và xác định thứ tự cho các giao dịch.
- Executing: Xử lý các giao dịch đã được sắp xếp thứ tự và đề xuất trạng thái mới cho mạng.
- Batch Submission: Sequencer đóng gói các giao dịch Rollup thành từng kiện (transaction batch) và xuất bản lên lớp cơ sở. Tuỳ vào công nghệ, nó có thể là dữ liệu giao dịch thô, dữ liệu giao dịch đã nén hoặc sự khác biệt trạng thái (State Diff).
- State Root Update: Định kỳ, Sequencer sẽ cập nhật State Root của Rollup Chain lên lớp cơ sở.
![sequencer arbitrum](https://files.amberblocks.com/media/chnbzaa92ook5tnj/posts/pq9g6jhjdvi39lbp/fwgi3ottlp4tx8nygxotdohi37x833sv/arbitrum-hiw.png)
Hầu hết các Rollup đang sử dụng thiết kế Sequencer được trình bày ở trên. Trong đó, Sequencer thực hiện các nhiệm vụ tương tự Validator trong Ethereum, đảm nhiệm cả việc đặt hàng (Ordering) và thực thi (Execution).
Nhiều người lo lắng vai trò của Sequencer nắm giữ quá nhiều quyền lực trong mạng, dẫn đến lo lắng Rollup có thể gặp phải các vấn đề tương tự như Ethereum gặp phải trước khi sử dụng PBS.
Một trong những giải pháp cho vấn đề trên là sử dụng thiết kế PBS để tách biệt các nhiệm vụ của Sequencer. Ý tưởng chính là Sequencer chỉ thực hiện việc sắp xếp thứ tự giao dịch (Ordering) mà không thực thi.
Arbitrum đã triển khai thiết kế trên trong các sản phẩm của mình. Thay vì quản lý cả việc đặt hàng và thực hiện giao dịch, Sequencer trong Arbitrum chỉ chịu trách nhiệm sắp xếp các giao dịch (Ordering). Sau đó, một vai trò khác (gọi là Validator/Proposer) sẽ xử lý các giao dịch này và cập nhật trạng thái của Rollup.
Sự tách biệt trên đảm bảo phân bổ trách nhiệm cân bằng hơn, giảm rủi ro tập trung hóa quyền lực vào một vai trò trong mạng. Ngoài Arbitrum, nhiều dự án Rollup lớn khác cũng hướng tới việc tách vai trò Sequencer để dễ dàng phân cấp giao thức trong tương lai.
Phân cấp vai trò Sequencer trong Rollup
Hiểu một cách đơn giản, Phân cấp Sequencer có nghĩa là sẽ có nhiều node hơn tham gia vào việc vận hành vai trò của Sequencer, thay vì có một thực thể tập trung duy nhất chịu trách nhiệm sắp xếp các giao dịch.
Phân cấp Sequencer sẽ giúp nâng cao khả năng phục hồi và chống kiểm duyệt của mạng. Đây được xem là một trong những nhiệm vụ hàng đầu của Rollup đang hướng tới.
Nhưng nhìn chung sẽ khó có khả năng xuất hiện một giải pháp phù hợp cho tất cả Rollup. Các lựa chọn sẽ có những đánh đổi nhất định, phụ thuộc vào sở thích và tầm nhìn của nhóm phát triển. Xem xét ở góc độ dự án Rollup, chúng ta có thể chia làm 2 hướng tiếp cận chính:
- Tự xây dựng (Self-build)
- Thuê ngoài việc Sequencing (Shared / Outsourced)
Tự xây dựng một Sequencer Network
Các dự án Rollup lớn như Arbitrum, Optimism (Op Mainnet) và Starknet sẽ có xu hướng nội bộ hóa vai trò Sequencer trong mạng lưới của mình. Họ có thể tận dụng native token của mạng, sử dụng các cơ chế khuyến khích và phạt để xây dựng một mạng lưới các node giúp vận hành Sequencer cho mạng.
Việc nội bộ hóa vai trò Sequencer mang lại một số lợi ích:
- Đầu tiên, nó cung cấp các trường hợp sử dụng bổ sung cho native token, tăng tiện ích của chúng trong hệ sinh thái.
- Thứ hai, nó cho phép các dự án chủ động về mặt công nghệ, thực hiện các cải tiến và đổi mới phù hợp với nhu cầu và tầm nhìn của họ.
Hai khía cạnh quan trọng mà các Rollup cần quan tâm khi xây dựng Sequencer Network là;
- Chính sách đặt hàng (Ordering Policy): Sequencer sắp xếp các giao dịch chưa được xác nhận theo một phương pháp nhất định.
- Thuật toán đồng thuận (Consensus Policy): thiết lập một cơ chế để xác định node nào sẽ đóng vai trò là Proposer tại bất kỳ thời điểm nào, đảm bảo phân phối công bằng vai trò Sequencer giữa các node tham gia.
Hiện tại, các dự án Rollup lớn điều có những ý tưởng riêng để thiết kế Sequencer Network của riêng mình, tiêu biểu như Arbitrum và Optimism.
Time-boost Ordering Policy (Arbitrum): cho phép người dùng trả phí ưu tiên (priority fee) để giao dịch của họ được xếp thứ tự cao hơn trong một giới hạn thời gian ngắn, tối đa là 0.5 giây. Cơ chế này được nâng cấp từ chính sách sắp xếp giao dịch đến trước được phục vụ trước (FCFS).
![time boost ordering](https://files.amberblocks.com/media/chnbzaa92ook5tnj/posts/pq9g6jhjdvi39lbp/fijl7kqnxh115ug7hizhhokxp29o15iy/time-boost%20ordering%20policy.png)
MEVA Ordering Policy (Optimism): Quyền sắp xếp giao dịch được bán đấu giá cho người trả giá cao nhất. Người chiến thắng trong cuộc đấu giá có thể sắp xếp lại các giao dịch chưa xác nhận, chèn giao dịch của riêng họ, miễn là họ không trì hoãn bất kỳ giao dịch cụ thể nào nhiều hơn một số Block nhất định.
Cách tiếp cận này giúp phân phối lợi ích từ MEV thu được, lý tưởng nhất là giảm động cơ để bất kỳ bên nào thao túng việc sắp xếp giao dịch một cách không công bằng.
Đọc thêm: Miner Extractable Value (MEV) là gì? Giải pháp và xu hướng dòng tiền.
![meva](https://files.amberblocks.com/media/chnbzaa92ook5tnj/posts/pq9g6jhjdvi39lbp/fiyeu71vhxjzvsrjiyegxhra3rls2da5/meva.png)
Thuê ngoài dịch vụ Sequencing (Shared / Outsourced)
Việc tư xây dựng một Sequencer Network là rất khó và không phù hợp với tất cả Rollup, một giải pháp cho tình huống này là các Rollup có thể thuê ngoài dịch vụ Sequencing, hiện tại có 2 lựa chọn chính:
- Sử dụng sử dụng các dịch vụ dùng chung (Shared Sequencer).
- Thuê ngoài dịch vụ Sequencing từ các Blockchain Layer 1, Layer 2 khác.
Về cơ bản, Shared Sequencer là một mạng lưới các node được thiết kế chuyên dụng để cung cấp dịch vụ Sequencing cho nhiều Rollup khác nhau. Một số Shared Sequencer nổi bật trên thị trường bao gồm: Espresso, Astria,...
Đọc thêm về Espresso - giải pháp Shared Sequencer.
![espresso sequencer](https://files.amberblocks.com/media/chnbzaa92ook5tnj/posts/pq9g6jhjdvi39lbp/fhvmalpjs8mxaln2u4deuvc60bzxugin/espresso-sequencer.png)
Để tăng cường sự liên kết với lớp cơ sở, các Rollup cũng có thể sử dụng cơ sở hạ tầng của Ethereum để sắp xếp thứ tự giao dịch trên nền tảng của mình. Cụ thể, các Rollup sẽ phối hợp với Block Proposer, Searcher và Block Builder để đưa các Rollup block vào Ethereum Block. Một số Rollup tiếp cận theo hướng này bao gồm: Taiko, RISE Chain.
Đọc thêm: Taiko: Ý tưởng tạo nên Rollup khác biệt.
![rollup taiko](https://files.amberblocks.com/media/chnbzaa92ook5tnj/posts/pq9g6jhjdvi39lbp/fzvo12q2skh352cpclcv5isck73c2o12/based-rollup-taiko.png)
Tổng kết
Cuối cùng, dù tập trung hay phi tập trung, Sequencer cần phải đạt được sự cân bằng giữa khả năng mở rộng, hiệu quả và nguyên tắc phân cấp tổng thể.