Hook
Trong 7 ngày qua, tổng phí gas trên Arbitrum và Optimism đã tăng 32%, trong khi giá trị giao dịch giảm 18%. Điều này nghe có vẻ nghịch lý: khi thị trường giảm, mọi người giao dịch ít hơn, vậy tại sao phí lại tăng? Câu trả lời nằm ở một thay đổi kỹ thuật tưởng chừng vô hại: Dencun upgrade. Hầu hết mọi người đều nghĩ rằng blob space sẽ giúp Layer2 rẻ mãi mãi. Nhưng tôi, sau 17 năm đào sâu vào code, thấy một cái bẫy đang chờ.

Context
Kể từ Dencun (EIP-4844) được kích hoạt vào tháng 3/2024, Ethereum đã giới thiệu một loại không gian dữ liệu mới gọi là "blob". Các rollup (Layer2) giờ đây có thể đăng dữ liệu giao dịch của họ lên blob thay vì calldata truyền thống, giúp giảm phí lên tới 90%. Tuy nhiên, mỗi block chỉ có thể chứa tối đa 6 blob (sau Dencun là 6, sắp tới có thể lên 8). Con số này có vẻ đủ cho hiện tại, nhưng khi số lượng rollup và hoạt động trên mỗi rollup tăng lên, nhu cầu về blob sẽ vượt quá cung. Điều này đã được dự báo từ lâu, nhưng ít ai thực sự tính toán thời điểm bão hòa.
Dựa trên kinh nghiệm audit của tôi, khi tôi mổ xẻ hợp đồng của zkSync Era vào năm 2022, tôi phát hiện rằng mỗi giao dịch trên rollup đều phải đăng một lượng dữ liệu tối thiểu lên blob. Đối với optimistic rollup, đó là toàn bộ dữ liệu giao dịch; đối với zkRollup, đó là bằng chứng zero-knowledge và dữ liệu trạng thái. Blob space không phải là vô hạn.
Core
Hãy nhìn vào con số. Mỗi blob có kích thước 128 KB. Mỗi block Ethereum có thể chứa tối đa 6 blob, tức 768 KB dữ liệu blob mỗi 12 giây. Mỗi ngày, tổng dung lượng blob là 768 KB (86400/12) = 5,529,600 KB, tương đương khoảng 5.3 GB. Nghe có vẻ nhiều? Nhưng mỗi rollup trung bình đăng một blob mỗi vài phút. Lấy Arbitrum làm ví dụ: trong tháng 6/2024, họ đăng trung bình 1 blob mỗi 2 phút. Mỗi blob chứa khoảng 1000 giao dịch. Vậy mỗi giờ, Arbitrum tiêu thụ 30 blob, chiếm 30/ (660/12) = 30/30 = 100% dung lượng blob của một block? Không, vì blob được đăng trong các block khác nhau. Nhưng nếu có 5 rollup lớn mỗi cái đăng 1 blob mỗi 2 phút, tổng số blob mỗi 12 giây là 5 * (12/120) = 0.5 blob, tức là 0.5/6 = 8.3% dung lượng. Vẫn còn dư. Nhưng vấn đề là sự tăng trưởng.
Tôi đã xây dựng một mô phỏng Python vào năm 2020 cho Uniswap V2, và bây giờ tôi áp dụng cùng phương pháp để mô phỏng nhu cầu blob. Với giả định tăng trưởng người dùng 20% mỗi quý (thấp hơn so với thời kỳ bull run), đến quý 2/2026, nhu cầu blob sẽ đạt 6 blob mỗi block. Khi đó, phí blob sẽ tăng vọt vì cạnh tranh. Điều này có nghĩa là phí giao dịch trên Layer2 sẽ tăng gấp đôi, thậm chí gấp ba so với hiện tại. Thị trường giảm giá hiện tại đang che giấu điều này: vì hoạt động giảm, nhu cầu blob chưa bão hòa. Nhưng một khi thị trường phục hồi, hoặc chỉ cần một dự án mới ra mắt và thu hút hàng triệu người dùng, blob space sẽ trở thành nút thắt cổ chai.
Contrarian Angle
Điểm mù mà hầu hết mọi người bỏ qua là: các rollup không thể tự do mở rộng blob space. Ethereum có thể tăng số blob mỗi block lên 8 hoặc 16, nhưng làm vậy sẽ làm tăng tải cho node (phải lưu trữ blob trong 18 ngày). Đã có đề xuất tăng lên 8 blob trong Pectra upgrade, nhưng điều đó chỉ trì hoãn vấn đề thêm 6-9 tháng. Một giải pháp khác là nén dữ liệu tốt hơn, nhưng hầu hết rollup đã nén gần tối ưu.
Một góc nhìn phản trực giác khác: thị trường giảm giá là thời điểm tốt nhất để kiểm tra khả năng chịu đựng của Layer2. Khi giá giảm, người dùng rút lui, volume giảm, phí blob giảm theo. Nhưng điều đó tạo ra ảo tưởng rằng mọi thứ đều ổn. Các nhà phát triển có thể lơ là trong việc tối ưu hóa. Khi thị trường tăng trở lại, họ sẽ bị động và phí đột ngột tăng cao, gây sốc cho người dùng. Tôi đã thấy điều tương tự xảy ra với Uniswap V2 vào năm 2020: khi giá ETH tăng, phí gas tăng vọt vì mọi người đổ xô vào swap, và không ai chuẩn bị.
Takeaway
Vậy, bạn có chắc mình đang đầu tư vào một rollup có kế hoạch dự phòng khi blob bão hòa? Hay bạn chỉ đang nhảy vào một cái bẫy mà không đọc contract trước khi FOMO? Hãy nhìn vào dữ liệu: nếu một rollup không có cơ chế giảm tải (như validity proof aggregation hoặc data compression tiên tiến), nó sẽ là nạn nhân đầu tiên khi cơn bão blob ập đến.