Subject: Re: [Bitcoin-development] Auto-generated miner backbone

From: Peter Todd <[email-masked]>
Date: Mon, 4 Nov 2013 17:03:17 -0500

On Mon, Nov 04, 2013 at 04:45:24PM -0500, Alan Reiner wrote:
> So given the assumption that Alice is "well-connected" as Peter
> mentioned, it seems like this is a concern.  But is this a realistic
> assumption?  All miners have an incentive to be thoroughly connected to
> one another, to make sure they minimize the amount of time they spend
> mining on forks and that their blocks win with minimal chance of being
> orphaned.  Is it realistic that one miner can somehow monopolize the
> good connections when the big miners are already trying to do the same
> thing for honest reasons?  If you have a network full of honest miners
> and this one selfish-miner, it seems that all the honest miners need to
> do is try to establish those connections to each other as well as Alice
> does, and Alice will end up orphaning all her profit away.

Right, but as I said, I think this is likely to become a contest of who
can create the lowest latency mining operation, or to be more precise,
who can get the best ratio of latency per dollar.

Unfortunately even with totally "honest" mining winning orphan rates is
a function of latency; what this paper has done is mainly show a
remarkably effective way of leveraging low-latency and very good
visibility to the network.

Regardless, globe-spanning low-latency networks cost a lot of money, so
if they are something that makes mining more profitable, for whatever
reason, that's an effect that will incentivise pools to grow larger and
more centralized.

> Furthermore, you can de-incentivize it by simply randomizing the order
> of broadcasts.  Although you are maintaining multiple concurrent
> connections, the data still exits your network card as a serial stream
> of packets, and it seems that if you randomize who gets your new-block
> broadcasts first, then it further reduces the Alice's advantage if she's
> not guaranteed to "be first."   Sure, she can do it sometimes, but it
> would seem that even a couple failures to beat the rest of the network
> is going to erase most/all of what she gained on the blocks/chains that
> she wins.

Yeah, there's a lot of possible solutions, but what I'm seeing looking
at them is they all tend to be not economically rational, in the short
term, or even worse, they actually incentivize mining pools to get
larger. For instance anything that tries to prevent Alice from sybiling
the network by forcing nodes to prove they have mining capacity just
means that larger miners will have an advantage over smaller ones in
getting their blocks propagated as fast as possible. Once Alice does
have a reasonable amount of mining capacity, she can still use the
selfish miner attack to grow larger and more profitable.

-- 
'peter'[:-1]@petertodd.org
000000000000000aae6d13639c5b4555eeda301ebcbc53f12e8a633e267c8331