public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Rusty Russell <rusty@rustcorp•com.au>
To: Gregory Maxwell <gmaxwell@gmail•com>
Cc: Bitcoin Dev <bitcoin-development@lists•sourceforge.net>
Subject: Re: [Bitcoin-development] Increasing regularity of block times?
Date: Fri, 31 Oct 2014 14:01:12 +1030	[thread overview]
Message-ID: <87h9yk9apr.fsf@rustcorp.com.au> (raw)
In-Reply-To: <CAAS2fgRLoDLzzD3v9qizzhH_PM9Q_a7Dq6-8mrAYbKc1-P6aTg@mail.gmail.com>

Gregory Maxwell <gmaxwell@gmail•com> writes:
> On Thu, Oct 30, 2014 at 11:18 PM, Rusty Russell <rusty@rustcorp•com.au> wrote:
>> Hi all,
>>
>>         I've been toying with an algorithm to place a ceiling on
>> confirmation latency by allowing weaker blocks after a certain time.
>> Hope this isn't noise, but thought someone must have considered this
>> before, or know of flaws in the scheme?
>>
>> Gory details:
>> http://rustyrussell.github.io/pettycoin/2014/10/30/More-Regular-Block-Times.html
>
> Irregularity is a required property for convergence. Imagine what
> would happen in a network where a blocks were produced at an exact
> interval: Almost everyone would produce one the exact same time, and
> the network would fragment and because the process would continue it
> would not converge.

Your point is well made.

If everyone published their easy blocks at the 20 minute mark,
divergence would be a problem (though with 6/7 blocks being normal, the
network would probably recover).  I was proposing to relay them as
normal, they're just not accepted until 20 minutes.

(Though with the suggested variant of accepting the most-compatible
rather than first-seen block, this isn't so critical).

> It is precisely the variance  being some huge multiple of the network
> radius which allows the network to converge at all.

I hadn't thought about it that way, but I assumed GHOST mitigate this
down to some lower limit.  Or?

> Bitcoin testnet implements a rule that allows lower difficulty blocks
> after a delay (20 minutes, in fact), but it's a testing-toy... not
> secure or intended to be so. At least one altcoin has copied that
> behavior and been exploited on account of it.

Agreed, that would be foolish.  Note that in my proposal, block
timestamps wouldn't reflect the delay (removing incentive to push
timestamps forward, but making judging historical blockchain's validity
harder).

> If you're simply looking for faster evidence that the network is
> working on a particular transaction set, at some lower timescale:,
> then thats already possible.  e.g. look into how the p2pool sharechain
> builds a consensus around mining work used for pooling. The same
> mechanism can be used to give faster transaction selection evidence.

Nice idea.  Publishing WIP blocks like this could provide evidence, but
you'd have to incentivize miners to publish them.  Can you think of a
way to do that (which beats simply reducing the block time)?

> I'll dig up some citations for you later. Cheers.

Thanks for your time,
Rusty.



      reply	other threads:[~2014-10-31  3:49 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-30 23:18 Rusty Russell
2014-10-30 23:34 ` Jeff Garzik
2014-10-30 23:34 ` Gregory Maxwell
2014-10-31  3:31   ` Rusty Russell [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=87h9yk9apr.fsf@rustcorp.com.au \
    --to=rusty@rustcorp$(echo .)com.au \
    --cc=bitcoin-development@lists$(echo .)sourceforge.net \
    --cc=gmaxwell@gmail$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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