Even though Ethereum does not directly use GHOST, stale blocks can be included as uncles for a reward.
How can uncle blocks remain valid, as I suppose state transitions must be non-conflicting? The design rationale says that these "uncles have to be valid headers, not valid blocks" yet they could be.
I suppose if there is a single interaction with the same element in the state trie of e.g uncle block U and current child C and/or parent A, then U cannot be valid anymore. Which I would assume happens quite often now with AMM pools and complex, composable transactions.
So is it correct to assume that most uncles receive a reward, but they do not change the actual state of the longest chain?