From log files and database it's obvious, that bitcoinj downloads block headers for whole blockchain history. If I'm not mistaken, it's only 80bytes hash. Why do we need to do this.
I understand that we need to build list of UTXO for every address used by bitcoinj wallet, but how do we get them from headers ?
How are transactions found ? Most efficient would be to query indexed blockchain by address, but full node bitcoind does not support this. I expect it's related to block headers but cannot figure out how.