Live data from Hacker News

Cost of a 51% attack for different cryptocurrencies?

crypto51.app

31–40 of 134 posts

Re: Cost of a 51% attack for different cryptocurrencies?

#33
post #21

It feels surprisingly cheap. Take bitcoin, a 105Billion cap can be subverted for just 700K per hour? Not to mention DeepOnion for 3 bucks an hour. I can see people do that just for lulz.

The answer of hn_throwaway_99 is interesting

I would add that if an attack on bitcoin is detected, there would be some answer to it, and the actual cost of the attack would really rise

There is also some complexities to get your hand on enough material for doing it during enough time...

Re: Cost of a 51% attack for different cryptocurrencies?

#34
If you're capable of playing a long con, it costs much less than the stated dollar prices.

With Bitcoin, for example, a smart malicious actor could infiltrate the Core development team and through their social capital make certain malicious pull requests get merged. This way, if the chain ever splits (let's say, due to a bug you planted), you can actually also influence miners to hop onto a minor chain without you ever owning any hashing power!

To see how this is done, look at the 2013 Bitcoin fork and see how a couple developers steered large miners away from the majority chain: https://freedom-to-tinker.com/2015/07/28/analyzing-the-2013-...

The only counter-argument to this is how code reviews should catch this, but history has clearly shown that bugs (including supply-inflation-causing ones) make it into cryptocurrencies all the time: https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposu...

Hash Rate is security theatre.

Re: Cost of a 51% attack for different cryptocurrencies?

#35
post #13

Earlier quoted context omitted.

Nah, the reason is to split the head of the chain for a period of time, and do different things in each chain. Then when one of the heads is declared "true", you gain advantage (typically you spend the same coins twice, once in each head).

You say "nah", but what you are describing is reversing a transaction, I don't see how that is disagreement. From the POV of the recipient, when the split branch becomes the "non-true" branch, it looks like they got the money but then it disappeared.

If you are considering the recipient a human interpreting the results, then this is a failure of their wallet UI. The block chain is a tree not a log. The views that show it as a log are just showing you the statistically most likely outcome. If you look at the raw data you see all possibilities.

Re: Cost of a 51% attack for different cryptocurrencies?

#36
post #21

It feels surprisingly cheap. Take bitcoin, a 105Billion cap can be subverted for just 700K per hour? Not to mention DeepOnion for 3 bucks an hour. I can see people do that just for lulz.

51% isn't all powerful. It would mean you could chose what transactions to process and you could potentially (and very visibly) reverse transactions that happen while you have that much hashing power. That's it, you can't transfer money to you.

Merchants who worry about reversing transactions are advised to wait for a few hours before transferring the thing of value, this reduces the ability for someone to deploy a 51% attack and if they did, it would be pretty visible.

Re: Cost of a 51% attack for different cryptocurrencies?

#37
post #4

Since it took a while for me to understand this. A 51% attack doesn’t let you steal money from anyone. It essentially lets you block all transactions from making it to the blockchain. Nodes will still verify all transactions and ignore transactions that are invalid. Edit: you can also create multiple forks and switch between them. External viewers will see both forks and if they don’t or can’t handle the difference t…

> A 51% attack doesn’t let you steal money from anyone. 1. You deposit BTC at an exchange. The exchange credits you the amount in their non-BTC ledger. 2. You send off a chain of blocks overwriting the the original deposit so that you never did it. 3. You fill in the form to withdraw your credited amount from the exchange. Now you have 2x the coins. Of course there are a LOT of details to this that I won't get into,…

Yeah exchanges and all other external systems need to handle this. Effectively they should look at the possibility of a deep reorg and the potential cost to them and use that to adjust how many transactions they require until the risk is mitigated.

Re: Cost of a 51% attack for different cryptocurrencies?

#38
post #3

$705k per hour for Bitcoin - these numbers sound very expensive. Do they take into account that during an attack the attacker will earn block rewards and transaction fees? Because if not, then they vastly overestimate the costs. This sounds like it is based on the some energy price that would be needed to do 51% of Bitcoins hashing. Doing so could very well be profitable. The reason it would be hard to do is that the…

I thought it would be magnitudes more expensive, to the point where it would be unrealistic to even try. I thought that was the whole point with PoW.

Re: Cost of a 51% attack for different cryptocurrencies?

#39
post #4

Since it took a while for me to understand this. A 51% attack doesn’t let you steal money from anyone. It essentially lets you block all transactions from making it to the blockchain. Nodes will still verify all transactions and ignore transactions that are invalid. Edit: you can also create multiple forks and switch between them. External viewers will see both forks and if they don’t or can’t handle the difference t…

It does, however, allows "double spending" attacks. In such attacks the attacker first spends a coin to buy some real goods from the victim. She then launches a 51% attack on the blockchain and "rewrites" the ledger to remove the transaction to the victim. Now the attacker gets back her money, plus the goods from the victim.

Yeah stores that accept crypto Currency need to understand this, or use an underlying abstraction that does. Of course for most chains this would make transactions very slow which is not good for commerce.

Re: Cost of a 51% attack for different cryptocurrencies?

#40
post #6

QuarkChain QKC $6.01 M Ethash 10 GH/s $7 69,816% So 7$ is the nicehash cost? But isn't nicehash an out of the box solution? So if I wanted to actually execute a 51% attack I'd have to deploy my own malicious mining software to the nodes, that then issued an invalid transaction and forced consensus on it ... is that the idea? Can someone who knows a little bit more about this fill me in?

I believe this is the basic idea. Let's say on QKC.

1. Buy a whole bunch of QKC and wait for your receipt of the QKC to clearly be part of the winning chain.

2. Make a copy of the blockchain. Keep it to yourself.

3. Start adding mining blocks* to your copy, in private; do not release your private copy of the chain at all, just keep piling on mining blocks. You must outpace the world's ('public chain') rate at which they are piling blocks on, hence why you need over 50% of total hashing power to do this and guarantee that your private copy ends up with more mining blocks than the public copy.

4. Whilst you are mining your own private copy, spend spend spend. Spend ALLLLL your QKC, getting goods and services in return, or simply other cryptocurrencies.

5. Eventually, when you've spent all your QKC and your private copy clearly has more mining blocks on it than the fork of the public chain everyone currently agrees upon... release it.

6. The protocols and papers all state that now your erstwhile secret, private copy is now the new consensus view; after all, it has the most mining blocks on it.

7. That means that none of your QKC is actually spent. Effectively you get all your spent QKC back. In addition, whatever wallet has been doing all that mining just earned a bunch of QKC as a reward for doing all that mining effort, so you now have more QKC than you started with, AND you have all the goods (or other cryptocurrencies, or services, or whatnot) that you bought with your QKC whilst you were secretly mining.

Exactly how much time you need to spend all your QKC and ensure that your private copy of the chain definitely will win any consensus fight with any other fork is beyond my understanding of cryptocurrencies.

There are out-of-band mitigations possible; if it is abundantly clear what's going on and sufficient amounts of those who control major nodes all agree to just hardcode in their copy of the software that your chain, no matter how many blocks it has, is never selected as the consensus, then all your work is for naught. Etherium has run into a variant of this problem (it wasn't a 51% attack but something else). Everything happened just as I write: the majority of ethereum network movers and shakers chatted on forums and the like and decided to update their software (and their personal 'belief' of which of the many forks is the consensus fork) to disregard the one where a lot of eth was 'stolen'. But not quite everybody; a few decided not to update their software and stick with the rule that the one with the most is the consensus. That is now called 'etherium classic'.

*) Mining blocks are just blocks confirming all is well; they contain a proof of work which involves a random number added to the message. A mining block is valid if, when you hash it, the hash ends in a whole bunch of zeroes. The idea is that the only way to do this is to generate billions of random numbers, keep hashing the results, until you hit the jackpot and your hash ends up by sheer coincidence to end in the desired # of zeroes. At which point you publish this mining block on the chain. As part of doing that, the 'network' itself gives you some coin to pay you for your efforts, and the 'fork' that you put this block on is now more robust, in that the rule is that the consensus block is the one with the most mining blocks on it.

Post reply on HN