Do we have to search all transactions of Alice saved on blocks and to calculate her balance
Nobody other than Alice cares about her balance. That’s because Bitcoin is cash, not a bank account. When you hand over a $10 banknote to a shopkeeper, they don’t want to know how much total cash you have in your wallet, they just look at the $10 to see if it is genuine. Bitcoin does not keep track of balance per account holder – there are no accounts, no people, no balances in the Bitcoin network or blockchain.
Bitcoin works on the basis of keeping track of Unspent Transaction Outputs (UTXOs). A UTXO is roughly equivalent to a banknote or coin. When someone spends a UTXO, all other nodes check that the UTXO exists and hasn’t been spent already.
You can create a list of UTXOs by reading the blockchain from the start once.
A Bitcoin wallet such as Bitcoin core may provide methods of looking at the data in its copy of the blockchain. For example Bitcoin core has an RPC API including functions such as getreceivedbyaddress – which normally only works on your own addresses, not other people’s.
there are tools to know the balance of an adress. But my question is how this tools works ? How they request the blockchain?
They can use the Bitcoin network protocol to collect their own copy of the blockchain, index it and then perform their own analysis of that data.
The Bitcoin network protocols allow any new node, such as a wallet, to discover a few other nodes and to request from them copies of blockchain data, piece by piece.
Generally speaking, address balances are of no interest whatsoever. They play no part in the way Bitcoin operates. You might rummage through your pockets and rainy-day coin-jar to write down the total amount of money you find but no one else really cares.










