An SPV downloads all the block headers and then specifically requests a list of addresses which are in your wallet to fetch the transactions associated with those addresses from a server. H2 - change address is controlled by the same entity which controls the input address. in: A_in: 5, B_in: 3, C_in: 2 out: A_change: 3, B_change: 1 (not anonymous) A_0: 2, B_0: 2, C_0: 2 (anonymous)