If the chain has a full history of transactions, including the most recent owner, then why can coins not be recovered from the chain? Say my wallet gets wiped - the chain still knows the ownership of my coins is with me. I suppose my key would have gotten wiped as well, and then I couldn't verify that I am in fact....me?
The block chain can verify that the "coins" belong to a certain private key. If you've lost the private key you've lost the ability to transfer the coins and hence the ability to spend them hence they're not "yours" anymore. The whole idea of "coins" is a fiction to make the system more easily understandable. The system simulates the expected behaviour of coins. A coin is more accurately the expectation of the success of a mutually agreed value transferring transaction. If we mutually agree to invalidate certain transactions or similarly validate certain non-standard transactions then we can manipulate people's "balances" arbitrarily.
For that matter, if the ownership of all coins can be derived from the chain, what is wallet.db besides a person's key?
Nothing unrecoverable apart from the secret key.
Why not just store the keys, and derive coin ownership while online?
This is what happens.
This on-the-chain identification of ownership could provide a solution to the deflation problem - if its a problem at all. If a given coin's final client had not been seen in....five years, say...then the individual is obviously not using bitcoin for monetary purposes, and the coins associated with that key could be liquidated and put up for generation once more.
You misunderstand how coins work. The fact that the number of coins is limited is something that is mutually agreed by the software. The fact that block generation "creates" bitcoins is something mutually agreed by the software. There's no mathematical basis for any of it. If you change the software to interpret the block chain in a different way and to validate transactions or calculate balances in a different way, as long as everyone (or nearly everyone) agrees then hey presto! that's the way it is.
Additionally, could people use keys not generated by Bitcoin? For instance, I have a PGP key with which I sign crucial files, and this key is backed up to the n-teenth time on any number of media. If I could use bitcoin by simply inputting this key into the software, and then the software could derive which coins are mine from the content of the chain, it would make losing access to coins far more unlikely. Obviously, switching keys would be akin to switching wallets.
This could be done if we change the software and convince everyone to use the new version.
ByteCoin