Subject: Re: [Bitcoin-development] Discovery/addr packets (was: Service bits for pruned nodes)

From: John Dillon <[email-masked]>
Date: Thu, 9 May 2013 00:57:42 +0000

> > You mean scam you with a zero-conf transaction that hasn't actually been
> > broadcast?
>
> Yeah. Or just scam you at all. It's hard to imagine an organisation as
> a big as a mobile carrier engaging in financial scamming (roaming fees
> excepted).

Unless the government told them too.

> I've said this before, but I think it's worth repeating. The
> double-spend protection the block chain gives you has a sweet spot
> where it's really, really valuable (essential even) and then there are
> lots of kinds of transactions on either side of that sweet spot that
> don't really benefit from it.
>
> Obvious/trivial case where you don't need a block chain - Facebook
> buys Instagram for a gajillion coins. The legal system is plenty good
> enough to ensure the payments are honoured. Another example, when my
> employer pays me my salary. They aren't going to double spend this
> except through some horrible accident that we can get sorted out some
> other way.

The employer example actually shows something important: between a worker and
an employer double-spending already irrelevant. People get paid after they work
their two weeks not before, so the double-spend is already irrelevant.

However when your employer pays you on the blockchain until the transaction
confirms for someone else to accept funds from that payment they not only have
to trust you, but also the employer. Sure they could take it as "you said you
would apy me so it is your responsibility to make that happen" but that brings
a whole new level of complexity.

A scheme where you vouch for your payments with your identity can benifit from
being able to follow that chain all the way back to the last confirmed
transaction, although actually implementing this may be too complex to be
worthwhile, especially initially.

> Another case, very small payments. This is Satoshi's bag of crisps
> example. If the cost/complexity of double spending is higher than what
> the payment is worth, again, you don't really need the block chain.
> That's why it's worth optimising unconfirmed transactions to be harder
> to double spend, it optimises (pushes up) that lower bar.

Yes. But the issue is how are you going to optmize it? By adding yet more
restrictions and limitations on those who chose to run a node or mining
operation, or by actually fixing the trust issue? We know you can do the
latter, so do not sacrifice Bitcoin's core layer in silly attempts to make
double-spends harder. Fundementally Bitcoin has exactly one way of achieving
consensus, and that is the blockchain.

It must be your right to chose what transactins you chose to mine and chose to
relay. End of story. Bitcoin is not about imposing regulation on those who
choose to use it.

> Place where you really want the chain - largeish sums of money are
> moving around, but not large enough to justify expensive
> cross-jurisdictional legal action, or where the cost of identity
> verification and all the associated paperwork is just too high. I
> guess most online transactions fall into this bucket today.

Indeed. Especially for the most popular use of Bitcoin as a payment system:
buying things PayPal won't let you. In that circumstance the only leverage you
have is the protections of the blockchain and the damage you can do to the
other (often anonymous) parties reputation.