POC code for Linux/BSD would be trivial, too. I'm not sure about Mac, but there's probably a way to do it via automator or regular message passing.
As I've been saying for a while on the BTC forums, the wallets will be the main target, not the crypto.
I'm worried about the bitcoin client being in c++ rather than java because that seems to make a remote code execution vulnerability a lot more likely. And given a single remote code exec vuln it'd be easy to make a worm which destroys the entire network.
Later this year there will be an awesome NodeJS version with native wrappers (Mac, ...).
Once your bank wallet is too big or too small you just decrypt one of your wallet.dat files and transfer a portion of the money back to your bank wallet. Recrypt the now changed wallet.dat and you are good to go.
Once/if normal people start using bitcoin I highly doubt that they would even bother with the client ("Encrypt my what? Wallet.dat? I could lose everything?"). They would probably just use a highly reputable bitcoin bank. It could stay anonymous because there could be "cash for bitcoin" like sites around cities and a transfer could be made into the bitcoin bank without anyone ever knowing.
As for a virus in the bitcoin client itself, that has been tried a couple times. Each time someone tries a pull request with malicious code the forums/irc light on fire. Also, people are highly wary of new people submitting pull requests.
People do the same segregation, between long-term non-transactional accounts and short term spending accounts, with their bank accounts. But businesses still need to keep non-connected isolated quarantined machines to access the bank.
The comment you're responding to didn't argue that wallets couldn't be encrypted. He argued that in the (not unlikely) event that a malware incident on your machine was able to compromise your wallet, you'd have no recourse. And: he's right. You wouldn't.
I believe it's even worse than that. The normal instinct as shown by this response is to centralize security into a "super secure" bank. I think that's exactly the wrong thing to do. I would put some on a linux box in my closet, some on my mac, some on my flash drive, some on my windows PC. People would lose money all the time in a system like this but it would be better than having a big fat juicy target in one location.
I would be nervous living in a country where we're one data mishap away from not knowing who rightfully owns what, especially given our collective track record there. If people are serious about bitcoin, they need to get serious about adding identity into it.
Doesn't anyone else feel like Bitcoin is (re)introducing a huge number of problems that were the primary drivers of creating banks in the first place?
If you assume a world where everyone is using something like bitcoin these banks are extremely tempting hacker targets. If Bank of America gets hacked and someone discovers that a hacker/rouge employee/software bug/whatever transferred money from account A to account B they can reverse it.
One thing that hackers have taught me is that the only secure computer is one that's unplugged. The C compiler backdoor is a good place to start thinking about this: http://scienceblogs.com/goodmath/2007/04/strange_loops_denni...
What if you woke up one morning and on the news the president was telling the country that overnight all of the savings in Citibank had been transferred to an unknown individual/entity by a group of disgruntled employees… They're in jail now but we don't know who now has the 2 trillion dollars that was transferred. Keep using bitcoin.
Even if the wealth is gained legally, it leads to a system with no accountability. Everything is under the table.
What happened to geeks valuing transparency in government/corporate governance? I think geeks see this as freedom but it will do nothing more than might makes right. The system benefits geeks today and thugs with guns tomorrow. It's the perfect system for secretly applying your will onto the world without accountability. Who's good at that today? The mafia, gangs, corrupt politicians, dictators…
Gah, I have to collect my thoughts on this. I'm getting off into crazyville but I feel like this is where it leads.
I worry… I worry…
As for the massive hack scenario, the same fears of large scale loss hold true if someone hacks Dropbox or Facebook/Gmail and everyones files or personal messages get leaked. I would rather lose $1000 or even $10k than have my Dropbox & Gmail hacked. Even in the extraordinarily unlikely case where cracker hackers get into the bitcoin equivalent of Citibank three thinks should happen: 1. Automated systems that detect higher than normal activity and begin immediate shutdown until the cause is resolved. 2. (Barring 1, somehow) Free market deposit insurance. 3. (Barring 2, somehow) A reversal of the block chain to some stable point.
Yes 3. would require a massive amount of consensus and the relative value of bitcoin would go down against USD, but I don't even think that is likely.
The mafia & gangs exist due to a lack of freedom and they have very little trouble moving money today. You can carry out millions of dollars fairly easily in jewelry already.
As for bribing politicians, that is an angle I haven't thought of before. I'll think about it, but I'll grant that it is a very valid concern, although synonymous with bribing politicians with expensive jewelry or art or transfer of anonymous investment corporations (Nevada iirc) or Bearer Share Corporations.
The biggest weakness of bitcoin in my opinion are some implementation details. For one, the way the difficulty rate for the miners is determined I can construct a scenario where a clandestine intelligence agency or a medium wealthy individual could take over the transaction history. By flooding a time window with gpus they could force the difficulty rate for the next time window way, way above the cost of electricity. Then they would have almost no competition in the next round because anyone with a utility bill would stop mining, so they would be left free to corrupt the block chain. The difficulty rate should have been a continuous function of the current hashing power.
Anyways, good debate. I have code to write, though. I hear you on a number of points (specifically the c compiler one, wow that is nuts), but they aren't enough to stop my libertarian nerd glee :)
Why not? If I throw in 4x the computational power for 2 weeks or less why wouldn't the next wave be that much harder?
There is more than one scenario where the reward from finding a block is less than the utility cost.
This is in fact already guaranteed to happen as block-finding rewards decrease. It's nothing new to bitcoin, and is already expected to be dealt with.
Of course those physical breakins are probly much much harder to pull off than hacking an electronic bank.
Not a concern?
And if the trojan sniffed your keystrokes as you typed in your password and/or grabbed a copy of the key you used to encrypt your wallet?
Or what if it just put in a trojan copy of whatever app you used to encrypt your wallet, so that everything you did (from typing in the password, to feeding it a key) would be sent on to the thief?
Are you concerned about that?
Just because a company is "highly reputable" doesn't mean that they aren't technologically incompetant. Just look at the Sony PSN episode, or any data protection leak from any bank.
http://www.reddit.com/r/Bitcoin/comments/hid2r/how_will_you_...
One of the best suggestions in there is simply to separate your checking and savings accounts so that a compromise of your spending money doesn't leave you without any coins.
There's also a link in there that says the upcoming clients will store the wallet locally encrypted and only decrypt in memory for transactions-- there are weaknesses to this (i.e. the bitcoin client trojan you mention), but it's better than what is done today to secure the file on disk.
That's the beauty of bit bitcoin. It's not just big banking or you matress. Innovation has just begun.
The plugin could even interact with websites within a framework, or pickup bitcoin hyperlinks like with an emailto:.