1. Blob là gì?
Blob là một loại bộ nhớ giá trị thấp và tạm thời được sử dụng để chứa dữ liệu về giao dịch trên Ethereum, gọi là "blob-carrying transactions." Những blobs này được thiết kế để tăng cường hiệu suất trong quá trình xác thực các giao dịch.
Thay vì phải xác minh từng giao dịch trong một khối, mạng Ethereum chỉ cần xác nhận rằng blob gắn liền với khối chứa đúng dữ liệu cần thiết. Các giao dịch trong những khối mang theo blob này thường liên quan đến các mạng Layer 2, như Optimism, mà lưu trữ dữ liệu trên Ethereum để chia sẻ trong các bảo đảm về an ninh. Tính tạm thời của blobs đảm bảo rằng chúng không chiếm vĩnh viễn không gian trên mạng Ethereum.
Với cách này, blobs đóng vai trò là một cách tối ưu hóa quá trình xác thực giao dịch và giúp cải thiện hiệu suất của mạng Ethereum, đặc biệt là khi liên quan đến các giao dịch thuộc các mạng Layer 2.
2. Nguồn gốc ra đời của Blob
EIP-4844, hay Proto-Danksharding, là một bản đề xuất quan trọng trên Ethereum, tập trung vào giảm chi phí đăng các gói giao dịch cho giao thức rollup thông qua việc đưa ra một định dạng giao dịch mới được gọi là "blob" (binary large object), giảm phí giao dịch cho người dùng Layer 2.
Nguồn gốc của blob xuất phát từ việc giải quyết một số vấn đề kỹ thuật và chi phí liên quan đến việc lưu trữ dữ liệu của các giao thức rollup. Hiện tại, đa phần các giao thức Rollup sử dụng Ethereum làm data availability (DA) layer, trong đó sequencer của rollup sắp xếp thứ tự giao dịch và gửi chúng lên Ethereum dưới dạng calldata.
Tuy nhiên, vấn đề nảy sinh khi các gói dữ liệu trong calldata được lưu trữ vĩnh viễn trên mạng lưới Ethereum và không thể thay đổi. Điều này dẫn đến tình trạng state growth, khi dữ liệu giao dịch ngày càng lớn, tăng áp lực lên năng lực lưu trữ của các node Ethereum.
Để giải quyết vấn đề này, EIP-4844 giới thiệu blob, một loại dữ liệu lớn tạm thời, giúp giảm áp lực lưu trữ trên Ethereum và giảm chi phí giao dịch. Blob đóng vai trò quan trọng trong tối ưu hóa khả năng mở rộng của các rollup và là bước đầu tiên trong hành trình hướng tới Fully Danksharding.
Blob đã được thử nghiệm trên mạng devnet vào tháng 8/2022 và dự kiến triển khai trên mạng mainnet của Ethereum vào Q1/2024, là một phần quan trọng trong việc nâng cấp và cải thiện khả năng mở rộng của hệ thống Ethereum.
3. Ý nghĩa của Blob đối với khả năng mở rộng Ethereum
Blob đóng một vai trò quan trọng đối với khả năng mở rộng của Ethereum bằng cách giảm thiểu công việc và chi phí liên quan đến việc lưu trữ dữ liệu trên mạng. Dưới đây là ý nghĩa của Blob đối với khả năng mở rộng Ethereum:
Tăng tốc độ xử lý và giảm chi phí: Blob giúp giảm thiểu lượng công việc cần thiết để duy trì dữ liệu trên mạng Ethereum. Việc này dẫn đến tốc độ xử lý nhanh hơn và giảm chi phí liên quan đến việc lưu trữ dữ liệu, đặc biệt là trên các mạng Layer 2.
Tạo thị trường phí riêng cho Blobs: Với việc triển khai EIP-4844, sẽ xuất hiện hai thị trường phí riêng biệt, một cho thực thi Layer 1 và một cho blobs. Blobs không nằm trong thị trường phí hiện tại của Ethereum, điều này giúp giữ cho phí blobs không bị ảnh hưởng bởi tình trạng quá tải trên mạng Ethereum, cho phép duy trì mức phí thấp ngay cả trong điều kiện tăng cường mạng.
Hỗ trợ mạng Layer 2: Sau khi triển khai EIP-4844, các mạng Layer 2 cũng cần thực hiện các cập nhật để hỗ trợ blobs. Điều này có thể giúp tối ưu hóa việc lưu trữ dữ liệu trên các mạng Layer 2 và giữ cho môi trường lưu trữ trở nên linh hoạt và hiệu quả hơn.
Phòng ngừa quá tải mạng Ethereum: Việc tạo ra thị trường phí riêng cho blobs và không ảnh hưởng bởi tình trạng quá tải mạng Ethereum giúp tránh được tình trạng tăng đột ngột của phí giao dịch, đặc biệt là trong những thời kỳ mạng đang chịu áp lực lớn.
Tóm lại, Blob đóng góp vào việc cải thiện khả năng mở rộng của Ethereum bằng cách giảm thiểu chi phí và công việc liên quan đến lưu trữ dữ liệu, đồng thời tạo ra một cơ sở hạ tầng phí mới để hỗ trợ môi trường giao dịch và lưu trữ trên mạng.
4. Blob hoạt động như thế nào?
Blob trong nâng cấp EIP-4844 của Ethereum có vai trò quan trọng trong việc cung cấp không gian lưu trữ chuyên dụng cho các rollup xuất bản dữ liệu giao dịch. Dưới đây là cách hoạt động của giao dịch blob trong nâng cấp này:
Lưu trữ tạm thời:
Blob được thiết kế để làm tăng hiệu suất của rollup thông qua việc giảm áp lực lưu trữ. Dữ liệu của blob sẽ được lưu trữ tạm thời trên lớp đồng thuận Ethereum và sau đó được xoá bỏ sau một khoảng thời gian nhất định, trong trường hợp này là khoảng 18 ngày (tương đương 4,096 epoch).
Kích thước blob và phí gas:
Mỗi blob có kích thước tương đương với 128 kB. Ethereum thiết lập một thị trường phí gas dữ liệu riêng biệt cho các giao dịch blob, không phụ thuộc vào thị trường phí gas tiêu chuẩn theo EIP-1559.
Thị trường phí gas dữ liệu cho Blob:
Blob sẽ có một thị trường phí gas dữ liệu riêng, giúp định giá các giao dịch blob dựa trên cung cầu. Các tài nguyên dữ liệu blob được bán theo đơn vị số nguyên, với mức tiêu chuẩn là 3 blob/block (tương đương 384 kB) và mức tối đa là 6 blob/block (tương đương 768 kB).
Biến động giá Blob:
Giá blob có thể biến động tùy thuộc vào cung cầu. Khi số lượng blob được sử dụng lớn hơn 3, giá blob ở blob tiếp theo sẽ tăng 12.5%. Ngược lại, giá blob giảm 12.5% khi số lượng blob được sử dụng nhỏ hơn hoặc bằng 3.
Lựa chọn xuất bản:
Rollup có khả năng lựa chọn xuất bản giao dịch dưới dạng calldata sử dụng cơ chế phí một chiều (theo EIP-1559) hoặc dưới dạng blob sử dụng cơ chế phí hai chiều (kết hợp EIP-1559 và EIP-4844).
Tóm lại, blob đóng vai trò quan trọng trong việc tối ưu hóa không gian lưu trữ và giảm áp lực lên mạng lưới Ethereum, cung cấp một cơ chế linh hoạt cho các rollup khi lựa chọn cách xuất bản dữ liệu giao dịch của mình.
5. Hạn chế của blob
Mặc dù blob mang lại nhiều ưu điểm về chi phí và khả năng mở rộng cho giao thức rollup trên Ethereum, nhưng cũng tồn tại một số hạn chế:
Tạm thời và không bền vững:
Blob được thiết kế để làm tăng hiệu suất của rollup thông qua việc giảm áp lực lưu trữ, nhưng chúng chỉ tồn tại tạm thời. Sự tạm thời này có thể tạo ra rủi ro nếu cần lưu trữ dữ liệu lâu dài.
Phụ thuộc vào giao thức Rollup:
Blob chủ yếu áp dụng cho các giao thức rollup, và hiệu suất của chúng phụ thuộc vào sự hỗ trợ và thực thi của rollup cụ thể mà chúng được triển khai.
Khả năng tương tác với mạng lưới:
Việc sử dụng blob có thể tạo ra thách thức khi tương tác với mạng lưới Ethereum. Có thể xảy ra tình trạng không hiệu quả nếu blob không được tối ưu hóa cho giao tiếp với các phần khác của mạng lưới.
Yêu cầu sự hỗ trợ từ cộng đồng và nền kinh tế thị trường:
Để blob trở nên phổ biến và hiệu quả, nó cần sự hỗ trợ từ cộng đồng Ethereum và sự chấp nhận trong thị trường. Sự chấp nhận này có thể là một thách thức đối với các người tham gia.
Khả năng tuân thủ và an toàn:
Cần đảm bảo rằng blob được triển khai và sử dụng một cách an toàn và tuân thủ với các chuẩn an ninh và tiêu chuẩn của Ethereum để tránh các vấn đề liên quan đến bảo mật và lạm dụng.
Tuy nhiên, những hạn chế này có thể được giải quyết thông qua sự phát triển liên tục và cải thiện của công nghệ, cũng như sự hỗ trợ mạnh mẽ từ cộng đồng và các bên liên quan trong ngành.
6. Kết luận
Tóm lại, Blob đóng vai trò quan trọng trong hệ thống Ethereum, đặc biệt là thông qua nâng cấp EIP-4844. Được thiết kế để giảm chi phí và tối ưu hóa không gian lưu trữ, Blob mang lại một phương tiện hiệu quả để xuất bản dữ liệu giao dịch từ các rollup lên mạng lưới chính. Điều này không chỉ giúp giảm áp lực lên Ethereum mà còn tạo điều kiện thuận lợi cho khả năng mở rộng của nền tảng. Với sự kết hợp của Blob và các nâng cấp khác, Ethereum đang nỗ lực để đáp ứng với sự gia tăng đáng kể về khối lượng giao dịch và đảm bảo tính hiệu suất của mình trong thời gian tới.
Đọc thêm: