Blob Encoding Benchmark Results

Strategy Legend

Strategies are named as encoding + compression + packing

Encoding (tx list format)

  • rlp — RLP-encoded transaction list
  • ssz — SSZ-encoded transaction list
  • rlp_pertx_* — Each tx compressed individually, then RLP list

Compression

  • none — No compression (baseline)
  • snappy — Fast, balanced compression
  • zstd_1 — Zstandard level 1 (fastest)
  • zstd_3 — Zstandard level 3
  • zstd_6 — Zstandard level 6
  • zstd_22 — Zstandard level 22 (max compression)
  • gzip_9 — Gzip level 9

Packing (blob field encoding)

  • naive_31 — 31 bytes per 32-byte field element (simple)
  • bitpack_254 — 254 bits per field element (optimized)
Example: rlp_pertx_zstd_3+zstd_22+bitpack_254 means: compress each tx with zstd level 3, wrap in RLP list, then compress entire list with zstd level 22, then bitpack into blobs.

Column Definitions

Blobs
Number of 128KB blobs needed to store all data
vs Baseline
Difference from rlp+none+naive_31 (no compression)
Compressed
Size after blob-level compression is applied
Ratio
Overall compression: Tx Raw ÷ Compressed
Efficiency
How full the blobs are: Tx Raw ÷ (Blobs × usable capacity)

Aggregate Results

Encoding Compression Packing Blobs vs Baseline Compressed Ratio Enc (ms) Dec (ms)

Individual Block Results

Block Strategy Blobs Tx Raw Encoded Compressed Efficiency Encode (ms) Decode (ms)