In the question How much information is passed from the daemon to simplewallet when scanning for a wallet's transactions?, it was clarified that simplewallet receives the entirety of every block from the connected daemon in order to maintain the wallet's balance and tx history. This means that while a wallet does not need to maintain the entire blockchain, it does need to receive and scan the entire chain, though the newest version of monero-wallet-cli
can fast-sync all blocks up to a certain height if it is known that there are no outputs in those blocks belonging to a wallet.
With the intention of designing the lightest possible wallet that keeps all keys (view key, spend key, etc) private, is there information that simplewallet currently receives that it does not always need (for example, if the transaction does not belong to a wallet) and therefore sending that information could have been avoided if designed to minimize data transfer? If so, what is the bare minimum information needed to find all of the outputs in the blockchain that belong to your wallet?
If it makes a difference, this can be answered from both the perspectives of the daemon being trusted and untrusted.