And the hits keep coming for the dangerous experiment of maintaining artificially constrained blocks. From 2009-14 Bitcoin functioned with no effective block size limit and mining decentralization post-ASIC was improving. Now, in 2015, that this latent piece of software is allowed to take effect the unintended consequences rear up:
(my bold emphasis below)
(Updated: I said 1/phi, I should have said 1 - 1/phi. The attack works for any miners who controls more than 38% of hashing)
The so-called "stress test" was successful. The attack it was testing is underway.
Any miner who cotrols more than one minus 1/phi of the mining power, makes a profit while paying the fees it takes to maintain a permanent backlog of transactions, for as long as the blocks are more than half full of other transactions.
The mining-expenses market is unstable when there are enough legitimate transactions to fill more than half a block, because such a miner will reap more per yuan invested in mining power than any other miner. This leads to a monopoly.
Well, crap. I have done the math now.
I know exactly what's happening. It's a Golden Ratio Attack. This is serious. It ends with a mining monopoly.
What we have now is no longer a test. The test was apparently successful. What we have here is the new business model that was being tested.
This backlog will probably be sustained FOREVER, because the people doing it make a profit by doing so.
The following assumes expenses roughly equal for miners relative to the amount of hashing power they control. This is not exactly true, because a miner someplace where electricity is subsidized (like China) has substantially lower expenses. In such a place the fraction of mining power required to make it profitable would be even less.
The *initial* "stress test" was a test to see whether the miner controlled sufficient hashing power to make a profit by doing this. We can assume that test was successful, because now this miner is doing it. Probably permanently.
The miner decides how much they want per transaction (anything that the traffic will bear, as long as it keeps blocks more than half full of real transactions), then keeps the backlog sufficiently full with bogus transactions to prevent any tx that pay less than that from going through.
Maintaining the backlog subsidizes other people's mining as well as their own, but means they don't need to compete with miners willing to process transactions for less money in fees because those miners aren't willing to process transactions for less fees when any transactions with more fees are available.
Let's work the math. If 2/3 of the transactions actually processed are "real", then whoever is maintaining the backlog is paying the tx fees for 1/3 of every block. If this is someone with half the mining power then they get half of their third back, so their average cost per block is the fees for 1/6 of the block. If we are talking about someone with half the mining power, their average return per block is 1/2 the fees for a block. Because 1/2 is greater than 1/3, they are making a profit.
The breakeven point for the biggest miner was when his fraction of the mining power plus the fraction of each block devoted to legitimate transactions was equal to one. We can conclude that whoever is doing this, if he started the instant it was profitable, controlled 1 - 2/(1 + sqrt(5)) of the mining power at that time. This happens to be one minus the inverse of the Golden Ratio.
It will continue to be in the financial best interests of any miner controlling more than 1 - 2/(1 + sqrt(5)) of the mining power for as long as blocks are more than half full with legitimate transactions.
This does not affect, and is not influenced by revenue from block subsidies AT ALL.
All miners will see increased fee revenues in the competitive market. They will respond to more revenue by investing more in equipment. Those miners are still competing fairly with each other, though they will make less on their investment than whoever's maintaining the backlog. It is not in their best interests to add bogus transactions to the queue because with a smaller fraction than 38% of the mining power they would lose money on the fees they invest.
But any miner for whom this IS profitable, will make additional revenue that the fair market among miners does not. What percentage more, depends on what fraction of the hashing power he controls. Any such miner is competing at an advantage and will eventually drive all other miners out of the market.
Miners for whom this is profitable must control at least 38% of the mining power. Therefore there can be no more than two miners doing it at a profit. And it's got positive feedback, so those two cannot compete fairly. Assuming there are two, the instant one of them has more hashing power than the other, he has a competitive advantage over the other (gets back as revenue a greater fraction of all fees spent) than the other miner) and will eventually drive him out of the market.
Here are some attacks which are affected by the number of nodes and/or miners and/or hashrate:
Attacker: Miners
Attack: Double spending. A miner can spend bitcoins on a product or service, then produce a block which invalidates the spend
Probability of success: 100% when the hash rate of the attacker exceeds the hash rate of the rest of the network
Severity: Number of bitcoins controlled by the attacker * number of attacks performed
Attacker: Miners
Attack: Denial of service. A miner can engage in selective censorship of transactions
Probability of success: 100% when the hash rate of the attacker exceeds the hash rate of the rest of the network
Severity: % success rate of censor identifying transactions they wish to block * value of the blocked transactions
Attacker: Nodes
Attack: Double spending. An attacker can defraud a target who is using an SPV wallet by providing them with invalid block headers which allow the attacker to pay the target with a transaction which references non-existant inputs
Probability of success: 0% unless the attacker can prevent the target from communicating with any honest nodes
Severity: Number of bitcoins controlled by the attacker * number of attacks performed
How about this one:
Current situation where blocks are getting full from artificial 1MB cap:
Attacker: large miners like f2pool
Attack: spam network from one of its wallets to another. Drive up overall fees of regular users.
Success: 100%