8 ms·
This article covers a lot of interesting ground, and isn't the usual same, old same-old article about Bitcoin. I especially liked the reminders of earlier examp
by tokenadult 14y ago
This article covers a lot of interesting ground, and isn't the usual same, old same-old article about Bitcoin. I especially liked the reminders of earlier examples of online currencies.
The conclusion is tentative, and reasonable. Along the way, the author brings up many interesting facts about Bitcoin, about its supporters, and about its critics.
I think it is especially reasonable to assume that Bitcoin exists with the tacit consent of the United States National Security Agency, even if the NSA didn't invent Bitcoin.
AFTER EDIT: Addition of my FAQ-in-progress about Bitcoin for Hacker New. A while ago I wrote that perhaps the greatest contribution the Bitcoin experiment will make to humankind is to teach you and me and our neighbors more about the realities of economics. And later I added that the Bitcoin experiment will also contribute to greater understanding of attack surfaces and online crime. Many of the ideas about how to mine Bitcoins, store Bitcoins, and trade with Bitcoins as a medium of exchange illustrate both the strengths and weaknesses of any other medium of exchange in a world full of human beings. Seeing the discussion of Bitcoins here on Hacker News reminds me of early online discussions in the 1990s of online payment systems such as PayPal, and the arguments beforehand that PayPal wouldn't have to invest a lot of time and effort (as it eventually did) building defenses against theft and fraud. If a weakness in a system is attached to a lot of money, the way to bet is to bet that someone will go looking for that weakness, even if you haven't thought of it.
This prompts a question for all the security-knowledgeable persons who participate here on Hacker News, a question once asked of the inventor of Pretty Good Privacy (PGP). How expensive do you think it would be for the United States National Security Agency (or a comparable organization from another national government) to crack a Bitcoin store, given that we know that some Bitcoin caches have already been cracked? And if the organization storing Bitcoin data held personal bank account data too, how attractive a target might it be to thieves?
- GuiA 14y ago>I think it is especially reasonable to assume that Bitcoin exists with the tacit consent of the United States National Security Agency, even if the NSA didn't invent Bitcoin. How so? If the NSA really hated bitcoin, what would they do? Even if it were made illegal in the US, the United States are not the world, and it would be extremely hard to enforce.
- betterunix 14y agoThey could buy a bunch of ASICs, keep pulling off double spending attacks until everyone loses confidence in the Bitcoin system, and call it a day.
- cinquemb 14y agoHeres more on double spending attack vectors: https://en.bitcoin.it/wiki/Double-spending https://en.bitcoin.it/wiki/Double-spending But heres the question: how long would it take for governmental bureaucracy to amass the resources to execute such an attack without raising a flags from other nodes who then will take proactive measures to not only mitigate such attacks but also alert others nodes on the network?
- betterunix 14y ago"But heres the question: how long would it take for governmental bureaucracy to amass the resources to execute such an attack without raising a flags from other nodes who then will take proactive measures to not only mitigate such attacks but also alert others nodes on the network?" Do you really thing that purchasing a hundred million dollars worth of ASICs would alert anyone? The government spends far more than that in a given year, and there are government agencies that are good at keeping secret operations of that size secret. I would not rely on the inefficiency of bureaucracy when it comes to equipment procurement, certainly not as a security measure. Also, what exactly would the honest nodes do to mitigate the attack? They can only buy more computing power to try to maintain control of the block chain. That is the real problem here: the effort needed to run the Bitcoin network is proportional to the effort needed to attack the system.
- cinquemb 14y agoThis goes into cancer nodes: https://en.bitcoin.it/wiki/Weaknesses#Cancer_nodes https://en.bitcoin.it/wiki/Weaknesses#Cancer_nodes "It's trivial for an attacker to fill the network with clients controlled by him. This might be helpful in the execution of other attacks. For example, an attacker might connect 100,000 IP addresses to the IRC bootstrap channel. You would then be very likely to connect only to attacker nodes. This state can be exploited in (at least) the following ways: The attacker can refuse to relay blocks and transactions from everyone, disconnecting you from the network. The attacker can relay only blocks that he creates, putting you on a separate network. You're then open to double-spending attacks. If you rely on transactions with 0 confirmations, the attacker can just filter out certain transactions to execute a double-spending attack. Low-latency encryption/anonymization of Bitcoin's transmissions (With Tor, JAP, etc.) can be defeated relatively easy with a timing attack if you're connected to several of the attacker's nodes and the attacker is watching your transmissions at your ISP. Bitcoin makes these attacks more difficult by only making an outbound connection to one IP address per /16 (x.y.0.0). Incoming connections are unlimited and unregulated, but this is generally only a problem in the anonymity case, where you're probably already unable to accept incoming connections. Looking for suspiciously low network hash-rates may help prevent the second one. " One could even go further to do signal analysis on the network looking for nodes whose hash rates are more similar than others and hash rates per period of time (which will happen if such a large scale operation were in process), point them out to other nodes, and require that that node verify themselves with information which could allow for an independent audit by others before unflagging the node(s) in question. EDIT: if anyone is interested in possible working on an open source project for rogue node mitigation that miners can install on their rigs, im game :P besides i think it would be more fun than going solo with my algos on the BTCUSD cross exchanges :P
- deleted 14y ago[deleted]
- stevenrace 14y agoIt's worth noting Bitcoin's lead developer, Gavin Andresen, was invited to the CIA HQ in Langley, VA to a US Intelligence conference in June 2011. [1] So 'tacit consent' is quite likely indeed. [1] https://bitcointalk.org/index.php?topic=6652.msg146198#msg146198 https://bitcointalk.org/index.php?topic=6652.msg146198#msg14... edit - I mispoke regarding location, it was the CIA HQ. However, the 'emerging technologies conference' was for the broader US intelligence community.
- waterlesscloud 14y agoCIA, not NSA. Though of course there could have been representatives there. I think it's also worth noting that covert agencies may find benefits of their own in a public global system for moving money around quickly, verifiably, irreversibly, and somewhat anonymously.
- Frozenlock 14y agoReminds me of Tor. "Tor was originally designed, implemented, and deployed as a third-generation onion routing project of the U.S. Naval Research Laboratory. It was originally developed with the U.S. Navy in mind, for the primary purpose of protecting government communications. Today, it is used every day for a wide variety of purposes by normal people, the military, journalists, law enforcement officers, activists, and many others." https://www.torproject.org/about/overview.html.en https://www.torproject.org/about/overview.html.en
- patio11 14y agoHow expensive do you think it would be for the United States National Security Agency (or a comparable organization from another national government) to crack a Bitcoin store, given that we know that some Bitcoin caches have already been cracked? This would be a reasonable 1~2 weeks project for a pentester with less than one year of professional experience, so I'd put a rough upper bound on that at $20k. i.e. it is trivially within the capability of governments, organized crime, and any intermediate Rails programmer who wants a fun side project. If you 10X the numbers I would not bet against the outcome "Achieve a systemic compromise of the bitcoin client." (Bitcoin, by design, fans transactions out to every client on the network. The transactions contain executable instructions in a language which is interpreted by C code. Do I need to paint a very detailed picture of the risk here?)
- deleted 14y ago[deleted]
- patio11 14y agoYou're no doubt aware that HTTP servers routinely did buffer overflows leading to arbitrary code execution early in the development of the Internet, and it is only years of work by thousands of people which makes them safe to use currently, right? HTTP servers are also diverse, old/battle-tested, and do not fan out every HTTP request to every HTTP server. Bitcoin is theoretically a protocol but in practice is a client monoculture (so much so that a bug in a point release of the official client forked the transaction chain), has probably less development hours total than Apache has spent on auditing parsing HTTP headers alone, and does fan out every transaction to every node on the network. Transactions most certainly do not "contain executable instructions". This is contrary to technical fact. https://en.bitcoin.it/wiki/Script https://en.bitcoin.it/wiki/Script
- nullc 14y agoIt depends on how you're defining "executable instructions". There is a small set of operators and a single conditional. No looping, etc. It's strictly less powerful than CSS, for example. The implementation is a very simple loop over a switch with a simple 'stack'. The size of a script has a hard maximum of 10kbytes.