After decoding on-chain transactions and saving to database, I realized that Solana tx_hash, address take more storage than EVM
👇
1️⃣ tx_hash size
EVM
- Hex encoding
- 0x + 64 hex chars
- ~66 ASCII bytes
0-9a-f
Solana
- Base58 encoding
- ~88–90 ASCII chars
1-9A-HJ-NP-Za-km-z
➡️ Solana tx_hash is ~35–40% larger
2️⃣ Address size
EVM address
- 20 bytes → hex (40 chars + 0x)
- Strong prefix patterns
- Lower entropy
Solana address
- 32 bytes → base58
- Wider charset
- Higher entropy
➡️ Similar visible length, but Solana compresses worse
3️⃣ Compression matters
Storage engines (Snappy / Zstd) love:
- repeated prefixes
- low-entropy strings
Hex (0-9a-f) ≫ Base58 for compression
➡️ EVM data shrinks better at block level
4️⃣ Real-world impact
At scale:
- billions of txs
- multiple address fields per tx
Small per-field differences
➡️ huge disk cost difference
5️⃣ Takeaway
Solana optimizes for:
- signatures
- runtime
- parallel execution
EVM accidentally optimizes for:
- storage
- analytics
- long-term indexing
Different trade-offs. No winners, just design choices.
About txdecoder.xyz
Transaction decoding API — standardizing blockchain data into one unified, readable schema on Ethereum, Base, BSC, Solana
Website: https://txdecoder.xyz/
X: https://x.com/txdecoder_xyz
Telegram: https://t.me/txdecoder
Telegram channel: https://t.me/txdecoder_announcements
Blog: https://medium.com/@txdecoder
Top comments (0)