8 ms·
I Tried Hacking Bitcoin and I Failed
- drivebyacct2 14y ago>Modern languages like JavaScript and Ruby are great, in that they do a huge amount for you under the surface, but then you don’t actually know what they’re going to do. Ruby got burned pretty badly recently when some systems listening on the network were a little too … friendly. Engineering is a game of tradeoffs. So, of course, is business. That sounds... a bit... confused. Was there really such an issue with Ruby or is he getting his wires crossed with the Rails problems of recent?
- lmm 14y agoHe's equated Ruby with Rails, which isn't so unreasonable given how they're used in practice.
- drivebyacct2 14y agoI guess, but Bitcoin's security comes from the protocol and network design, not something inherent to C++.
- betterunix 14y ago"Bitcoin's security comes from the protocol and network design" If we ignore the already-known polynomial time attacks on that protocol, I suppose that statement is true.
- kirian 14y agoWhat are the already-known polynomial time attacks on the protocol? do you have any links? thanks
- betterunix 14y agohttps://en.bitcoin.it/wiki/Weaknesses#Attacker_has_a_lot_of_computing_power https://en.bitcoin.it/wiki/Weaknesses#Attacker_has_a_lot_of_... Basically, someone who has the computing resources needed to do the same work as the rest of the network combined could create malicious forks of the block chain. They could then "reverse" transactions they had made, prevent other transactions from being confirmed, and interfere with "mining." This is polynomial time in the parameters of the system: it is just the sum of the work done by the honest parties. The constant factor is small, and the attack is not at all impractical; even if we generously assume that it would take $100 million of ASICs to carry out the attack, the US government spent 10 times as much on one NSA datacenter in Utah.
- Xcelerate 14y agoAh, okay. I thought you were implying there was a polynomial attack on ECSDA, SHA-256, or RIPE-MD.
- betterunix 14y agoIt is important to remember that Bitcoin is not a hash function or a signature system. Unfortunately, there seems to be no rigorous definition of "security" for Bitcoin, so it is somewhat difficult to understand what it means to "attack" Bitcoin. I suspect that any rigorous definition of Bitcoin's security would require a definition of money that lacks both authority and intrinsic value.
- moe 14y agoeven if we generously assume that it would take $100 million of ASICs You always conveniently ignore the fact that legitimate mining is at the verge of shifting to ASICs, too. Perhaps your $100mio figure is accurate today, but it won't be long before you have to apply quite a significant multiplier to that.
- betterunix 14y agoIn fact, $100 million is much larger than the situation today. I have seen estimates as low as $1 million and as high as $30 million.
- Xcelerate 14y agoElaborate.
- deleted 14y ago[deleted]
- ck2 14y agoTry harder: https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposu...
- jacquesm 14y ago> Announced: 2013-05-15 How does that work? Is this a planned announcement of a known vulnerability or a typo?
- ck2 14y agoI've seen security issues given a reserved ticket number and then not disclosed until the vendor is given a certain amount of headstart? So they are maybe saying it will be disclosed in 30 days.
- jacquesm 14y agoThat's a leak in a way. It indicates that there is an unpatched vulnerability that is serious enough to warrant immediate work.
- thefrow 14y agoI don't know all the specifics, but they've pushed a patch in March for this accidental hard-fork of the blockchain with a couple months of grace period before the fix allows larger block sizes which will not be able to be processed by older clients with the bug present. See: http://mineforeman.com/2013/03/17/post-fork-plan-upgrade-your-bitcoind-client-to-0-8-1-by-15th-of-may/ http://mineforeman.com/2013/03/17/post-fork-plan-upgrade-you...
- tlrobinson 14y agoOf course no software is bug free, but this is a pretty good track record. As far as I know, none of these vulnerabilities have actually resulted in money being lost (perhaps with the exception of some mining rewards in the forks). Most of these are denial of service.
- afreak 14y ago>When $50K of BitCoins is stolen today, and is $500K of BitCoin five years from now, every last cent of that filthy lucre can be monitored with acute cryptographic precision until the end of time. Unless I am mistaken we can also see Bitcoins get stopped dead in its tracks after the user loses their wallet file due to data loss, no?
- reaclmbs 14y ago>When $50K of BitCoins is stolen today, and is $500K of BitCoin five years from now, every last cent of that filthy lucre can be monitored with acute cryptographic precision until the end of time. Thats just false. Its easy to convert Bitcoin into other altcoins. And then convert those alt coins into other altcoins. And then convert those alt coins into Euros/Rubles/USD. And in the future some of these alt coin chains will vanish totally and it will take a miracle to recover the block chain history.
- sophacles 14y agoExplain how.
- reaclmbs 14y agowhat part
- sophacles 14y agoAll of it, especially the part where you convert coins without there being a transaction in the bitcoin blocks.
- reaclmbs 14y agoOK what you said is literally true, but I interpreted the spirit of your comment, because it has few implications for the end user. It's technically relevant, but eventually will be abstracted away.. (.. because "if the project continues to succeed into the future") For the record I link all of my transactions to my personal identity. And intend to in the future. I just like to think about the project a lot, because its feature as a de facto black market currency is one thing that will guarantee usage (not necessarily /USD price appreciation) in the at least short term future (until a better technology supplants it). * #Its easy to convert Bitcoin into other altcoins. btc-e, cryptonit make it easy #And then convert those alt coins into other altcoins. btc-e, cryptonit make it easy #And then convert those alt coins into Euros/Rubles/USD btc-e, localbitcoin #And in the future some of these alt coin chains will vanish totally have you looked at the namecoin project. it hasn't been updated in 8 months. the price has gone down over time (but it's really fucking hard to get historical price data for namecoin unless someone sells it to you). honestly if you just wash through one of these fledgling currencies there is a speculator market on all of them, one of these projects will wend its way into obscurity. the market has a limited number of actors, not enough to guarantee that anyone is recording data. the exchange probably has books of its rates, but how are you going to get data from them? these also drop like flies. # and it will take a miracle to recover the block chain history. that's what i'm saying. the initial transaction will be logged, and tied to you if you aren't careful. the last transaction will be logged, and tied to you if you aren't careful. but putting together all the links in the middle and linking it to someone's identity? it's possible, if you knock on enough doors, and have aggressive enough resources. but there's no process for it currently, and so many things would have to come together in the most serendipitous way to conspire against you.
- mrb 14y agoAt the very end, Kaminsky says that large financial actors and nation states have the ability to deploy massive mining farms, and that somehow this is a bad thing. I do not think so. These actors would merely compete between each other, thereby enhancing the security of the Bitcoin network, making it harder for an individual actor to perform majority attacks ("51% attack") and rewrite the block chain. A successful attack, with large actors already participating in the mining industry, would require collusion, which I think is unlikely. Perhaps Kaminsky simply meant that deploying massive mining farms would help them profit from Bitcoin more efficiently than the average user. This would be false. Contrary to other industries, there is no economy of scale in Bitcoin mining. I witnessed this first hand when expanding my GPU ops from 2 Ghash/s to ~60 Ghash/s in 2011. Indeed, the smaller you are, the more overhead costs become negligible and eventually effectively "free". The student mining in his university dorm, or the individual mining on his mini desktop ASIC or computer at work, have zero mining costs when operating: free electricity, free hosting, free A/C, free network connectivity. However, the ones managing huge farms have to pay for data centers, maintenance technicians, electricity, etc. This is why Bitcoin mining is a long-tail system: most of the mining power comes from a large number of small-time miners. (I should add that at this moment, in 2013, there is a small window of opportunity for a large actor to dominate mining. ASICs are barely starting to hit the network, so in theory a large actor could deploy many of them and represent more than half of the mining capacity. However this window is rapidly closing. Most people estimate the network hash rate is going to grow by 10-50x in the next 12 months.)
- peterjancelis 14y agoThe risk is not in governments profiting from adding hashing power to the network, the risk is in them obtaining a majority of the hashing power and doing a 51% attack.
- feral 14y agoAs an additional point to this, something I often don't see acknowledged is that ASICs have to be produced by chip fabs, which due to their nature are capital intensive and centralized, and hence relatively easy to bring under government control. I guess that as a result, it'll always be possible for governments to get majority hashing power, by taking control of where the ASICs are produced.
- fivre 14y agoI tried hacking MtGox, but it was down.
- zeteo 14y ago>The cost of regulating any network actually goes up exponentially with the number of nodes that must be monitored (you need a hierarchy of systems to perform ‘guard labor’ to make sure systems are behaving within declared parameters). This is at the core of the argument and doesn't make any sense. Worst comes to worst, the cost of monitoring all interactions between n nodes is O(n^2) even when adding monitors on top of monitors etc. The way banking is organized, it's even less. Alice doesn't transfer money directly to Bob: she talks to her bank, who talks to Bob's bank, who then talks to Bob. The banks have to monitor one-on-one interactions with their customers and the government monitors interactions between banks. This all is well within O(n), where n is the total number of customers. I'm not saying Bitcoin doesn't have any advantages, but easier monitoring of fraud is not one of them. How do you even know the coins were indeed stolen?
- hollerith 14y ago>I'm not saying Bitcoin doesn't have any advantages, but easier monitoring of fraud is not one of them. I took that to be about whether the government will be successful in shutting Bitcoin down, not about fraud. (Even then, I do not know what he means by "exponentially" -- I decided to assume it is an inexact, not-mathematically-valid use of the word.)
- kbenson 14y agoI believe he was stating that it's exponential as designed when used P2P. Large exchanges acting as banks reduces this, but by reducing some of the benefits of the design/protocol.
- zeteo 14y ago>exponential as designed when used P2P That's not any clearer than the original. Please, do explain.
- kbenson 14y agoYou know, after looking into this some more, I'm not sure my assumptions about how the system works are founded in much, so you can safely ignore me (I didn't intend my second sentence to come across as authoritative as it may seem). I was thinking that the exchanges act as verified sub-networks, reducing the amount of verification and policing requires if transactions were within or in some way linked to those networks. I do't really have enough knowledge about how it works to be making any such assumptions though, so I should have kept my mouth shut...
- clarkm 14y agoHere are the slides from a talk that Dan Kaminsky gave about Bitcoin at Toorcon Seattle a couple years ago: http://www.slideshare.net/dakami/bitcoin-8776098 http://www.slideshare.net/dakami/bitcoin-8776098 I like his "Security Inversion" slide: > Normal Code: > * Looks like it might be OK up front > * Scratch the surface, it's actually really bad > Bitcoin: > * Looks really bad up front > * Scratch the surface, it's actually surprisingly good > * We aren't used to systems with these characteristics > * This code has the mark of having been audited by People Like Us
- fossuser 14y agoThese weird coincidences along with bitcoin's very strange start (the pseudonym, the fact that it seems like a group worked on it) are really interesting. I'm surprised there's not more discussion about who really created it.
- asperous 14y agoThe person that wrote the paper probably wanted it to go along with the idea of decentralization that bitcoin is all about. More then likely it's someone on the bitcoin.org board or perhaps even a group of people on that board.
- pdog 14y agoNew Yorker article from October 2011 about Bitcoin and its mysterious creator. Found two possible candidate for Satoshi Nakamoto's true identity from clues in his posts and his code. http://www.newyorker.com/reporting/2011/10/10/111010fa_fact_davis http://www.newyorker.com/reporting/2011/10/10/111010fa_fact_...
- ef4 14y agoHis point on trace-ability is true, and one that lots of Bitcoin supporters don't fully appreciate. The system is not anonymous. It is pseudonymous, which is not nearly the same thing. Here's some interesting work on getting to real anonymity: http://blog.cryptographyengineering.com/2013/04/zerocoin-making-bitcoin-anonymous.html http://blog.cryptographyengineering.com/2013/04/zerocoin-mak...
- logicalmind 14y agoI'm no bitcoin expert, and you seem to be more knowledgeable than me, so I have a question regarding this trace-ability. As far as I understand it, every transaction is essentially a digitally-signed source/dest/amount tuple. Where source and dest are bitcoin wallet addresses. These wallets/addresses can be created and destroyed at any time. So if I transfer bitcoins to a wallet/address I generated that we'll call wallet1. And then later transfer those bitcoins to another wallet I generated we'll call wallet2. If I now delete wallet1, how is the flow of bitcoins traceable? It's entirely possible that were discussing two types of traceability here. The traceability of bitcoins from wallet/address to wallet/address will always be possible. But the wallet/address to owner traceability seems impossible. But maybe I'm misunderstanding.
- shmageggy 14y agoWallet/address to owner is potentially traceable when you sell coins for cash, as that money has to go to a real account somewhere. I think that's the point the author is making when he says none of the stolen coins have been spent yet. I'm wondering though, if there's anyone watching these stolen coins to see when they change hands. It seems like it would be fairly simple to flag certain addresses as "in possession of stolen goods" and ban them from trades on major hubs.
- Andrew_Quentin 14y agoBut that "real account" is no more than numbers and letters, i.e 1AfGbnmksjdk. Or do you mean once they transfer the sold bitcoins to a real bank account?
- CallingIit 14y agoHooray, another Bitcoin related story! Please post more, maybe one more will convince more marks to join this doomed financial farce.
- rkuykendall-com 14y agoA doomed financial farce can still be fascinating, and can still be a huge milestone in mankind's history. In fact, I would say a huge percentage of our history is made up of doomed farces. The more spectacular the failure, the bigger the impact. Bitcoin, doomed or not, is starting to become pretty spectacular.
- drivingmenuts 14y agoIt's all fun and games until someone's economy gets Really Unalterably trashed and then the guns come out. The Bitcoiners live in some digital utopia where no one ever pulls a real gun because of politics, but the rest of us are going to have to pick up the pieces for their hubris.
- RyanZAG 14y agoPremise here is pure madness - I'm sure I could ask a random security researcher to hack Chrome and he would surely fail. But at the next Hack-a-day or similar, Chrome WILL be cracked wide open when the whole world gets a shot. So no - your inability to hack Bitcoin is not some grand statement of security on Bitcoin, only a statement that you didn't manage to hack it. I'm sure you didn't manage to hack thousands of other things that other did manage to hack, too (unless you've somehow hacked just about everything else including Ruby - not RoR?). His point about how easy it is to monitor Bitcoin is unfortunately turning out to be true, which is incredibly unfortunate as Bitcoin is currently being used to purchase illegal drugs and similar. Once the FBI/NSA gets in on it, we're probably going to see a bunch of pointless arrests.
- marshray 14y agoDan may be random, but he's no "random security researcher". And he has, in fact, hacked "just about everything" a time or two by discovering and exploiting common mode vulnerabilities. His point of view is worth listening to.
- deepblueocean 14y agoHis point of view is certainly worth listening to, but Dan should know better than anyone that the fact that even he can't break something is still not an argument for (or even a suggestion of) its security.
- Scaevolus 14y agoA skilled auditor finding no flaws in something is evidence in favor of there being few flaws in it. He never says there aren't any. He says there are surprisingly few.
- marshray 14y agoIf an audit by a talented, experienced, and motivated security consultant isn't "even a suggestion of its security", than what is? He didn't say "it's is perfectly 100% secure", he said "BitCoin surprised me" and "the core technology actually works [] to a degree not everyone predicted".
- ph0rque 14y agoThe bit about stolen money being forever traced is very interesting, and leads me to an idea: can an ethics flag be added to the mining software to make your client refuse to process transactions on stolen bitcoins? Although now that I think about it, one could allege that your bitcoins, which really belong to someone else, have been stolen, and thus effectively prevent that person from spending those bitcoins. So you would need to have a very high bar for determining those bitcoins were really yours.
- shalmanese 14y agoI asked this on Quora a couple of months ago: http://www.quora.com/Bitcoin/Would-it-be-theoretically-possible-to-mark-certain-Bitcoins-as-dirty http://www.quora.com/Bitcoin/Would-it-be-theoretically-possi...
- baltcode 14y agoI have a noob question if someone can answer it. It seems to me that mining is a computationally wasteful exercise. Why don't crypto-currencies just reward the computations needed to keep and confirm transactions, which is actually an economically beneficial service?
- lcampbell 14y ago> the computations needed to keep and confirm transactions AFAIK, that's effectively what mining is. From my understanding, transactions exist in a limbo state (where they're relayed around the bitcoin network) until they're included in a mined block and become part of the blockchain. A "mined block" is basically just a list of transactions (including a coinbase transaction, which is the new bitcoins), the merkel root of the previous blocks, and some other data such that the hash of the entire thing is suitable, as determined by the network difficulty. Thus, mining and confirming transactions are effectively one and the same. Sorry for the poor (and possibly incorrect) explanation, I'm still wrapping my head around it too.
- ealloc 14y agoas lcampbell said, the point of mining is actually to keep and confirm legitimate transactions. Mining needs to be a 'difficult' (but otherwise useless) problem like cryptographic hashing in order to make it difficult to fake transactions. Computations which might be useful in some other way are too easy - only cryptographic hashing is 'difficult' enough to stop the fakes. It's kind of like captchas - a seemingly pointless pain in the ass on purpose to weed out the spam.
- gbhn 14y agoI have a question. I read on the bitcoin site that currently the transaction rate is limited (at 7tps). This seems like a good precaution, as otherwise someone could try to flood the network, but what enforces that limit? Is it that by and large miners use software with that limit, so transaction floods are ignored?
- matthew-wegner 14y agoTwo reasons: 1) The hashing difficulty automatically adjusts to match the network throughput, so that new blocks are found once every 10 minutes. New blocks introduce new Bitcoins, so this controls the total supply. 2) New blocks extend the last agreed-upon block. If an attacker forged a block, they would have to do so faster than the rest of the network combined to control the entire block chain (clients agree the longest block chain is legitimate). While you could do this without the same computational expense, it would rely much more on Internet connectivity. An older AMD GPU can calculate ~250 million hashes per second. With no difficulty, a transaction could be verified on the network as fast as miners could broadcast their agreement. This would mean attackers could more easily control the block chain with DDoS and other network-related tricks. Even now, the largest mining pools are sometimes targeted to slow down transaction processing.
- gusgordon 14y agoThis article really isn't that good or that interesting. I understand people who hold bitcoins upvote anything that says something positive about the currency, but come on, not this.
- _pmf_ 14y ago> Written in C++, which for all of its strengths is not usually the safest thing in the world to be reading random Internet garbage with What kind of retarded nonsense is this? What the fuck does this guy think his scripting toy languages are written in?