Hi Thomas,
I just read this on the
bitcoin wiki FAQ:
you can try an alternative "lite" client such as Multibit or a super-light client like electrum though these clients have somewhat weaker security, are less mature, and don't contribute to the health of the P2P network.
Why would they say such a thing? To the contrary, I have the feeling that Electrum has
extremely good security. Would like to hear your thoughts on that.
Keep up the great job!
This is FUD.
Concerning the "health of the P2P network":
Electrum servers are full Bitcoin nodes, and it is their interest to broadcast transactions as effectively as possible for their clients.
There has been a "red balloons" paper by some microsoft researchers, who pretend that there is a weakness in Bitcoin, because miners have an incentive not to broadcast transactions. This paper lives in a completely theoretical world where the Bitcoin network is made of miners only. In reality, the Bitcoin network is very heterogeneous, made of nodes that have different incentives, and Electrum servers contribute to its diversity. Electrum servers have an incentive to broadcast transactions. They contribute to the health of the network.
Concerning weaker security: it is true that Electrum clients are vulnerable to the servers they connect to. Although the server cannot steal your money, it can send you fake information, for example make you believe that you received a payment that didnt occur. I have two objections to that argument.
- users can use information from various servers, or from other sources, such as blockexplorer websites, to check if they received a payment. we can also imagine enhanced clients that automatically confront the information sent by several servers.
- Electrum servers are currently providing blockchain services free of charge. I believe that in the future they might want to charge a very small fee, such as miners do, in order to cover their operation costs. If I get paid from my clients, then I have little incentive to screw them up.
In the world of possible threats, I do not think that the 'somewhat weaker security' of the Electrum client-server model is a real concern. There are other threats that are much more real.
For example:
- the forum is full of messages by users who lost bitcoins because they did not backup their wallet correctly. Some developers tend to consider that it is not their problem if users lose coins because they did not do regular backups. I disagree with that. I believe that this is a major problem for Bitcoin. To work as a currency, Bitcoin must be safe, not only for computer experts. It must be perceived as a safe store of value by everyone. For a non expert, 'I guess you do not know how to do backups' sounds very much like 'your coins might disappear randomly and it will be your fault'. The deterministic wallet of Electrum is meant to address that.
- Web wallets (such as strongcoin, blockchain.info, etc) can get hacked. An attacker gaining access to their servers can modify the javascript executed by the clients, and get access to their private keys. This is a very real threat.
- another very real threat is people distributing binaries, such as you
I am not saying that what you are doing is wrong, and I do appreciate your efforts; it is very nice to have binaries. However, people should understand that there is a difference between source code and binaries. if they run your Electrum binary, they should know that they trust you for not inserting malicious lines in my code. Perhaps you should explain that, who you are, etc.