The blockchain contains records of public addresses and their balances.
Wrong. Blockchain contains record of UTXO's relevant to public keys rather than "addresses and their balances. " The balance of each specific address is calculated by the wallet based on the sum of all UTXOs associated with the public key of that address, if that address matches the public-private key pair managed by the wallet.