Return-Path: <jakob.ronnback@me.com> Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id E3CFD87A for <bitcoin-dev@lists.linuxfoundation.org>; Fri, 14 Aug 2015 14:20:21 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from st11p02im-asmtp002.me.com (st11p02im-asmtp002.me.com [17.172.220.114]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 0BAAA89 for <bitcoin-dev@lists.linuxfoundation.org>; Fri, 14 Aug 2015 14:20:20 +0000 (UTC) Received: from [10.0.1.60] (h-29-43.a159.priv.bahnhof.se [79.136.29.43]) by st11p02im-asmtp002.me.com (Oracle Communications Messaging Server 7.0.5.35.0 64bit (built Mar 31 2015)) with ESMTPSA id <0NT200XC3T5B0W30@st11p02im-asmtp002.me.com> for bitcoin-dev@lists.linuxfoundation.org; Fri, 14 Aug 2015 14:20:02 +0000 (GMT) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.14.151,1.0.33,0.0.0000 definitions=2015-08-14_06:2015-08-13, 2015-08-14, 1970-01-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1412110000 definitions=main-1508140207 Content-type: multipart/alternative; boundary="Apple-Mail=_C90B9614-0E4D-4ABB-8414-3DEB6C12246E" MIME-version: 1.0 (Mac OS X Mail 8.2 \(2102\)) From: =?utf-8?Q?Jakob_R=C3=B6nnb=C3=A4ck?= <jakob.ronnback@me.com> In-reply-to: <CADZB0_YvvDDq4XzfvQeeWJ2oZxPukP0oXYSrEeC3gy9_Fk0ZuA@mail.gmail.com> Date: Fri, 14 Aug 2015 16:19:58 +0200 Message-id: <D018B1B0-B613-4C05-84BB-02CE6E2FEA3E@me.com> References: <09C8843E-8379-404D-8357-05BDB1F749C1@me.com> <CADZB0_YvvDDq4XzfvQeeWJ2oZxPukP0oXYSrEeC3gy9_Fk0ZuA@mail.gmail.com> To: Angel Leon <gubatron@gmail.com> X-Mailer: Apple Mail (2.2102) X-Spam-Status: No, score=-3.6 required=5.0 tests=BAYES_00,HTML_MESSAGE, RCVD_IN_DNSWL_LOW,RP_MATCHES_RCVD autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Cc: bitcoin-dev@lists.linuxfoundation.org Subject: Re: [bitcoin-dev] Adjusted difficulty depending on relative blocksize X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Development Discussion <bitcoin-dev.lists.linuxfoundation.org> List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>, <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe> List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/> List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org> List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help> List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>, <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=subscribe> X-List-Received-Date: Fri, 14 Aug 2015 14:20:22 -0000 --Apple-Mail=_C90B9614-0E4D-4ABB-8414-3DEB6C12246E Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Hmm=E2=80=A6 well, yes and no. Mostly no :) The main idea i was trying to describe was that the actual difficulty = for the block could be adjusted according to how much the size of the = proposed block differ compared to the average size of blocks in the = previous difficulty period. Unless I=E2=80=99m being very dense atm your = gist is just about dynamically adjusting the blocksize? I=E2=80=99ll give a numeric example to clarify a bit. Assume the current difficulty was calculated to be 1000, and the average = size of the blocks in the period used to calculate the difficulty was = 500kb. Example 1: I=E2=80=99m now attempting to find a new block with a size of 450 kb, or = 450/500 =3D 10% smaller than average. The difficulty would then be 1000 = * 110% =3D 1100 Example 2: If I instead was trying to make a block sized 10000 kb, or 10000/500 =3D = 2000% bigger than average the difficulty would be adjusted to 1000*20 =3D = 20000 Why I find this interesting is in a possible future when the block = reward is insignificant compared to the transactions fees miners would = make bigger blocks as fees rise. A miner could include more transactions = into blocks as long as the fees are high enough to offset the reduced = chance of actually finding the block. However, I now realize that there = wouldn=E2=80=99t be any downward pressure below the average size if the = price shrinks (using the particular numbers i have in my examples) = though. Maybe this method is only useful on the upside of the blocks, = meaning blocks smaller than the average size doesn=E2=80=99t get = adjusted difficulty. I need to go for a walk and think this through :) > 14 aug 2015 kl. 15:32 skrev Angel Leon <gubatron@gmail.com>: >=20 > Like this? > https://gist.github.com/gubatron/143e431ee01158f27db4 = <https://gist.github.com/gubatron/143e431ee01158f27db4> >=20 > http://twitter.com/gubatron <http://twitter.com/gubatron> >=20 > On Fri, Aug 14, 2015 at 5:59 AM, Jakob R=C3=B6nnb=C3=A4ck = <bitcoin-dev@lists.linuxfoundation.org = <mailto:bitcoin-dev@lists.linuxfoundation.org>> wrote: > Greetings, >=20 > a thought occurred to me that I would love to hear what some bitcoin = experts think about. >=20 > What if one were to adjust the difficulty (for individual blocks) = depending on the relative size to the average block size of the previous = difficulty period? (I apologize if i=E2=80=99m not using the correct = terms, I=E2=80=99m not a real programmer, and I=E2=80=99ve only recently = started to subscribe to the mailing list) >=20 >=20 > In practice: >=20 > 1. calculate average block size for the previous difficulty period (is = it 2016-blocks?) > 2. when trying to find a new block adjust the difficulty by adding the = relative size difference. For instance, if i=E2=80=99m trying to create = a block half (or double) the size of the average block size for the = previous difficulty period then my difficulty will be 2x the normal = one=E2=80=A6 if I=E2=80=99m trying to make one that is 30% bigger (or = smaller) then the difficulty is 1.3 times the normal one >=20 >=20 > Right now this would force miners to make blocks as close to 1mb as = possible (since the block reward >> fees). But unless I=E2=80=99m = mistaken sometime in the future the block size should be adjusted to = maximize the fees=E2=80=A6 >=20 >=20 > Could the concept be useful somehow? >=20 > I apologize if it=E2=80=99s been discussed before or if it=E2=80=99s a = stupid idea, I would have run it by some other people, but I=E2=80=99m = afraid I don=E2=80=99t know anyone that have any interest in bitcoin. >=20 > Regards > /jakob > _______________________________________________ > bitcoin-dev mailing list > bitcoin-dev@lists.linuxfoundation.org = <mailto:bitcoin-dev@lists.linuxfoundation.org> > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev = <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev> >=20 --Apple-Mail=_C90B9614-0E4D-4ABB-8414-3DEB6C12246E Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 <html><head><meta http-equiv=3D"Content-Type" content=3D"text/html = charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; = -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" = class=3D"">Hmm=E2=80=A6 well, yes and no. Mostly no :)<div class=3D""><br = class=3D""></div><div class=3D"">The main idea i was trying to describe = was that the actual difficulty for the block could be adjusted according = to how much the size of the proposed block differ compared to the = average size of blocks in the previous difficulty period. Unless I=E2=80=99= m being very dense atm your gist is just about dynamically adjusting the = blocksize?</div><div class=3D""><br class=3D""></div><div class=3D""><div = class=3D""><br class=3D""></div><div class=3D""> I=E2=80=99ll give = a numeric example to clarify a bit.</div><div class=3D""><br = class=3D""></div><div class=3D"">Assume the current difficulty was = calculated to be 1000, and the average size of the blocks in the period = used to calculate the difficulty was 500kb.</div><div class=3D"">Example = 1:</div><div class=3D"">I=E2=80=99m now attempting to find a new block = with a size of 450 kb, or 450/500 =3D 10% smaller than average. The = difficulty would then be 1000 * 110% =3D 1100</div><div class=3D"">Example= 2:</div><div class=3D"">If I instead was trying to make a block sized = 10000 kb, or 10000/500 =3D 2000% bigger than average the difficulty = would be adjusted to 1000*20 =3D 20000</div><div class=3D""><br = class=3D""></div><div class=3D""><br class=3D""></div><div class=3D"">Why = I find this interesting is in a possible future when the block reward is = insignificant compared to the transactions fees miners would make bigger = blocks as fees rise. A miner could include more transactions into blocks = as long as the fees are high enough to offset the reduced chance of = actually finding the block. However, I now realize that there wouldn=E2=80= =99t be any downward pressure below the average size if the price = shrinks (using the particular numbers i have in my examples) though. = Maybe this method is only useful on the upside of the blocks, meaning = blocks smaller than the average size doesn=E2=80=99t get adjusted = difficulty. I need to go for a walk and think this through :)</div><div = class=3D""><br class=3D""></div><div class=3D""><br class=3D""></div><div = class=3D""><div class=3D""><div class=3D""><div><blockquote type=3D"cite" = class=3D""><div class=3D"">14 aug 2015 kl. 15:32 skrev Angel Leon <<a = href=3D"mailto:gubatron@gmail.com" = class=3D"">gubatron@gmail.com</a>>:</div><br = class=3D"Apple-interchange-newline"><div class=3D""><div dir=3D"ltr" = class=3D"">Like this?<br class=3D""><a = href=3D"https://gist.github.com/gubatron/143e431ee01158f27db4" = class=3D"">https://gist.github.com/gubatron/143e431ee01158f27db4</a><br = class=3D""></div><div class=3D"gmail_extra"><br clear=3D"all" = class=3D""><div class=3D""><div class=3D"gmail_signature"><a = href=3D"http://twitter.com/gubatron" target=3D"_blank" = class=3D"">http://twitter.com/gubatron</a><br class=3D""></div></div> <br class=3D""><div class=3D"gmail_quote">On Fri, Aug 14, 2015 at 5:59 = AM, Jakob R=C3=B6nnb=C3=A4ck <span dir=3D"ltr" class=3D""><<a = href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org" target=3D"_blank" = class=3D"">bitcoin-dev@lists.linuxfoundation.org</a>></span> = wrote:<br class=3D""><blockquote class=3D"gmail_quote" style=3D"margin:0 = 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Greetings,<br = class=3D""> <br class=3D""> a thought occurred to me that I would love to hear what some bitcoin = experts think about.<br class=3D""> <br class=3D""> What if one were to adjust the difficulty (for individual blocks) = depending on the relative size to the average block size of the previous = difficulty period? (I apologize if i=E2=80=99m not using the correct = terms, I=E2=80=99m not a real programmer, and I=E2=80=99ve only recently = started to subscribe to the mailing list)<br class=3D""> <br class=3D""> <br class=3D""> In practice:<br class=3D""> <br class=3D""> 1. calculate average block size for the previous difficulty period (is = it 2016-blocks?)<br class=3D""> 2. when trying to find a new block adjust the difficulty by adding the = relative size difference. For instance, if i=E2=80=99m trying to create = a block half (or double) the size of the average block size for the = previous difficulty period then my difficulty will be 2x the normal = one=E2=80=A6 if I=E2=80=99m trying to make one that is 30% bigger (or = smaller) then the difficulty is 1.3 times the normal one<br class=3D""> <br class=3D""> <br class=3D""> Right now this would force miners to make blocks as close to 1mb as = possible (since the block reward >> fees). But unless I=E2=80=99m = mistaken sometime in the future the block size should be adjusted to = maximize the fees=E2=80=A6<br class=3D""> <br class=3D""> <br class=3D""> Could the concept be useful somehow?<br class=3D""> <br class=3D""> I apologize if it=E2=80=99s been discussed before or if it=E2=80=99s a = stupid idea, I would have run it by some other people, but I=E2=80=99m = afraid I don=E2=80=99t know anyone that have any interest in bitcoin.<br = class=3D""> <br class=3D""> Regards<br class=3D""> /jakob<br class=3D""> _______________________________________________<br class=3D""> bitcoin-dev mailing list<br class=3D""> <a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org" = class=3D"">bitcoin-dev@lists.linuxfoundation.org</a><br class=3D""> <a href=3D"https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev"= rel=3D"noreferrer" target=3D"_blank" = class=3D"">https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev<= /a><br class=3D""> </blockquote></div><br class=3D""></div> </div></blockquote></div><br = class=3D""></div></div></div></div></body></html>= --Apple-Mail=_C90B9614-0E4D-4ABB-8414-3DEB6C12246E--