Within the coming weeks both Namecoin and SolidCoin have been threatened with the same attack. What can be done by the users, pool operators and developers of these forks to either;

A. Minimise damage.

B. Stop it altogether.

  • Did this attack actually take place? – Thilo Sep 23 '11 at 9:41
  • 2
    No. its was a rouse to spur on alt chains to fix bugs which were found rather than leaving them open for attack by other people who may not have same intentions. – MaxSan Sep 23 '11 at 9:56
  • 4
    It forced SolidCoin to shut down (and hopefully eventually restart with a fixed protocol): "SolidCoin will be shutting down the network at block 35250 (currently 35045 at time of statement). The reason for this shutdown is due to the potential for hackers to gain 51% of the mining power and destroy the credibility of SolidCoin". I have to wonder if the willingness and ability of the SC devs to shut down will not hurt their credibility even more than the attack could have. – Thilo Sep 28 '11 at 4:13
up vote 8 down vote accepted

There are two basic fronts on which they can defend, and they really do have to do both.

First, they need to increase their total hashing power. 51% of a very large number is much harder for an attacker to muster than 51% of a small number. Merged mining is probably the most realistic way for these currencies to accomplish this.

Second, they need to fix specific vulnerabilities in their difficulty adjusting algorithms. Some of these attacks requires less than 51% of the hashing power or do more damage than they should because of specific weaknesses in the difficulty-adjusting algorithm.

Alternative currencies are vulnerable to hash rate decrease attacks. To resist them, they've adjusted their difficulty algorithms so that difficulty can drop rapidly. Unfortunately, these algorithms have been found to have unexpected defects. Because strict timestamp accuracy can't be enforced, an attacker can maliciously inject false timestamps into mined blocks to cause the difficulty to drop very, very quickly. This allows a malicious group of coordinated miners to extract a very large number of coins in a very small period of time with relatively little hashing power.

Effort will be needed to fix these algorithms so that they still provide protection against a hash rate decrease attack but don't create even more serious new vulnerabilities.

It may well be a rocky road these next few weeks. The 51% attack is fundamental to the decentralized nature of these currencies -- the only solution is more hashing power. But the difficulty algorithm attack issues will likely be solved by fixing the algorithms.

  • "The 51% attack is fundamental to the decentralized nature of these currencies -- the only solution is more hashing power." Or giving up on decentralization for the mining process (and only that), replacing it with some sort of trust system. – Thilo Sep 14 '11 at 11:59
  • 1
    I was in discussion with someone an the opinion of merged mining may INCREASE the problem due to the physical cost of attacking the network being lowered (Get BTC anyway, attack NMC "on the side). What is your opinion on this? – MaxSan Sep 14 '11 at 12:00
  • 1
    I think most Bitcoin miners are honest and the power of people who'd help will almost always be greater than the power of people who would do harm. But it's an interesting argument -- if key Bitcoin mining pool managers think hurting NMC will help Bitcoin, ... – David Schwartz Sep 14 '11 at 12:08
  • I hope this is the case. Namecoin I find a fantastic project and I have put all my time and resources into it. Hope everyone helps stop the "terrorists". – MaxSan Sep 14 '11 at 13:01
  • 4
    Don't call them terrorists, they are not going to kill anyone. BTW, at least officially, that's what they themselves are hoping to achieve: someone to fix those problems, in order to prevent similar attacks in the future. After all, if you have a weakness you'd better solve it, you can't rely on hoping not to be attacked! – o0'. Sep 14 '11 at 15:35

The Bitcoin network is currently the worlds fastest distributed computing network. It gains security through size.

The large pool issue is real however it can be overcome without flawed centrally controled digital currencies.

One example is p2pool. It is a pool where miners share rewards but each miner independently generates their own block header including only valid transactions.

https://en.bitcoin.it/wiki/P2Pool

The only risk that large pools represent is the fact that currently miners are "dumb". The pool generates header and submit the merkle tree hash to the miner which "blindly" hashes it. If the pool has nefarious goals it can use the miner's hashing power against the network. Now it is unlikely this would happen because large pools have a vested interest in keeping the network and thus coins valuable and continuing their existance. Still the network would be improved if the miner generates the header rather than the pool.

Now p2pool is a completely decentralized mining pool. They don't even have a website. Miners simply join the peer to peer network and are compensated for their work.

Still many miners may like the advantages of a more traditional pool. This doesn't mean the header generation can't be distributed. Using algorithms implemented in p2pool a traditional pool could decentralize the header generation. With decentralized header generation each miner is working indendepdently. The purpose of the pool is merely to reduce volatility.

This would complete eliminate the small risk of a pool operator using miner's to work against the network.

Bitcoin users who are concerned about the influence of large pools and the risk that centralized header generation represent should either use p2pool or push for other pools to adopt a distributed block generation mechanism similar to p2pool. If blocker header generation is decentralized then there is no risk of subversion even if a single pool has 100% of hashing power.

Solidcoin has restarted in version 2.0, with the following scheme intended to prevent a 51% attack:

As with existing cryptocurrencies, SolidCoin 2.0 stores transactions in a "block chain" which is essentially what it sounds like. Transactions go into a block, nodes do work on that block to verify it, and if the work is good enough they can submit it to the rest of the network. SolidCoin 2.0 then comes into action, every other block in the chain must be worked on by someone with at least a million (1,000,000) SolidCoins in an account.

  • Currently the trusted nodes are controlled by a single person. Hardly a distributed network of PEERS. In the future the low price of Solid Coin may make simply purchasing 51% control very cheap. It would all depend on how distributed the wealth is in SolidCoin network. The smaller number of trusted nodes the cheaper it would be for an attacker to simply buy control of the network. If enough coins were available currently one could "buy" a trusted node for $20K. To buy equivelent amount of hardware to defeat bitcoin by brute force would require tens of millions of dollars. – DeathAndTaxes Oct 17 '11 at 13:15
  • I did not say it was a good scheme... – Thilo Oct 17 '11 at 23:34

There has to be consequence to the attacker, large enough for him to feel the blow of his own attack.

To create the consequence for him: The voter (trusted Node/Full Node) has to have bitcoin, and the more bitcoin the node has, the more voting power (more trusted they are). Example, if the attacker really wants to kill the whole bitcoin network, he has to have at least 51% of bitcoin in circulation. If a bitcoin network is worth $100 billion. He has to buy $50 billion worth of it. Try killing the network and he will lose his $50 billion. Yes, others will lose some little value, but he'll lose much more value, and we can start another cryptocurrency.

It doesn't have to be a linear 1 bitcoin = 1 voting power. It can be a function. like voting power = root2(bitcoin), or other functions.

The only problem with this is that most people will use a centralized node (because they're either using a light node and do not want to waste resources for full node), so their voting power may be centralized somewhere and can be used by the attacker to attack (assuming that more bitcoin = more voting power). The solution to this is probably applying a slowing function (like the root function) to limit their voting power. But then the attacker may use many small value wallet to undermine the big centralized wallet. (Everything in moderation tactic, too much or too little is not good) So we should as well lower the voting power of those who has very little bitcoin in their node - see picture.

So what happens to the node that doesn't have a bitcoin? It's going to be useless anyway because they will leech from the network. I'd say to assign no bandwidth and voting power at all to them since they're not using bitcoin anyway and only wasting network resources. perhaps let them be a low priority reference, just to make them a bit useful.

Same goes to the miners. we should assign similar function as in the picture. We don't want big miners to make the network centralized and in the end having too much power to ruin the network. Since the bitcoin community is by the people and for the people; That is the point of the whole decentralization thing, isn't it? So that we don't get bullied by the big power who wants to centralize everything. We definitely should limit the big power, as well as the useless people who don't use bitcoin and leeching from the network and slowing the real community as a whole.

See the picture below: Node Voting Power

Can this help dealing with the DDOS attack as well?

------------------------Additional Thought on 2017-4-12-------

Bitcoin Design is fundamentally flawed. I decided to move on to other cryptocurrency like Peercoin. Bitcoin consumes too much electricity, large blockchain size and counting, 51% attack, etc.

Why risk our hard-earned money to some chance that it may/may not happen? Everytime it happens, bitcoin value will drop, and we will lose value. Every time we have to move our money in and out of the bitcoin because of our fear. The financial brokers love to see that because every time we move our money, they get a percentage of our money. The implication of 51% attack is bad. Values will be lost over and over again. In the end we will be slaves to the biggest financial institutions: the banks.

Why don't we convert our currency to Peercoin? As simple as that. I am just starting to.

PEERCOIN is shielded from 51% attack, and it encourages decentralization by giving minting incentives. It does not consume much electricity too because it uses a genius Proof of Stake system. (No one will be motivated to kill the network if they have 51% of the stake in it. It will be stupid to stab himself.)

Their design has successfully slowed down the blockchain size increase to 0.6GB after 5 years, compared to 110 GB for bitcoin. This will also make bitcoin more centralized in the future because a full node will need a lot of hard drive space.

Read this forum discussion to understand more about PEERCOIN: (At first I was also skeptical) https://talk.peercoin.net/t/suggestion-for-better-ppc-better-system-for-reward-less-transaction-fee-when-trading-one-that-will-make-ppc-better-than-bitcoin-for-sure/4504/16

There is nothing "stopping' any Bitcoin technology chain from being 51% attacked. It can happen at any time , and it will likely be completely unannounced, which is my own personal concern with it. Furthermore, since Bitcoin is heavily centralized around one major pool, and 2 other large ones, if those pools were ever hacked and pointed towards malicious intent then it could happen at very little cost.

SolidCoin was recently released with 51% protection, you can read more about it here. http://solidcoin.info/solidcoin-most-secure-currency.php

The 51% problem is something inherent in the design of a 100% no trust system like Bitcoin, it will never be overcome. So if you like that about Bitcoin technology chains then learning to live with 51% attacks is all you can do. You can try to limit it by securing more network power in the hands of so called "good" people, but that's a never ending game and one where you will likely be outspent by a large attacker (government or large corporations).

  • What happens if an attack simply buys, mines, steals, or scams enough coins to become a trusted node? Currently the market cost would be ~$20K to buy a trusted node. A tiny fraction of the hardware cost to achieve 51% control of Bitcoin network. – DeathAndTaxes Oct 17 '11 at 15:51
  • Trying to use the current market price and say you could buy a million coins at that value is rather foolish. Attempting to buy half the coins created would be incredibly difficult right now and would likely hundreds of thousands of dollars. And that is right now. You also need more money than all the valid trusted nodes , or rather 51% of the trust money. – RealSolid Nov 1 '11 at 8:33

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.