The verification of transactions in bitcoin is central to its protocol. Its the whole reason its novel and relevant. You would have to change the proof of work system from sha256 hashing to something else to make it anything but optimal for computation on specialized ASIC hardware. If you do that, now you have another cryptocurrency - litecoin, peercoin, etc.
And when you use a hashing algorithm meant to be hard for general computers (cpu or gpu) to do, and can manufacture hardware that does them much more efficiently, you end up where we are now where big miners and a handful of people represent most of bitcoins mining power.
Conundrum? Regardless, it's unsolvable, and I do empathize with the people who complain or offer their own (non)solutions.
> If they were just GPU cluster datacenters, despite their scale, they still would not compete with the distributed power of millions of home users desktops to as much a ludicrous degree as modern ASIC miners are in the Bitcoin space.
Do you suggest efficiencies of scale don't apply to GPU clusters in datacenters, or CPU clusters in datacenters?
As it pertains to mining centralization, do you suggest efficiences of scale only apply to sha256 ASICs?
The idea that this can be "solved" with clever code is utterly naive. The bottom line is investors in any cryptocurrency, regardless of its hashing algo, will buy up the majority of the hashing rate with high efficiency rigs in well-connected datacenters with low priced electricity. Tell me how to fix that with code. You can't do it - although I've certainly seen more than my fair share of altcoin investors try in vain to do just that.
The only time this is economically viable is when you both have a large enough economy and when your marginal hashrate gains over the swarm are significant enough to invest in.
My point is that if your algorithm is CPU / GPU favored, of course you can make specialized hardware, but as long as the performance gap isn't the multiple orders of magnitude modern bitcoin ASICs get over generic computers it takes significantly more money - and here is the key point - in relation to the value of the economy you are taking over to do so. Where it could cost 100 million to build a bitcoin miner datacenter that can immediately seize 30% of the hashing power on the network, your 100 million datacenter on an scrypt network can probably only seize 10-15% because there is much higher normalized mining participation by end users. It means it would cost you a lot more to get a 51% hashing oligopoly, and for the people making business decisions on if they want to spend a billion dollars doing so they will look at the market cap of the economy they are trying to usurp and realize its not a profitable venture.
My point is that there is also a degree of benefit in how consumer practical the mining algorithms are and thus how much less of a dramatic leap in performance custom ASICs would be. If you have algorithms that do not see the leagues of performance difference between custom hardware and general computers, your required investment for the same effective control are much higher, potentially to the point of fiscal unviability, but even if not that your margins would be slimmer and your opportunity cost would dissuade you more from doing it.
The mining superclusters of bitcoin only emerge because of how much potential revenue there is from doing so - fab a few thousand custom ASICs and you suddenly control a huge chunk of total mining power, because nobodies personal computers can even come close to competing. If you want working distributed mining everyone needs to already have viable mining hardware from the start, ie, the computer on their desk.
Bitcoin obviously has value right now as demonstrated by the fact that people can go out and exchange coins for things people regard as valuable, but current value is not a perfect indicator of future value and I'd argue that the current value is at least somewhat predicated on the belief that Bitcoin will eventually become a useful replacement for today's highly-liquid real-time transactional currencies.
I am probably naive, but can't a solution be found by simply increasing the block chain size and then creating software that makes the verification of transactions more distributed by making the process more fine grained in terms of CPU and memory resources? In other words, split current "nodes" into a more fine grained distributed virtual node that low end computers can run?