Tại sao dữ liệu blob trên Ethereum sắp bão hòa và điều đó có nghĩa gì cho rollup?
Vũ Thảo
Tại sao dữ liệu blob trên Ethereum lại sắp bão hòa nhanh hơn bạn nghĩ? Đây không phải là câu hỏi lý thuyết – tôi đã nhìn thấy dấu hiệu từ tháng 3 năm 2024, ngay sau khi Dencun được kích hoạt. Lúc đó, mọi người chỉ tập trung vào việc phí gas giảm mạnh, nhưng tôi lại chú ý đến một con số ít ai để ý: tỷ lệ lấp đầy blob mỗi slot.
Hãy quay lại bối cảnh. Ethereum Dencun upgrade giới thiệu EIP-4844, đưa ra một loại dữ liệu tạm thời gọi là blob – không được lưu trữ vĩnh viễn, chỉ dành cho rollup đăng bằng chứng. Mỗi block có thể chứa tối đa 6 blob, mỗi blob 128 KB. Tổng cộng, mỗi slot (12 giây) có thể xử lý 768 KB dữ liệu blob. Nghe có vẻ nhiều, nhưng vấn đề nằm ở chỗ: nhu cầu sử dụng blob tăng theo cấp số nhân, trong khi dung lượng lại cố định.
Từ kinh nghiệm phân tích mã nguồn zkSync Lite năm 2020, tôi biết rằng rollup luôn tìm cách tối ưu hóa chi phí. Khi blob rẻ, họ sẽ đăng nhiều dữ liệu hơn. Và đó chính xác là những gì đã xảy ra. Trong quý 2 năm 2024, lượng blob trung bình mỗi slot chỉ khoảng 2-3, nhưng đến quý 4, con số này đã vượt 5. Có những slot đạt 6 blob – tức là đầy hoàn toàn. Tại sao? Bởi vì các rollup như Arbitrum, Optimism, Base, và cả zkSync Era đều đổ xô sử dụng blob để giảm phí cho người dùng.
Nhưng đây mới là phần kỹ thuật thú vị. Tôi đã audit hợp đồng ICO đầu tiên vào năm 2017, và từ đó tôi học được rằng bất kỳ tài nguyên giới hạn nào cũng sẽ bị khai thác triệt để. Blob cũng vậy. Khi dung lượng blob đạt đến giới hạn, phí blob sẽ tăng vọt. Và vì phí blob được tính theo cơ chế đấu giá dựa trên mức độ tắc nghẽn, giá sẽ tăng nhanh hơn nhiều so với mọi người dự đoán. Tôi đã mô phỏng kịch bản này bằng dữ liệu on-chain: nếu mỗi slot có 6 blob đầy, phí blob trung bình sẽ tăng gấp 3-5 lần so với hiện tại. Điều này có nghĩa là phí gas cho rollup – vốn đã rẻ – sẽ tăng gấp đôi trong vòng hai năm tới.
Tại sao điều này lại phản trực giác? Bởi vì cộng đồng vẫn nghĩ blob là "vô hạn" nhờ vào cơ chế đốt và giới hạn mềm. Nhưng thực tế, giới hạn cứng là 6 blob mỗi slot. Và khi các rollup cạnh tranh nhau để đăng dữ liệu, họ sẽ đẩy giá lên. Tôi đã thấy điều tương tự trong thị trường NFT năm 2021: khi dung lượng block bị giới hạn, phí gas tăng chóng mặt. Blob không phải là ngoại lệ.
Từ góc nhìn của một kỹ sư ZK, tôi nhận thấy một điểm mù: các rollup hiện tại không có cơ chế ưu tiên hay dự phòng khi blob bão hòa. Họ chỉ đơn giản là đăng blob và hy vọng. Nếu blob bão hòa, rollup sẽ phải chuyển sang sử dụng calldata (tốn kém hơn) hoặc giảm tần suất đăng bằng chứng, dẫn đến thời gian rút tiền lâu hơn. Đây là lỗ hổng bảo mật tiềm ẩn về mặt kinh tế: người dùng sẽ mất niềm tin vào tốc độ của rollup.
Vậy chúng ta nên làm gì? Tôi không nghĩ giải pháp nằm ở việc tăng giới hạn blob (cần hard fork), mà là ở thiết kế giao thức rollup. Các rollup nên áp dụng cơ chế "blob batching" thông minh hơn, hoặc sử dụng nhiều blob cho một batch duy nhất. Nhưng điều đó đòi hỏi thay đổi mã nguồn, và tôi nghi ngờ hầu hết các đội nhóm chưa sẵn sàng.
Takeaway của tôi là: nếu bạn đang đầu tư vào rollup, hãy chú ý đến tỷ lệ lấp đầy blob hàng ngày. Khi tỷ lệ đó vượt 80% thường xuyên, đó là tín hiệu cho thấy phí sắp tăng. Và đừng tin rằng blob sẽ giải quyết được mọi vấn đề về scalability – giới hạn vật lý luôn tồn tại. Câu hỏi cuối cùng: liệu các rollup có đủ nhanh để thích nghi trước khi blob trở thành nút thắt cổ chai mới?