Subject: Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

From: Natanael <[email-masked]>
Date: Wed, 18 Jun 2014 22:47:20 +0200

Den 17 jun 2014 17:59 skrev "Isidor Zeuner" <[email-masked]>:
>
> quote:
> > Mike Hearn, why don't we just have all nodes report attempted double
spends
> > through the node network. No need to involve the miners at all really,
or
> > do your suggestion but also report the double spend attempt. By waiting
> > maybe 10-60 seconds (instead of 10 minutes for first conf), merchants
can
> > be more sure that a double spend attack was not tried. Attacker would
have
> > to hold back second tx by 10-60 seconds and hope that that second tx
(with
> > higher fee) get's into a solved block before the first one. This forced
> > delay time ought to make the attack less successful (but not
impossible).
> >
>
> What prevents the following steps from happening:
>
> 1. attacker sends first transaction, paying to the merchant
>
> 2. merchant waits 10-60 seconds
>
> 3. merchant confirms the payment as received
>
> 4. attacker sees merchant's confirmation
>
> 5. attacker sends double spend
>
> The security improvement seems to be pretty much exactly the chance
> that during the 10-60 seconds, a block is solved. Am I missing
> something?
>
> Regarding "reporting double spends", this would only help if it comes
> with some kind of penalty for the double spend. Now what if the double
> spend was not done on malicious motives? Maybe someone posted a
> transaction which does not confirm for some reason, and wants to
> recover his funds? Should we regard transactions which do not confirm
> as forever lost, in order to get to an "every double spend is a
> misbehaviour" policy?
>
> Best regards,
>
> Isidor

With 2-of-2 multisignature notaries, the doublespend (the set of
conflicting transactions) would be published and propagated together as
evidence of the notary being malicious. This is trivial and self-evident
self-contained proof.

But there should be no direct penalty IMHO in the Bitcoin protocol itself.

If a transaction would have to be replaced honestly because of being wrong
or simply not confirming, then I think there should be some means of
showing the second transaction is "legitimate". Don't ask me how exactly it
would work in practice, but one method could be through showing the
original recipients have signed off on it (showing they agree it should be
reversed).

If you can't get the original recipient to sign, then you're stuck with
either not replacing it or the notary trying to prove the replacing
transaction was legitimate.