I have read that Ethereum uses a modified Merkle Patricia Trie to store information such as accounts and its balance, when updating a balance to an address does it just go thru the tree and update the value in the leaf or does it create a new set of nodes and insert this new nodes in the database?
What got me confuse is if it replace or update the value on the leaf, then how can we retrieve what is the balance of the account in previous blocks, so I assume it replaces it? but how will it replace when only the value change and the path to that value stays the same as the address has not changed?
Can somebody enlighten this part for me please, thanks.