

Bitcoin Is Broken - julien
http://hackingdistributed.com/2013/11/04/bitcoin-is-broken/

======
Rhapso
I've read the paper. The title is alarmist. "selfish" mining seems to work,
pools should implement it as fast as possible. When a majority of them do, the
problem cancels out. The given solution suggest propagating all chains and
choosing a random one to mine on. Their proposed solution is immediately
exploitable, as a "selfish pool" could disseminate as many competing forks as
possible to dilute the processing power of the "honest" system then
collaborate on a single chain.

~~~
sktrdie
That was my thinking as well. All pools should behave selfishly. If they all
behave this way, then there's no incentive for the miners to move towards a
single pool, therefore avoiding centralization. Am I missing something?

~~~
petertodd
Yes, the strategy works better if you have a lower-latency network at your
disposal. What it creates is a winner-take-all situation where the mining pool
with the best optimized network, some function of latency-vs-cost, gets a
disproportionate reward even when all miners are pursuing this strategy.

------
earthrise
I haven't read the paper, and I'm certainly no expert in game theory, but I
don't think we have to worry _too_ much about this. The assumption seems to be
that selfish miners will collude to control the network. However, it still
seems to be in their best interest to compete. If the coin starts losing real-
world value due to a bad controlling group, rational miners will stop helping
the controlling group mine.

In addition to spending time/money/resources on mining hardware and power,
miners now have to spend time/money/resources on finding and implementing
better strategies. This just shows that there's another variable.

(I could be, and probably am, wrong.)

------
terranstyler
I think their attack doesn't work.

It relies on "publishing their newest lbock" before the others discover it.
However, there is no way to know when the others found the newest block. Since
they just try some Hash IV (afaik), it is well possible they discover the next
block within seconds of the first. So there is an incentive to publish their
latest block as soon as they found it.

Also, what I read here and what I agree with, selfish mining seems self
defeating which reinforces the first point. The second selfish miner pool
should publish its newest block just before the first selfish miner pool,
pushing the equilibrium of "latest block release" to ASAP.

Any comments?

------
cstrat
What happens when the honest miners fluke it and solve a block early, before
the dishonest miners decide to publish theirs...?

Wouldn't this ruin any and all gains the honest miners have, nulling all the
blocks they have mined 'ahead'...

~~~
earthrise
I think in the long run (repeat the process hundreds of times), there would
still be an advantage to the selfish miners.

Edit: Here's a simulation written by Dan Kaminsky.
[http://pastebin.com/PfBhLc7r](http://pastebin.com/PfBhLc7r)

