Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Bitcoin War: The First Real Threat to Bitcoin? (privateinternetaccess.com)
74 points by rasengan on March 17, 2012 | hide | past | favorite | 44 comments


This article is silly and wrong.

Probably those blocks are mined by a new mining pool, one that someone hasn't implemented transaction handling into.

There is a free market for transaction fees built into Bitcoin, and any miner is free to ignore transactions as they will, it's always been that way. It's not an 'attack', it's just an economic system built in.

Miners will almost certainly demand more bitcoin for their work in the future than they do now; the way I think of it, the network itself is pre-emptively fronting a baseline transaction value to miners right now. Eventually that will be phased out, and people who wish to transact will pay the burden of getting their transactions secured. C'est la vie.

Until then, move along, the article does not, in any way, detail a 'real threat' to bitcoin.

It is annoying (in that it slows transaction acceptance and validation) that someone doesn't wish to mine transactions, but if it ever became a large threat, clients could adjust to ignore blocks from known bad-behavior miners, bringing them into line. Or, I suppose, miners could value same-height blocks with more transaction fees in them. I'm not sure if this would impact other attack vectors, though.


And there was me thinking that the first real threat to bitcoin was already back when everybody lost interest.



85.214.124.168 is in Berlin and belongs to a german hosting company, Strato Rechenzentrum, Berlin. The website http://www.jas-transport.com/ is hosted there. It's a trucking company, so guessing the server might be hacked.


I'm not sure if you're aware of the scale of computing that would require. A lone server contributing 15% of the network would have to have the equivalent power of about 6,000 high-end GPUs.


This server is just the connection to the bitcoin network, not the calculation point.


I felt like I knew a little about Bitcoin, but I fail to grasp whatever this article is saying. Can anyone translate the "empty blocks" and 15 vs. 51% part and its implications? Also, wouldn't 15% of the network computing power require more than a simple webserver? Thanks.


I'm new to the details of Bitcoin, but I found these explanations to be illuminating:

Bitcoin relies on agreement among peers on a single unbroken chain of blocks: https://en.bitcoin.it/wiki/Block_chain

It takes computation work (searching for a header that produces a hard-to-find hash value) to generate the next block. Therefore, the block chain can be taken over by someone with 51% of all the hashing power on the network because the peers agree on whatever chain reflects the most work: https://en.bitcoin.it/wiki/How_bitcoin_works#Double_spending

In order for a bitcoin transaction to be consummated, it must be encoded in a new block. The entity that generates the block chooses which transactions to include in the new block, and the 15% entity that is the subject of this article is not including any transactions. Instead, it is only awarding itself the standard bounty for discovering a new block.


This is my rough understanding:

As you're aware, Bitcoin uses certain cryptographic guarantees in order to publish a public and immutable "block chain", which is essentially a public list of all Bitcoin transactions since the beginning of time.

Each block in the block chain is essentially a list of transactions which occurred between the time frame "after the previous block was discovered, but before this block was discovered".

(A block is 'discovered' by searching the hash space brute-force, searching for a valid code.)

When a new transaction is initiated, it is an interesting situation because it needs to be done in a way where neither party can somehow cheat the system. I believe this is accomplished by sending the transaction to many Bitcoin peers simultaneously. When, say, 5 or more peers have "acknowledged" this transaction, then you can be fairly confident (>99.9%) that your transaction will be encoded into the next block in the block chain.

The only reason this works is because it's assumed that each peer in the Bitcoin network is following the protocol in an unbiased way. E.g. it's assumed that peers aren't "going out of their way to do shady things". What kind of things? One example: acknowledge a transaction, but then discard/ignore that transaction, thereby attempting to trick you into thinking your transaction was processed when it wasn't.

Right now it doesn't matter if only a few people are doing shady things. This is because the majority of people are known to not be cheaters. Therefore, by the law of large numbers, you can assume that by waiting for N acknowledgements then you can become exponentially more confident that your transaction will be encoded into the public block chain, rather than maliciously ignored. The only reason this works is because less than 50% of the Bitcoin peers are attempting to cheat. If more than 50% were cheaters, then you'd have no way to "verify that your transaction will definitely make it into the public block chain". Thus, the system would cease to be useful.

Now, notice I'm talking in terms of "more than 50% of peers", but the article is talking about "more than 50% of processing power". I think the argument for "why 50% of the computation power needs to be non-malicious" is the same or very similar to my argument which I presented above. But I'm not positive on that.

(Essentially, if you control more than 50% of your "new block-finding capability", then you would have control over which transactions will/will not make it into the public block chain. Thus, we would lose our cryptographic guarantee that "if my transaction was acknowledged by at least N peers, then it will definitely be entered into the public block chain un-tampered.")


Also, the computing power is computed from the percentage of successful transaction blocks. Noone knows how much computers you had or anything, they just saw that 15% of the blocks were confirmed by the same PC.

The confirmation task can be easily paralelised - therefore, what is usually done is creating a whole pool of computers that together work on the transaction confirmation task, then the main computer announces the confirmation and is remembered in the blockchain. That's what these so-called mining pools do.

You can browse the blockchain by yourself here http://blockexplorer.com/

There is always at least 1 transaction in the block with the amount 50 - that's the "new" bitcoins that the person "mined" - those weren't previously in the system, you got them for the confirmation. Someone is cheating the system by creating empty blocks with only this transaction.


Whoa, that's bizarre: http://screencast.com/t/TA5fF8CDf3

And look at the timestamp on #171618: http://screencast.com/t/Kzzwiyi9Mz ... The timestamp reads "21:35:01". But the timestamp of the previous block is "21:35:35". So it's "in the past, by half a minute". What's up with that? I mean, I could understand a timestamp uncertainty of a few seconds when discovering new blocks ... but that's a discrepency of over half a minute. (Maybe this is a totally insignificant observation -- I have no idea. I'm just pointing it out.)

Bigger question: what's up with those "1-transaction blocks"? Could you talk a little bit more about that / why that's an indication that someone is cheating? Also, do you have any idea why they're doing this / what the benefit is?


I don't understand that much about it, but I believe that's partly what the original article talks about.


You're confusing "clients" (or Bitcoin nodes) with miners. All clients share information about pending transactions through a peer-to-peer network. A small % of those clients are also mining - incorporating (or not) transactions into a block and attempting to find a sufficiently rare hash value.

Since most mining is done in pools, there is quite a concentration of power in pool operators; if they want to ignore certain types of transactions, they can just omit them from the blocks that they mine.

The real threat is that if any mining pool that had more than 50% of the world-wide hashing power, they could effectively control which transactions would become verified, and which would remain forever "pending". They would accomplish this by ignoring all other mined blocks, knowing that they will be able to outrace the rest of the world in producing the chain representing the "most difficulty".

Ordinary (non-mining) clients can disrupt the propagation of transactions around the network - but as long as you have a possible communication path to SOME miner, you should be able to have your transactions registered in a new block; like the Internet, the bitcoin network has redundant paths to foil censorship from a minority of nodes.


The Bitcoin network maintains a shared transaction chain to make double spending of Bitcoins impossible. However somebody controlling the majority of the network's processing power could compromise the transaction chain.


Upon opening it up, I am shown the only picture in the article: a computer with a photoshopped on scumbag hat and a caption - Scumbag Bitcoin Miner. While I understand the use of this on Reddit, in an article it seriously makes me question the quality, some sort of diagram explaining what is actually going on would be so much better.


I have to agree, and I see it as a trend that's continuing.

http://www.seomoz.org/blog/how-to-use-memes-to-build-easy-ba...


I am a heavy 4chan user, and this physically hurts to read.


I think this could be worthy of its own submission.


Here's a plain-text mirror of the article, since I'm not a huge fan of the whole "scumbag whatever" meme: http://pastebin.com/raw.php?i=XVdWpv53


That's no computer, that's a space sta.....I mean a GFX card...


An interesting idea. Bitcoin seemed secure at first because it seemed silly to think that an individual user could hold >50% of the total processing power of the network, but now that miners are assembling in mining pools, the risk of a pool achieving >50% of the processing power is much higher.


The threat to Bitcoin is it's adoption by nefarious entities-- money laundering, paying for drugs, DDOS extortion, etc. This creates an incentive for the government to step in and disrupt the Bitcoin system.

I would not be surprised to hear that a government project is in place to shut down or otherwise reduce the effectiveness of it.

Bitcoin could have dilluted this problem by really running with the unique strength Bitcoin has: micro-transactions. All of the sudden it was conceivable and somewhat simple to send someone $.05. Instead of focusing on this the Bitcoin community was more interested in creating an anarchic currency that was anonymous and beholden to no-one. I personally like to believe that if they had instead focused on ease of use, wide spread adoption through micro-transactions (tip jars, content that costs less than $0.75, etc) that it would have really gotten a lot more traction with the mainstream.


You can use bitcoin for any amount you want. And yet, except for the drug sellers on silkroad, almost no one does.

I, personally, see the biggest disadvantage of bitcoin (1) the price unstability - it jumps up and down like crazy, and (2) the still unclear legality - from the tax endpoint, and the like. And (3) - also its biggest strength - it's as safe as your PC is safe. When someone steals your Microsoft Word documents or your Excel tables, who cares. If someone steals your wallet.dat, you are screwed. Period.

It may seem like a moot point, but both Mt.Gox - the largest exchange of bitcoins - and Slush - second largest miner - has had its servers compromised. And those are the highest end-points. Now think of all the users - the lowest end-points, who have "password" as their PC password. You want THEM to have all their money on their wallet.dat files, on their disks?

Now, drug sellers on silkroad really don't care about the second point, but much of the regular businesses do. On the other hands, the regular users have their lowly secured PCs as the only gateway to their money.

I am not sure if Bitcoin will ever get off, given all these circumstances.


1) with enough widespread adoption this would be smoothed out, after all the value of the dollar against other currencies is not static either.

2) yup, this is a problem, though I believe technically it should be a capital gain in most countries.

3) This is also clearly a problem though not an unsurmountable one. The cool thing about bitcoin is that you don't have to run the wallet locally, but you have the choice of doing so if you want to. With widespread adoption I believe you would see banks who host wallets, this is how your average person would interact with bitcoin. The final piece of the puzzle is bitcoin insurance to guard against a nefarious wallet hoster, we don't have this yet but there is no reason why it can't be done.


"the Government" does not need any fancy crypto or network approach to attack BitCoin, they already have the power. They have the ability to ask you to report where you got all tour money, and if they thibk it likely you got it from crime, they can seize it and imprison you. If they think you didn't pay enough in taxes they can imprison you. The government has been dealing with things like this for years. They don't need to "hack" it.


I've been thinking about some ideas for bitcoin microtransactions, but they imply really high volume if they caught on much at all. And here we are with a transaction network that relies on broadcasting all transactions to everybody.

I've looked at the bitcoin page on scalability, and it says sure, we can get to VISA-level scale, all we have to do is centralize this and decentralize that and we're good. Sure.

Meanwhile, last I heard the bitcoin developers are focusing on features, thinking that will get them the users, leaving scalability until they need it. I think scalability is the feature that will bring users. Nobody wants to use a payment system that might crap out as soon as it really gets popular.

If anyone doubts that scalability is a problem, just go on the bitcoin forum and propose layering some kind of new and potentially high-volume use on top of the blockchain, and see how much people freak out about you flooding the network.


I would be very surprised if the (US) government were to try to "shut down" Bitcoin. Perhaps regulate it. Perhaps harass an individual entity using Bitcoin.

I believe we have a protected right to use technology like Bitcoin. To make it illegal you would have to deny me the right to:

    1. Free communication/speech.
    2. Identify myself (authentication/digital signatures).
    3. Retain private information (keys).
    4. Trade with other people.
The government has an interest in requiring me to report Income so that they can check if I've paid my taxes. But this is no different than any other cash or barter transaction.

It would require a very restrictive police state to outlaw the use of Bitcoin as a technology.


"The threat to Bitcoin is it's adoption by nefarious entities-- money laundering, paying for drugs, DDOS extortion,"

You forgot to add the most nefarious entity to that list. Government.


micro-transactions are fail. The are a solution looking for a problem. If your technology's killer feature is micro-transactions, you have a worthless technology.


Bitcoin could be viewed as an elegant system to transfer wealth to botnet owners.


Perhaps if the fees were higher, they would want them.


Would it be possible to hire a large number of servers just for a short time and take control of the whole chain? Is it just a matter of time before this happens? You could combine various cloud providers' servers and black market zombie machines.

If Bitcoin continues to grow in popularity at a sufficient pace it should be safe, but the minute it becomes cost-effective to attack it, it will fall.


So, the network has generally become much more expensive to fail. It currently employs something like 10x the K computer (Top 1 in the Top 500) worth of compute. There are probably a few organizations that could get that compute power together for a while, but you'd have to ask 'why?' and 'for what reason?'

If you want to send a lot of money through Bitcoin transactions, I suggest you estimate expected compute cost of subverting the number of validating transactions you are going to wait to secure it, and using that as a baseline.

E.g. subverting 10 transactions in a row with > 50% likelihood (but doing so without anyone noticing, that is, timed appropriately) would take something like 10x the current compute power for about an hour, = close to a million dollars? hundreds of thousands certainly.

Ergo, wait a day for a $1mm bitcoin transaction to clear, and similarly, don't worry about a $500 transaction at all.


Only a million dollars? That means the government can shut down Bitcoin any time it wants.


Except that forensics will allow us to identify the fraudulent block chain, and ban all the relate computers. "Shut it down" really just means "force the Bitcoin community to step it up".


You can't easily "ban" these things, since it's a decentralised P2P system. The whole point is to prevent anyone (original creators, banks, a government, etc.) from being able to interfer with it. It does mean the system fails like that.


Everyone is free to ignore whatever block chains they want to. I can refuse to honor blocks built off what I consider fraudulent block chains.


Would you able to trade with people who hadn't ignored those bloc chains?


How do you ban all the related computers?


The government can already shut it down. They can make laws. There are lots of laws about money laundering and record keeping, and paying taxes that can be used against BitCoin.


You'd have to rent servers with ATI GPUs in them, but nobody rents those.


Is it something special about the ATI GPU, a particular instruction perhaps? If a NVidia GPU would work you can rent an EC2 instance with them from AWS.

http://aws.amazon.com/hpc-applications/


AMD/ATI GPUs happen to be a lot faster for hashing than NVIDIA's. Partly because of a key design difference, and partly because they happen to have a fast 32-bit right rotate instruction.

Details here: https://en.bitcoin.it/wiki/Why_a_GPU_mines_faster_than_a_CPU...


In theory yes, but it gets more comutationally hard (and hence expensive) as time goes on (this is to account for moore's law). Also, there has been no reason to do it, since it's not worth the money.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: