As I understand it, the leaf node of the state trie has account data. The account data has a storage root, and the variables of the contract are stored in the leaf node of the storage root.
But what are the benefits of having such a structure? In order to access the value of contract variables, we need to access the branch node {height of mpt} * 2 times
Instead of implementing as above, if remove storage root from account data in state trie and set the key path of contract storage data to leaf node as sha256 (contract_address + variable_index), then we need to access the branch node {height of mpt}
What are the benefits of ethereum nested trie structure?