Interesting idea
A bit off-topic, after a node receive new block (on compact-block format), a nodes would request other node all transaction which isn't exist on it's mempool but listed on the compact-blocks. Now i wonder if similar mechanism is exist for CPFP transaction?
As of now, there is no such thing as asking for a missing utxo embedded in a block and I don't see a reasonable logic behind such a behavior. All inputs of all txns included in a block, should be either already present in the UTXO and blockchain history or in the block body.
It is also worth mentioning that this specific problem is about transaction relay phase and how txns find their way into the mempool and not the blocks and how they are validated and added into the chain.
One simple solution for this problem would be improving txn relay (no consensus, no fork) to allow txns with missing inputs remain like few minutes in quarantine and improve "minimum fee" logic to support more sophisticated scenarios (the same as how miners pick txns from the mempool) but I prefer a more radical approach (as usual
) which is supporting
nested transactions to help with more general use cases and to guarantee a deterministic relationship between the parent txn and its child.