It's not clear to me how the user's account is updated, and who does it. For instance, who update users account balance?
2 Answers
The miners do. It's how the whole system works, whoever gets to add the next block gets to say what changed regarding account balances.
Everyone running a node keeps track of and updates every account's balance. However, updates to balances do not occur unless they have been confirmed by being included in a block. Blocks are created through the process of mining; mining is performed by miners.
This is why one can consider Ethereum to be trustless: everyone can see for themselves that miners are doing their job (or not) and no node needs to worry that other nodes are making up chain state since every node is performing (more or less) the same calculations and should always arrive at a consistent conclusion about the state of the blockchain. However, nodes do need to rely on other nodes not to be hiding newer information from them.