Sorry for cross-posting these two, but since you guys are working on alternative clients, maybe you could have some ideas of how to implement this too.Idea 1:
Not sure if this was mentioned before, but it would work like this:
Phone wallet software would ask to configure a PIN number, number of incorrect attempts to allow, and a Bitcoin address to dump money to. Let's say the # of attempts is 3, and the bitcoin address is MyBitcoin, some other online storage, or my home wallet address.
To use the wallet at a store or with a friend, I just type the PIN number and have quick access to my money.
If my phone is stolen, and the thief tries to guess the pin, after 3 tries the phone quietly sends the coins to the pre-configured address, but keeps requesting a pin number, not letting the thief know the money is gone already. This way, the money will be returned instead of being lost. Likewise, an option can be made that if the wallet isn't accessed for some period of time (say, 24 hours), the money will be sent out as well. This will help prevent lost bitcoin due to lost phones.
Now, I know someone could backup the phone's entire file data, take the phone offline, and keep trying then restoring the data, but if you're just storing maybe $20 to $50 of walking around cash, hopefully that will be too little for that much work to be worth it. Not sure if something similar can be implemented in the PC-based Bitcoin software, too (doubt it).Idea 2:
I was reading through Bitcoin Wiki, and came across https://en.bitcoin.it/wiki/Contracts
, which is essentially a built-in escrow/contract system that can be used to require two keys, one direct and one of a third party, to release bitcoin that was sent to an address. How difficult would it be implement the second escrow key on a USB stick? Example would be, say I'm a high-roller (early adopter) with thousands of bitcoins, and I want to secure a few of them in a "vault." I would use the Bitcoin software to send some bitcoin to my own address, and the software would configure and encrypt a key to the plugged-in USB stick that contains the second "escrow" address. I then take out the USB stick and store it securely somewhere. If someone manages to steal my wallet.dat file later, they will still not be able to access the money in my "vault" without this physical USB stick.