public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Michael Cassano <mcassano@gmail•com>
To: Anders <blabline@gmail•com>
Cc: Bitcoin Development Mailing List <bitcoindev@googlegroups.com>
Subject: Re: [bitcoindev] Double Exponential Hash Rate Growth and Difficulty Adjustment
Date: Thu, 19 Dec 2024 10:25:34 -0700	[thread overview]
Message-ID: <CAAg3Je1hVqcR_DGZEXhaeO7CEU1k-SLx_1QX=XmnS2Bn11joXw@mail.gmail.com> (raw)
In-Reply-To: <e86753f2-1c79-484d-8f61-47a5dd148b45n@googlegroups.com>

[-- Attachment #1: Type: text/plain, Size: 4136 bytes --]

Hi Anders,

Thank you for the question.

A solution is to keep miners on SHA256 (instead of switching to a hash that
allows for a larger range of difficulty targets) but to require them to
hash again to achieve a secondary difficulty target.

At max target difficulty miners would publish blocks when SHA256(header) ==
1 and when SHA256(SHA256(header)) <= secondary_target where
secondary_target adjusts up and down if primary_target is 1 (where
primary_target represents today's target difficulty).

Nodes then verify blocks by checking that SHA256(header) is == 1 and that
SHA256(SHA256(header) is less than secondary_target.

Best regards,
Mike

On Wed, Dec 18, 2024 at 6:21 PM Anders <blabline@gmail•com> wrote:

> Hi,
>
> I've been looking into the long-term implications of the Bitcoin hash rate
> growth for the difficulty adjustment mechanism, and I'd like to discuss a
> potential concern related to double exponential growth.
>
> As we know, the difficulty adjustment mechanism aims to maintain an
> average block time of approximately 10 minutes by adjusting the target
> value every 2016 blocks. This target value, when represented in
> hexadecimal, effectively determines the number of leading zeros required
> for a valid block hash.
>
> The Bitcoin hash rate has historically shown a strong exponential growth
> trend, driven by advancements in ASIC technology. However, some
> observations suggest that this growth might be accelerating, potentially
> exhibiting double exponential growth (meaning the rate of exponential
> growth is itself increasing exponentially).
>
> If the hash rate were to continue to grow at a double exponential rate,
> the difficulty would need to increase at an accelerating pace to maintain
> the 10-minute block time. This would mean the number of leading zeros in
> the target value would also need to increase at an accelerating rate.
>
> Since the target value is a 256-bit number (64 hexadecimal digits),
> there's a finite limit to the number of leading zeros it can have. With
> approximately 19-20 leading zeros currently observed, there are only about
> 44-45 zeros "left" before reaching this limit.
>
> My concern is that with double exponential hash rate growth, we could
> reach this limit much faster than a simple linear projection would suggest,
> potentially within a decade. Once this limit is reached, the current
> difficulty adjustment mechanism would become ineffective, potentially
> leading to unstable block times and network instability.
>
> My questions for the list are:
>
> 1. Has there been more formal analysis of the Bitcoin hash rate trend to
> assess the likelihood of double exponential growth? Are there any existing
> studies or analyses I should be aware of?
>
> 2. If double exponential growth continues, what are the most promising
> approaches to address this potential issue in the long term?
>
> 3. What are the trade-offs associated with different solutions, such as
> more frequent difficulty adjustments, changing the difficulty adjustment
> algorithm, or changing the proof-of-work algorithm entirely?
>
> Thanks,
>
> Anders
>
> --
> You received this message because you are subscribed to the Google Groups
> "Bitcoin Development Mailing List" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to bitcoindev+unsubscribe@googlegroups•com.
> To view this discussion visit
> https://groups.google.com/d/msgid/bitcoindev/e86753f2-1c79-484d-8f61-47a5dd148b45n%40googlegroups.com
> <https://groups.google.com/d/msgid/bitcoindev/e86753f2-1c79-484d-8f61-47a5dd148b45n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups "Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bitcoindev+unsubscribe@googlegroups•com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/CAAg3Je1hVqcR_DGZEXhaeO7CEU1k-SLx_1QX%3DXmnS2Bn11joXw%40mail.gmail.com.

[-- Attachment #2: Type: text/html, Size: 4984 bytes --]

  reply	other threads:[~2024-12-19 19:48 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-19  1:19 Anders
2024-12-19 17:25 ` Michael Cassano [this message]
2024-12-19 20:00   ` Anders

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='CAAg3Je1hVqcR_DGZEXhaeO7CEU1k-SLx_1QX=XmnS2Bn11joXw@mail.gmail.com' \
    --to=mcassano@gmail$(echo .)com \
    --cc=bitcoindev@googlegroups.com \
    --cc=blabline@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