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.
I'm quite aware that "coins" are not coins, but validations for a magnitude of transaction.
So wallet==keyfile, and nothing else? Good, that's appropriate.
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.
I do not misunderstand in the least. I do not believe that there is anything mathematical, or effectively necessary, about how anything at all in how the system works. In fact, there's nothing effectively necessary about anything that has ever run on a processor. Its software - which is by definition a set of arbitrarily defined and decided instructions. My suggestion is that the convention of permitting the infinite deflation of the system might be better suited and more economically sustainable if it were changed - the convention being "If key.timeSinceSeen> X deleteKey'sCoins(). If extantCoins<21M, generate. Else, !generate
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.
Actually, you wouldn't have to convince everyone to use the new version if the key formats are compatible. A new client would have a "Create new Wallet by Key Import..." option, which would do precisely what it said. Old wallets, based on keys that Bitcoin generated (or new wallets for people with no existing PGP key) would continue to work, thus allowing backwards compatibility of the new version.
And, now that I've reviewed the rest of the thread, I see that this has already been discussed. Oh well - I'll leave it in anyway. However,...
Note, however, that the destination address (actually, the signature acceptance script) is visible to everyone, so it would be a very public transfer.
Please tell me you're not saying that the private key becomes public knowledge....