Delivery-date: Thu, 19 Dec 2024 12:40:54 -0800 Received: from mail-yb1-f191.google.com ([209.85.219.191]) by mail.fairlystable.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1tONKH-0008S6-DE for bitcoindev@gnusha.org; Thu, 19 Dec 2024 12:40:53 -0800 Received: by mail-yb1-f191.google.com with SMTP id 3f1490d57ef6-e38dbc5d05bsf1945610276.1 for ; Thu, 19 Dec 2024 12:40:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1734640847; x=1735245647; darn=gnusha.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-sender:mime-version :subject:references:in-reply-to:message-id:to:from:date:sender:from :to:cc:subject:date:message-id:reply-to; bh=c4DwXfp0bHaqUNginupZ/d761dGORVofxQmbWXi/7FY=; b=uHyYvMiHlCKXgSMDGeNAgn2nLz3z16YjNnNjsNmEKR9lShUrzjxiL5nK577Ov31bli SQG9l7m1+ynhexpz85dj54vn23+KBGSaAptu2cN41qmsEgJP+OO60qvjO1C7h0bXRVkE tGrIjlIhKdqnfai1uuel7uOhx7/VPwqKoUpLekym1XT1jQ9pY8IIeRuR3vjZ+fDnlZ/X g+WeJYdByMPvVAgimhdr4a25viAD1TlgV05GpOc5JQcQxWlHUOk7N1XDeXbbX7TdAp0e z3QVJaZsQphhEH5uiLQBO00UIuhkZd32zM9ou1LnHiiAnEFWsfMP1k5E/ZQUKa+WPGqR BuIA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1734640847; x=1735245647; darn=gnusha.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-sender:mime-version :subject:references:in-reply-to:message-id:to:from:date:from:to:cc :subject:date:message-id:reply-to; bh=c4DwXfp0bHaqUNginupZ/d761dGORVofxQmbWXi/7FY=; b=PI7Hcab7o+YRNw0kO62k7hYNLePq69Oj0v/JUj6UvhtNBQZige9c5TNmAUa24O2Zdw a4Umi2Y1qQiqZuOZKT5AVv5ePbmvgCznEVt09oSF1oOZq0FpS2fe2oK6I+VpwIhmcs9w u8+rAR3w4MLYnpW/0A7gyHY/S2Y4SGVa+KaoIhZDNrLqFNEdOB4wIgePQV6AXNdZxh0v ba9AeYjvEj1aItOxUYyIqia8JVOQhWGazE4Qwmk3RP+L66ybmbBIAD/6NV6dHyM/GAy/ kRlAQe1iiByP0S2UWJkjTfmEhl4dCT3xIvbkdrZN/xUte0Ky+5vrtHwoVrECMzeZGGSX Z5lA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734640847; x=1735245647; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-sender:mime-version :subject:references:in-reply-to:message-id:to:from:date:x-beenthere :x-gm-message-state:sender:from:to:cc:subject:date:message-id :reply-to; bh=c4DwXfp0bHaqUNginupZ/d761dGORVofxQmbWXi/7FY=; b=KihA5NpuY3IpMWDz/R+cEUL+PURJaYM//Sz++D6zjLRY/el0eDfgI0ip0L8PrHzUYI F3iJGniP5EHfeUhCuyC1n3Tc97ekbXNTB90xu2XSHsayr5DK1Mz+tmG0bVRb8u57qf3z dQz81DRaL3rLiFEpT9qJVRnvUgNR0ulOeUyRDzk+dVXhMAZA91N1rJcW8iTkfFDU21UI 6AHRIxX18pD6Y1V0krRIUlquis/kVJG91PvNxtLzigwGtAM5fpVBycZ0oO+R16OZG9Tz WC9yF8CYIoODnMUqOQrOY+2uYTLvYLCusNXg0c5k4D2mv/yKTNTo0TdByjsF6pfsG9Bo r0Sg== Sender: bitcoindev@googlegroups.com X-Forwarded-Encrypted: i=1; AJvYcCWEzfn60/AL8Yo2v6xCi7dc4uxV0CM2LcZbKsBRQw+Kv5kgg1WPZEHT5yyc5c4sxfkqqzeUgJF94OUM@gnusha.org X-Gm-Message-State: AOJu0Yxup/4R/+mlemoPO+EETotgt0SC59As0IImLkVQQtoC86u5WV8W 079gopp+Ts/+ENKi19n5DYJxmBkaWaxxm2c6OeBExk2O6UiSK8I7 X-Google-Smtp-Source: AGHT+IGoGYMnjcxLMV/UvAy8vpvUlpYFMVDruEx3is6BfxQ/QPvH7U+J4pXneykqlpBJO8HjoZLNtg== X-Received: by 2002:a25:13c1:0:b0:e48:6cf9:4716 with SMTP id 3f1490d57ef6-e538c25eb48mr255859276.25.1734640846555; Thu, 19 Dec 2024 12:40:46 -0800 (PST) X-BeenThere: bitcoindev@googlegroups.com Received: by 2002:a25:aaab:0:b0:e38:8f42:e222 with SMTP id 3f1490d57ef6-e5382675542ls319033276.0.-pod-prod-08-us; Thu, 19 Dec 2024 12:40:44 -0800 (PST) X-Received: by 2002:a05:690c:7007:b0:6ef:c24e:5e2 with SMTP id 00721157ae682-6f3f8146101mr1352277b3.19.1734640843801; Thu, 19 Dec 2024 12:40:43 -0800 (PST) Received: by 2002:a0d:d202:0:b0:6ef:7d10:5a2f with SMTP id 00721157ae682-6f3f56f322bms7b3; Thu, 19 Dec 2024 12:00:56 -0800 (PST) X-Received: by 2002:a05:690c:6913:b0:6ef:8e8a:6348 with SMTP id 00721157ae682-6f3d269df4fmr70087757b3.42.1734638455465; Thu, 19 Dec 2024 12:00:55 -0800 (PST) Date: Thu, 19 Dec 2024 12:00:55 -0800 (PST) From: Anders To: Bitcoin Development Mailing List Message-Id: In-Reply-To: References: Subject: Re: [bitcoindev] Double Exponential Hash Rate Growth and Difficulty Adjustment MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_7506_507713653.1734638455147" X-Original-Sender: blabline@gmail.com Precedence: list Mailing-list: list bitcoindev@googlegroups.com; contact bitcoindev+owners@googlegroups.com List-ID: X-Google-Group-Id: 786775582512 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Score: -0.5 (/) ------=_Part_7506_507713653.1734638455147 Content-Type: multipart/alternative; boundary="----=_Part_7507_1589389550.1734638455147" ------=_Part_7507_1589389550.1734638455147 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Okay, that sounds like a simple and clever approach without the need for a= =20 hard fork. On Thursday, December 19, 2024 at 8:48:10=E2=80=AFPM UTC+1 Michael Cassano = wrote: > Hi Anders, > > Thank you for the question. > > A solution is to keep miners on SHA256 (instead of switching to a hash=20 > that allows for a larger range of difficulty targets) but to require them= =20 > to hash again to achieve a secondary difficulty target. > > At max target difficulty miners would publish blocks when SHA256(header)= =20 > =3D=3D 1 and when SHA256(SHA256(header)) <=3D secondary_target where=20 > secondary_target adjusts up and down if primary_target is 1 (where=20 > primary_target represents today's target difficulty). > > Nodes then verify blocks by checking that SHA256(header) is =3D=3D 1 and = that=20 > SHA256(SHA256(header) is less than secondary_target. > > Best regards, > Mike > > On Wed, Dec 18, 2024 at 6:21=E2=80=AFPM Anders wrote: > >> Hi, >> >> I've been looking into the long-term implications of the Bitcoin hash=20 >> rate growth for the difficulty adjustment mechanism, and I'd like to=20 >> discuss a potential concern related to double exponential growth. >> >> As we know, the difficulty adjustment mechanism aims to maintain an=20 >> average block time of approximately 10 minutes by adjusting the target= =20 >> value every 2016 blocks. This target value, when represented in=20 >> hexadecimal, effectively determines the number of leading zeros required= =20 >> for a valid block hash. >> >> The Bitcoin hash rate has historically shown a strong exponential growth= =20 >> trend, driven by advancements in ASIC technology. However, some=20 >> observations suggest that this growth might be accelerating, potentially= =20 >> exhibiting double exponential growth (meaning the rate of exponential=20 >> growth is itself increasing exponentially). >> >> If the hash rate were to continue to grow at a double exponential rate,= =20 >> the difficulty would need to increase at an accelerating pace to maintai= n=20 >> the 10-minute block time. This would mean the number of leading zeros in= =20 >> the target value would also need to increase at an accelerating rate. >> >> Since the target value is a 256-bit number (64 hexadecimal digits),=20 >> there's a finite limit to the number of leading zeros it can have. With= =20 >> approximately 19-20 leading zeros currently observed, there are only abo= ut=20 >> 44-45 zeros "left" before reaching this limit. >> >> My concern is that with double exponential hash rate growth, we could=20 >> reach this limit much faster than a simple linear projection would sugge= st,=20 >> potentially within a decade. Once this limit is reached, the current=20 >> difficulty adjustment mechanism would become ineffective, potentially=20 >> 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= =20 >> assess the likelihood of double exponential growth? Are there any existi= ng=20 >> studies or analyses I should be aware of? >> >> 2. If double exponential growth continues, what are the most promising= =20 >> approaches to address this potential issue in the long term? >> >> 3. What are the trade-offs associated with different solutions, such as= =20 >> more frequent difficulty adjustments, changing the difficulty adjustment= =20 >> algorithm, or changing the proof-of-work algorithm entirely? >> >> Thanks, >> >> Anders >> >> --=20 >> You received this message because you are subscribed to the Google Group= s=20 >> "Bitcoin Development Mailing List" group. >> To unsubscribe from this group and stop receiving emails from it, send a= n=20 >> email to bitcoindev+...@googlegroups.com. >> To view this discussion visit=20 >> https://groups.google.com/d/msgid/bitcoindev/e86753f2-1c79-484d-8f61-47a= 5dd148b45n%40googlegroups.com=20 >> >> . >> > --=20 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 e= mail to bitcoindev+unsubscribe@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/= ab246ea3-36ae-4c87-b4d1-32b0ec4f2603n%40googlegroups.com. ------=_Part_7507_1589389550.1734638455147 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Okay, that sounds like a simple and clever approach without the need for a = hard fork.

On Thursday, December 19, 2024 at 8:48:10=E2=80=AFPM UTC+1 Mic= hael Cassano wrote:
Hi Anders,

Thank you for the que= stion.

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

At max target difficulty miners would publ= ish blocks when SHA256(header) =3D=3D 1 and when SHA256(SHA256(header)) <= ;=3D 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 SHA25= 6(header) is =3D=3D 1 and that SHA256(SHA256(header) is less than secondary= _target.

Best regards,
Mike
<= br>
On Wed, Dec 18, 2024 at 6:21=E2=80=AFPM Anders &l= t;blab...@gmail.com> wrot= e:
Hi,

I&= #39;ve been looking into the long-term implications of the Bitcoin hash rat= e growth for the difficulty adjustment mechanism, and I'd like to discu= ss a potential concern related to double exponential growth.

As we k= now, the difficulty adjustment mechanism aims to maintain an average block = time of approximately 10 minutes by adjusting the target value every 2016 b= locks. This target value, when represented in hexadecimal, effectively dete= rmines the number of leading zeros required for a valid block hash.

= The Bitcoin hash rate has historically shown a strong exponential growth tr= end, driven by advancements in ASIC technology. However, some observations = suggest that this growth might be accelerating, potentially exhibiting doub= le exponential growth (meaning the rate of exponential growth is itself inc= reasing exponentially).

If the hash rate were to continue to grow at= a double exponential rate, the difficulty would need to increase at an acc= elerating pace to maintain the 10-minute block time. This would mean the nu= mber 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 h= exadecimal digits), there's a finite limit to the number of leading zer= os it can have. With approximately 19-20 leading zeros currently observed, = there are only about 44-45 zeros "left" before reaching this limi= t.

My concern is that with double exponential hash rate growth, we c= ould reach this limit much faster than a simple linear projection would sug= gest, potentially within a decade. Once this limit is reached, the current = difficulty adjustment mechanism would become ineffective, potentially leadi= ng 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 approache= s to address this potential issue in the long term?

3. What a= re the trade-offs associated with different solutions, such as more frequen= t 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 &= quot;Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an e= mail to bitcoindev+...@googlegro= ups.com.
To view this discussion visit https= ://groups.google.com/d/msgid/bitcoindev/e86753f2-1c79-484d-8f61-47a5dd148b4= 5n%40googlegroups.com.

--
You received this message because you are subscribed to the Google Groups &= quot;Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an e= mail to bitcoind= ev+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoind= ev/ab246ea3-36ae-4c87-b4d1-32b0ec4f2603n%40googlegroups.com.
------=_Part_7507_1589389550.1734638455147-- ------=_Part_7506_507713653.1734638455147--