6. The wallet looks through the new blocks' transactions and stores (in the wallet) the transactions that either send it bitcoin or that confirm its previous spends.
7. MultiBit stores the headers only of the new blocks into its local copy of the blockchain, It does not store the transactions themselves. This is the main reason the MultiBit blockchain is so much smaller than the bitcoind blockchain.
a) That local copy of the (headers only) blockchain is the multibit.spvchain file?
b) If i 'm getting this right the only case that multibit.spvchain updates is when someone sends me coins or when i send some right?
c) Is b. the problem why we can't see the number of confirmations for each transaction?
Also a question mostly about bitcoinj but i think the issue applies to multibit as well
From bitcoinj's wiki
The Wallet code doesn't scale, at all. All transactions that were ever relevant to the wallet are loaded into
memory, all the time, and re-written every time the wallet is saved. This results in a simple on-disk format accessible
to many kinds of apps, but has poor performance for heavy users. Also, even if spent transactions are removed, the
algorithms used for selecting coins and working with unspent transactions have quadratic time complexity or worse.
In time we'll probably switch to a log structured wallet file format to solve this.
What does this mean? That every time the multibit.spvchain is loaded in the memory?