From: Pieter Wuille <pieter.wuille@gmail.com>
To: Sergio Demian Lerner <sergio.d.lerner@gmail.com>
Cc: Bitcoin Dev <bitcoin-dev@lists.linuxfoundation.org>
Subject: Re: [bitcoin-dev] If you had a single chance to double the transactions/second Bitcoin allows...
Date: Tue, 11 Aug 2015 00:31:33 +0200 [thread overview]
Message-ID: <CAPg+sBi3pvrbxH6uM0pcOqvZVjOWU0LACRtQe5pps5Jv4-3eXA@mail.gmail.com> (raw)
In-Reply-To: <CAKzdR-rr6TACfxt84SeKWdbP=8YsFtDsc7DTSriiFjeffbbTiQ@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 4000 bytes --]
On Aug 11, 2015 12:11 AM, "Sergio Demian Lerner" <sergio.d.lerner@gmail.com>
wrote:
> What I'm saying is that this ratio may have improved 20x since miners
began using the TheBlueMatt relay network, so deteriorating the ratio 2x
does not put miners in a unknown future, but in an future which is far
better than the state they were a year ago.
It's still worse than doubling the block size, which was your main argument.
> But SPV mining has improved the ratio another 2x (because headers can be
pushed even faster, fit in a single network packet, and can do without
inv/getdata round-trips because they basically "pay" for the bandwidth
usage by its own proof of work).
> With a better wire protocol you can "propagate" a 10 MB block faster that
the time it takes currently to propagate an empty block.
> So 10x deterioration of the ratio would be still something acceptable.
So yes, better relay protocols (whether you consider "SPV mining" a form of
that or not) reduce the effect of the block size. That does not give any
benefit for reduced interblock times.
Your argument seems to be "centralization pressure is not bad now, because
it already improved a lot... so we can make it worse again by reducing
interblock time"? I disagree that it is not bad, and shorter blocks have
other downsides which were already mentioned.
>> Also, you seem to consider SPV mining a good thing?
>
> I'm not saying it's a good thing. I'm saying that it's impossible to
avoid. It's a real incentive. It must exists so Bitcoin is incentive
compatible. We can talk for hours and hours and we won't prevent miners
from doing it. I predicted it back in 2013, without even being a miner
myself. It's here to stay. Forever. It's a pity Greg chose that awful name
of "SPV" mining instead some cool name like "Instant" mining that we could
market as Bitcoin latest feature :)
>> It requires trust between miners that know eachother, and fundamentally
breaks the security assumption of SPV clients...
>
> No is does not.
The SPV security assumption is that no hashrate majority will collude in
order to make my transactions incorrectly look confirmed.
With validation-less mining, even a 0.1% hashrate that is part of a group
with 60% hashrate is enough to make that happen.
Of course they won't intentionally do that. No other miner would agree to
do validation-less mining with them again, making it harder for them to
compete. So it is not permissionless: you get higher profitability by
making an agreement with the largest hashrate. I think that is a much worse
centralization effect than having an optional centralized relay network
available... there could even be multiple such networks.
> The incentive follows directly from the cheating cost (the subsidy). Even
if I don't know you, I know you wouldn't waste 25 BTC to try to cheat me
for 25 BTC with a probability of 1/100, that's for sure. On average, you
loose 24.75 BTC per cheat attempt.
Per cheat attempt, or per bug.
> SPV mining incentive will stay until there is no subsidy, as many other
incentives. SPV mining also must be there to prevent malicious actors from
DoS-ing the relay network. If it's there, then the DoS incentive disappears.
>
> Let's code "instant" mining into Bitcoin Core, and do it right.
I thought about this too. Since headers-first it would be trivial to do: if
our best header is ahead of our best block, hand out an empty template in
createblocktemplate, and we're done.
Unfortunately, Greg Maxwell pointed out that this (even with a time limit)
amplifies selfish mining, since I can propagate headers before propagating
blocks, in order to make others temporarily work on top of my chain.
> Also as Michael Rudy points out, higher block rate means lower variance,
and that's good for miners. Last, as I already said, having a lower average
block interval strengthens Bitcoin value proposition, so miners would be
delighted that their bitcoins are more worthy.
Only a small constant factor, but yes.
--
Pieter
[-- Attachment #2: Type: text/html, Size: 4629 bytes --]
prev parent reply other threads:[~2015-08-10 22:31 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-07 21:18 [bitcoin-dev] If you had a single chance to double the transactions/second Bitcoin allows Sergio Demian Lerner
2015-08-07 21:27 ` Mark Friedenbach
2015-08-07 21:37 ` Sergio Demian Lerner
2015-08-07 22:46 ` Natanael
2015-08-07 23:01 ` Mark Friedenbach
2015-08-07 23:08 ` Sergio Demian Lerner
2015-08-07 23:17 ` Mark Friedenbach
2015-08-10 20:44 ` Michael Ruddy
2015-08-10 21:01 ` Pieter Wuille
2015-08-10 22:11 ` Sergio Demian Lerner
2015-08-10 22:31 ` Pieter Wuille [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAPg+sBi3pvrbxH6uM0pcOqvZVjOWU0LACRtQe5pps5Jv4-3eXA@mail.gmail.com \
--to=pieter.wuille@gmail.com \
--cc=bitcoin-dev@lists.linuxfoundation.org \
--cc=sergio.d.lerner@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox