EIP-6466: SSZ Receipts

Discussion thread for Add EIP-6466: SSZ receipts root by etan-status · Pull Request #6466 · ethereum/EIPs · GitHub

Background

Split from EIP-6404: SSZ Transactions

Relevant channel: #typed-transactions on ETH R&D Discord

Transactions

Vitalik’s notes: Proposed transaction SSZ refactoring for Cancun - HackMD

One feedback from discord was that the per-receipt logs bloom field may be unnecessary: Discord

uint256 seems like overkill for transaction status, which per the mentioned EIP-658 is a single bit. Do we foresee overloading this field in the near future?

It had a historic meaning of representing an intermediate state root instead of the status bit. This is still prevalent in the devp2p protocol: devp2p/eth.md at bd17dac4228c69b6379644355f373669f74952cd · ethereum/devp2p · GitHub

post-state-or-status: {B_32, {0, 1}},

I don’t think that the post-state case can happen at this time. If there are no new use cases that need the full width of this field, it could be reduced to a bool instead.

Updated to use EIP-6493 Receipt.

This addresses design space concerns while retaining the merkleization benefits of common fields sharing the same generalized index.