Hi Sumoshi, thanks for replying.
Here are some arguments just cross to my mind, pls debate:
1. Emergency Withdrawal: I'm not sure what context for someone to use the "fake" password? In a raid? And in this case when it become a standard feature, true password and second wallet will be revealed one way or another, right?
This is generally called "plausible deniability". It's something found in cryptographic software such as the old TrueCrypt and I think also VeraCrypt, where you can create a hidden partition on your drive and have a special way for accessing it, while also having a "fake" partition to which you give the password in case of interrogation. It's a very popular concept among people who value their privacy and are afraid of government or other type of prosecution. The concept of plausible deniability is as follows:
1) You are asked by government representatives to divulge your password.
2) If you say "no I won't", you are prosecuted for not co-operating.
3) But if you give them a "fake" password, and the money is automatically transferred out of the wallet when the fake password is used (perhaps leaving behind a few SUMO to make it look more real, but transferring out like 99.9% of the balance - up to debate), you have officially complied with the law.
4) Since the "Fake password" feature would be completely optional, no one can prove that you had it enabled. You have officially complied with the law (ie. no one can say that you did not co-operate), but your funds are safe. This is "plausible deniability": you have complied with the law (because no one will believe you if you just say "I forgot the password"), but at the same time you have not compromised your SUMO.
It also cannot prevent keylogger if you use the true password every time to access your wallet. However, I think a "view only" password can be a good feature that you can enter to view balance, txs and keep master password safe, how do you think?
You are right, the fake password would not help against keyloggers; the fake password can only help in the scenario described above. What
can potentially help against keyloggers (I'm not a developer, so correct me if any of my logic here is incorrect) is the other part I mentioned, which is the "puzzle" that needs solving. Essentially it would be like two-factor authentication for your wallet, with emergency withdrawal built-in. So basically:
1) You can (optionally, or by default - up for debate) enable two-factor authentication for your wallet.
2) With 2FA enabled, you would not only need to enter your regular pass phrase to access the wallet, but also an additional 3 or 4 digit PIN that you have to enter before logging in.
The PIN does not give you access to the wallet and it has no way of decrypting the wallet. The PIN is only an extra check.
3) You enter the PIN with your mouse, and the PIN numbers are shuffled, so in case a keylogger registers on-screen click locations, it won't know which PIN digits you clicked (I'm sure this can be by-passed, but the idea is to make it much harder, not impossible).
4) After entering the PIN with your mouse, you enter your regular wallet pass-phrase, which decrypts your wallet. At this point, a check is performed to see if the PIN entered before is correct.
5) If the PIN is correct, you have regular access to your wallet. If the PIN was incorrect, emergency withdrawal to a secondary wallet is initiated automatically.
I hope this makes it clear. Again, I don't know if this can be done on the blockchain, so please let me know.
Also, the idea for a "view only" password is very cool, too.
2. Escrow Contract: If I got it correctly, it should be a kind of smartcontract (any third-party involved is out of our scope). I don't think we can tackle to such topic anytime soon.
I understand, thanks. This feature can be disregarded then.
3. Risk Management Feature: First, pls note that sending coins to other wallets means merchants have to pay fees. Second, I'm not sure if merchants really wants the feature without actual use cases and proper surveys.
Good point about the fees. This feature is probably the least useful, so I think it can be discarded as well. One point I'd like to make though is that surveys are not always a good idea (sometimes they are horrible). People often don't have a clue what they want to use. If you had surveyed people in 2008 whether they wanted something like Bitcoin to exist and whether they would buy it, probably every single one would say "no" except for a few geeks. Surveys are good in some situations when for example you want to change something that already exists and which people are using. But when introducing completely new features/technology, I think surveys can often be counter-productive. Plus, people sometimes naturally find new uses for features, other than the original use the feature was intended for, making surveys even more tricky. This is just a general observation, not relating to the Risk Management Feature (I agree this feature probably has no real use cases.)