Subject: Re: [Bitcoin-development] Coinbase reallocation to discourage Finney attacks

From: Mike Hearn <[email-masked]>
Date: Wed, 23 Apr 2014 21:19:24 +0200

On Wed, Apr 23, 2014 at 8:57 PM, Gregory Maxwell <[email-masked]> wrote:

> Hm? I didn't think this is at all what they did.  What they claim to
> do is to prioritize transactions in their mempool from people who pay
> them
>

That's the definition of a Finney attack, right? A tx is broadcast and
nodes normally take the first one they saw, allowing you to measure
propagation and use double spend alerts to get pretty good confidence,
pretty quick. A Finney attacker doesn't do that and includes a double
spend, so the one in the mempool gets overridden.

I mean, I hope that's the definition of a Finney attack, given that I
coined the term :)

> I think we have very clear evidence that the Bitcoin community doesn't
> care if miners reorder transactions in their mempool to profitable
> ends: In https://bitcointalk.org/index.php?topic=327767.0 it's
> demonstrated that GHash.IO, currently the largest publicly identified
> pool was used to rip off Betcoin dice via double-spends.
>

Yes, very disappointing. Though I'd hope that if this sort of thing was
sustained over months and merchants started dropping Bitcoin as a result,
miners would pay more attention.

Right now I suspect miners don't pay attention to anything other than
hardware builds though.

Yes, Bitcoin is imperfect at stopping double spends today. It can certainly
be improved! There are plenty of oft-discussed measures like double spend
alerts and discouraging Finney-attack blocks as was debated extensively in
2011. This thread is just a third such proposal.

More importantly, it's possible to deploy technological approaches to
> make zero-conf very secure against reversal: Things like performing
> multi-sig with a anti-double-spending system
>

These sorts of proposals are all just ways of saying block chains kind of
suck and we should go back to using trusted third parties.

That may well be how the Bitcoin experiment ends, but I think we all agree
here that block chains and decentralised consensus are quite spiffy and we
should try hard to make them work as well as possible before just shrugging
and say "find a trusted third party". Otherwise why not just go back to
using MasterCard? Any TTP that enforces anti double spending rules will be
a lot more centralised than miners, given the difficulty of finding them,
their need for a strong brand/reputation, and the difficulty of getting
everyone to agree on them.

Not to mention that this solution makes Bitcoin sound like a joke currency.
It's a super duper low fee totally decentralised financial system .....
unless you want to buy something in, you know, a shop. And walk out. Then
you need to sign up with this company that looks suspiciously like a bank,
and pay their fees, and yeah there's like 3 to pick from. Totally
decentralised!

> Doubly so because a 'nasty' party with non-trivial hash-power can
> doublespend their own transactions
>

If a miner is vertically integrated and defrauding merchants themselves,
with no service component, pretty quickly people would talk to each other,
notice this pattern and stop trading with them, making their coins rather
useless. Also if their real identity is ever revealed they could be liable
and there'd be a lot of people wanting to sue them.

So I think the ability to resell double spending to lots of different
people around the world seems important to practicality.