L2 «Tái Hiệu Chuẩn»: Khi L1 Trở Thành Rollup Của Chính Nó, Liệu Có Phải Kết Cục Của Ethereum?
Lê Hải
Tôi vừa đọc xong một bài viết gây tranh cãi trên diễn đàn nghiên cứu Ethereum. Nó đề xuất một khái niệm táo bạo: L2 «tái hiệu chuẩn» đến mức L1 trở thành rollup của chính nó. Nghe có vẻ nghịch lý, nhưng chính sự nghịch lý đó khiến tôi phải ngồi lại phân tích.
Bối cảnh: Hiện tại có hơn 40 giải pháp L2 đang hoạt động, từ Optimistic Rollup như Arbitrum, Optimism đến ZK-Rollup như zkSync, StarkNet. Tất cả đều nhằm mở rộng Ethereum bằng cách xử lý giao dịch bên ngoài L1 và gửi bằng chứng về. Nhưng thực tế, lượng người dùng cơ bản vẫn là như nhau — chỉ có khoảng 500 nghìn địa chỉ hoạt động hàng ngày trên tất cả L2 cộng lại. Đây không phải scaling, mà là cắt nhỏ thanh khoản vốn đã khan hiếm. Chính vì vậy, một số nhà nghiên cứu bắt đầu đặt câu hỏi: nếu chúng ta tiếp tục đẩy logic này đến cùng, liệu L1 có thể trở thành một «rollup» của chính nó không? Tức là Ethereum chỉ làm nhiệm vụ đồng thuận và sẵn sàng dữ liệu, còn mọi thực thi đều do một lớp «tự rollup» đảm nhận.
Core: Ý tưởng này thực chất là một dạng mở rộng của modular blockchain. Trong mô hình hiện tại, L1 = consensus + execution, L2 = execution + proofs. Đề xuất mới muốn tách hoàn toàn execution khỏi L1, biến L1 thành pure consensus + DA, còn execution được xử lý bởi một «L2 đặc biệt» mà về mặt logic là rollup của chính L1. Vấn đề kỹ thuật đầu tiên: L1 không thể đồng thời là người chứng kiến và người được chứng kiến. Một rollup cần một lớp nền tảng (base layer) để xác minh bằng chứng của nó. Nếu L1 tự làm điều đó, nó sẽ tạo ra vòng luẩn quẩn — ai xác minh cho người xác minh? Giải pháp khả dĩ là chuyển vai trò xác minh sang một bên thứ ba, ví dụ như một mạng lưới light client mới, nhưng điều đó làm mất đi tính phi tập trung của L1. Trong quá trình kiểm thử một mô hình giả lập trên máy local (tôi dùng Geth và sửa code để chạy thử), tôi nhận thấy thời gian tạo block tăng gấp 3 lần nếu phải thực hiện thêm bước xác minh nội bộ. Chưa kể đến vấn đề lưu trữ: bằng chứng (proof) của rollup L1 sẽ cực kỳ lớn (có thể lên tới vài MB mỗi block) — điều này phá vỡ giả định về dung lượng dữ liệu của Ethereum hiện tại (80KB mỗi block cho calldata). Một trade-off quan trọng: tăng tính modularity nhưng hy sinh tính đơn giản của L1. Ethereum đang có lợi thế là giao thức tương đối đơn giản và an toàn. Thêm một lớp rollup nội bộ sẽ làm tăng bề mặt tấn công.
Contrarian: Nhiều người cho rằng đây là hướng đi tất yếu để giải quyết bài toán mở rộng. Nhưng tôi cho rằng đó là một ngõ cụt. Dựa trên kinh nghiệm audit của tôi với hàng chục L2, không có cái nào thực sự phi tập trung khi nói đến cơ chế challenge period hay sequencer. Nếu L1 trở thành rollup, ai sẽ làm sequencer? Một bộ validator hiện tại? Họ sẽ phải chạy thêm một client phức tạp, và đó là điểm tập trung mới. Thực tế, ý tưởng này là một dạng «tái phát minh bánh xe» nhưng với chi phí cao hơn. Các giải pháp L2 hiện tại như Arbitrum Nitro đã chứng minh có thể đạt 40.000 TPS trên môi trường thử nghiệm — vấn đề của Ethereum không phải là thiếu công nghệ, mà là thiếu ứng dụng thực sự cần đến nó. Góc nhìn phản trực giác: có thể Ethereum không cần một L1 rollup; nó cần giảm bớt sự phức tạp của L2 ecosystem, thay vì thêm một lớp nữa.
Takeaway: Tôi sẽ không đầu tư thời gian vào concept này cho đến khi có ít nhất một bài viết kỹ thuật chi tiết hoặc một testnet cụ thể. Bài phân tích gốc chỉ là một bài viết ý tưởng, không hơn. Nếu một ngày nào đó Vitalik tweet về nó, tôi sẽ xem xét lại. Còn bây giờ, tôi quay lại việc kiểm tra code của dự án Layer2 mới mà tôi đang làm research — audit xong rồi, lỗi vẫn còn đó.