[Draft] EIP-X: Off-Chain Data Write Protocol

That is correct. No particular reasons for 2-character limit other than having a short code to remember for your favourite storage. Can be adjusted according to popular demand.

That is true although if multiple storage handlers need to be nested, second handler should be able to trust the digest from the first handler’s callback. On second thoughts, you may be right; callback() can be coded to regenerate config from response

This has just been updated. input, output was simply config, aka a global interface that two or more handlers could blindly trust.

This is for the use-case where a service intends to use two handlers for their stack. See below:

For example, a service that wants to serve the data on some storage but index on L2, it may be necessary to await the storage transaction (such as IPFS/Arweave hash) and then index its transaction hash or some other parameter (e.g. IPFS/Arweave hash) on L2. Nesting was constructed keeping such a multi-pronged service in mind.

I’ll ponder on this more.