I'm a software dev who is considering becoming a bitcoiner, mostly to explore its possibilities. I think a currency free from the baggage of the modern financial systems will allow great things to be done. I see lots of other people are thinking the same way (there are numerous BC prediction markets, for example).
However, I don't want to invest time and money in a seriously flawed or doomed system.
BC appears to have at least one potentially-fatal flaw: the 51% attack. I'm unsure why it was assumed this would not be a problem? Profits from mining would seem to increase when on reaches over 50% of the world's mining power. This would seem to encourage powerful mining pools. While current norms and other incentives may discourage black-hat miners, I don't think it is reasonable to rely on these incentives.
Edit: In other words, is there an economy of scale in being the dominate miner?
Edit 2: While it looks like there was a successful BC double-spend, it was the result of a white-hat exploiting a bug, not a 51% attack. However, a few altcoins (e.g. reddcoin) have been the target of 51% attacks, so my research on their repercussions will start there.
In addition, BC would appear to have a number of other flaws:
- The necessity for each wallet to contain the entire block chain. Edit: Apparently I was reading some dated information. This is wrong.
- Governments have never seemed keen to give up their monopoly on the money supply.
- The computing power wasted by mining.
- It complects the generation of a public ledger with a specific currency.
Side note: After reading about BC and 51% attacks, I am beginning to think "the network effect is the mind killer" might be a more general expression of "politics is the mind killer". There is a lot of noise out there.
Help and insight is appreciated.
Regarding 51% attacks, proof of work algorithm and alternatives: https://download.wpsoftware.net/bitcoin/new-pos.pdf
This is a good technical article that describes the mining/consensus algorithm of bitcoin, (but maybe not very readable to non-technical people). It also discusses the main current alternative, proof of stake, and shows that an issue with proof of stake which is not present in proof of work is that anyone who is new to the network or goes offline and then is reconnected is required to trust some entity / community / etc, that the blockchain they are using is the 'correct' one, and not one which was reforged over a period of time using old private keys purchased from former holders, etc.
"This is not a distributed consensus! It is a different sort of consensus, which may be formed amongst always-online peers in a decentralized way, but depends on trust for new users and temporarily offline ones. It is correspondingly vulnurable to legal pressure, attacks on “trusted” entities, and network".
On the other hand, Bitcoin's proof of work algorithm is expensive and energy consuming, while Proof of stake is low cost.
Depending upon the purpose you are using the blockchain for, this is a tradeoff that might be acceptable. If the goal of the blockchain is to be the ultimate store of ALL value, then I think Bitcoin's Proof of Work algorithm is probably required. If the goal is to utilize blockchain technology for various other applications, where you might not need to pay for absolute security and merely being 'very difficult' to attack might be sufficient, the lower cost alternative might be superior, imo. There is more of an element of human consensus and trust in PoS than in PoW, for example, you might have to trust a developer team, the reputation of a company, or the collective community of users.
However, large mining pools also are a threat to decentralization, as you noted. If a few or even a couple mining pools control enough hash power to launch an attack, then you have to trust the mining pool operators in PoW just like you have to trust a developer / community / company / whatever who you are downloading a blockchain snapshot from in PoS.
I don't think there are yet any definitive answers on these issues yet, which is why I favor diversifying among different experiments. Of course, many others believe they have the answer, so they either only want Bitcoin, or only want . If the Bitcoin maximalists are correct, they save themselves the ~10% cost of diversifying among the different experiments right now. I'll pay the uncertainty tax and diversify in order to not be wrong.