public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Bob McElrath <bob_bitcoin@mcelrath•org>
To: Daniele Pinna <daniele.pinna@gmail•com>
Cc: Bitcoin Dev <bitcoin-dev@lists•linuxfoundation.org>
Subject: Re: [bitcoin-dev] bitcoin-dev Digest, Vol 10, Issue 13
Date: Wed, 9 Mar 2016 06:17:50 +0000	[thread overview]
Message-ID: <20160309061750.GB4388@mcelrath.org> (raw)
In-Reply-To: <CAEgR2PFByXpd5C7X2NUJYt+UE3ji6dd6M5LfZGQvg-QQV7fLnw@mail.gmail.com>

Daniele Pinna via bitcoin-dev [bitcoin-dev@lists•linuxfoundation.org] wrote:
> This seems unnecessarily complicated ("don't use cannon to kill mosquito" kind
> of thing). If the community were interested in a realtime hashrate rebalancing
> proposal one could simply adjust difficulty at each new block using the current
> method.

That proposal is equivalent to an under-damped oscillator, and would still see
significant oscillation between blocks if miners were switching on and off
hardware.

> If faster relaxation in case of adversity is required, it suspect that it would
> suffice to perform a weighted average of the previous 2016 blocks instead of
> the standard averaging that is currently done. It should be possible to find an
> optimal weighting based on historical interblock timing data. I look into it
> over the next couple of days.

The optimal solution is the one I quote, and is well known, just not in the
bitcoin community.

"faster relaxation time" refers to the time constant of the exponential damping.
if you make it too fast, you create an over-damped oscillator.  The system
cannot measure oscillation faster than the block time, so damping on shorter
timescales is useless.  The optimal damping is given by the critically damped
oscillator.

Tonight at BitDevsNYC, Mike Wozniak pointed out that SPV wallets must also
calculate retargeting, but this is a terribly simple calculation, and while more
complex from a coding perspective, would not be noticeable in run-time of SPV
wallets.

--
Cheers, Bob McElrath

"For every complex problem, there is a solution that is simple, neat, and wrong."
    -- H. L. Mencken 



      reply	other threads:[~2016-03-09  6:17 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mailman.6363.1457481624.1673.bitcoin-dev@lists.linuxfoundation.org>
2016-03-09  1:27 ` Daniele Pinna
2016-03-09  6:17   ` Bob McElrath [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=20160309061750.GB4388@mcelrath.org \
    --to=bob_bitcoin@mcelrath$(echo .)org \
    --cc=bitcoin-dev@lists$(echo .)linuxfoundation.org \
    --cc=daniele.pinna@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