Return-Path: <rodney.morris@gmail.com> Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 817D29C for <bitcoin-dev@lists.linuxfoundation.org>; Mon, 17 Aug 2015 11:57:49 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-ig0-f172.google.com (mail-ig0-f172.google.com [209.85.213.172]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 8B85117F for <bitcoin-dev@lists.linuxfoundation.org>; Mon, 17 Aug 2015 11:57:48 +0000 (UTC) Received: by igxp17 with SMTP id p17so53720604igx.1 for <bitcoin-dev@lists.linuxfoundation.org>; Mon, 17 Aug 2015 04:57:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=gq0+4hcY5NFNGvxQE8RLDHH5IDeJV6bXC51yKXy/P6k=; b=lfus97CIbtygvZmJqj7Wc2rDk+9E0JNvsthkQzU/NXIpcJfI+BNPbnsTHFWCrVV9H6 76whCyZDZrs/x5dnsu8aTBLxIaDNdZ23m3aaEHPluI5HFaUz0zkF87ikLwxyVGFvR+mU 4DBTfhuSoLfxO0/MGZbupNzA88TcqsKlLLPXwrjsCGUKIsBw6Fp6+lGiEFG3Nuy66Zvt TlWDvngsdq3G6IT0X6PkX/+tYfTNgH+jR47CFGb0ovPNztHoWeVaVub/gZ76J6KVVXbu QuwI+xTsh+9xCW7tShDwdGxmJS5ELLdOErxyoXoAIb4xZxh5MkZ5CEnOl5jZZvOGuVEK GjzQ== MIME-Version: 1.0 X-Received: by 10.50.7.35 with SMTP id g3mr15557781iga.39.1439812667943; Mon, 17 Aug 2015 04:57:47 -0700 (PDT) Received: by 10.79.22.198 with HTTP; Mon, 17 Aug 2015 04:57:47 -0700 (PDT) Date: Mon, 17 Aug 2015 21:57:47 +1000 Message-ID: <CABerxhEwA7Pz0hdSuOf+RwWZiZpY1fSArB+UiyVUwr6S2fr3vQ@mail.gmail.com> From: Rodney Morris <rodney.morris@gmail.com> To: bitcoin-dev@lists.linuxfoundation.org Content-Type: multipart/alternative; boundary=089e0122eda89db35a051d8082c6 X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Subject: Re: [bitcoin-dev] Dynamically Controlled Bitcoin Block Size Max Cap 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: Mon, 17 Aug 2015 11:57:49 -0000 --089e0122eda89db35a051d8082c6 Content-Type: text/plain; charset=UTF-8 Words cannot capture how much I wish Satoshi had put logic like this (or even just a simple block size doubling every reward halving) in place when he put in the "temporary" 1MB anti-spam block size limit... I see problems to this approach. The biggest one I see is that a miner with 11% of hash power could sabotage block size increases by only ever mining empty blocks. I haven't run any statistics or simulations, but I'm concerned that the interplay between the random distribution of transaction arrival and the random distribution of block times may lead to false signals. A 90% full block 1 minute after the previous block is a more "serious" problem than a 90% full block 30 minutes after the previous block. A 90% full block after a 90% full block is a more "serious" problem than a 90% full block after an empty block. I would expect a robust approach in this manner to look at block sizes weighted by block times, but this is an interesting proposal regardless. But I think you'll run up against one of the great schisms in this debate - those that believe blocks should always be full (or close to it), to encourage a "fee market" and to encourage off-chain transactions, and those that think that the blockchain should be useable by almost anyone for almost anything, implying there should always be spare space in blocks, with off-chain transactions reserved for microtransactions and zero-conf (and possibly low-fee transactions). At least, that's my take on it. Rodney > > > Date: Mon, 17 Aug 2015 11:51:26 +0100 > From: Btc Drak <btcdrak@gmail.com> > To: Patrick Strateman <patrick.strateman@gmail.com> > Cc: Bitcoin Dev <bitcoin-dev@lists.linuxfoundation.org> > Subject: Re: [bitcoin-dev] Dynamically Controlled Bitcoin Block Size > Max Cap > Message-ID: > <CADJgMzvV7cSW9aBnAf5zX7FDxN5E=AW=rET2i9EnysLao= > vVyw@mail.gmail.com> > Content-Type: text/plain; charset="utf-8" > > On Mon, Aug 17, 2015 at 10:59 AM, Patrick Strateman via bitcoin-dev < > bitcoin-dev@lists.linuxfoundation.org> wrote: > > Nobody is going to click that... > > I guess I am nobody. Here's a copy of the text:- > > *Dynamically Controlled Bitcoin Block Size Max Cap > <http://upalc.com/maxblocksize.php>* > > *Assumption*: This article is for those, who already understand the bitcoin > protocol and aware of the block size controversy. Details of the problem > statement can be found in BIP 100 > <http://gtf.org/garzik/bitcoin/BIP100-blocksizechangeproposal.pdf>. > Satoshi's opinion regarding block size can be found here > <https://bitcointalk.org/index.php?topic=1347.msg15366#msg15366>. I will > be > directly going into the solution without explaining the problem in details. > > > *Solution*: Difficulty changes at every 2016 block, i.e. at every 2016 > block each full node does a calculation to find the next target. We will do > just another calculation here. Nodes will also calculate what % of blocks > in the last difficulty period is higher than 90% of the maximum block size, > which is 1 MB for now. If it is found that more than 90% blocks in the last > difficulty period is higher than 90% of the maximum block size, then double > the maximum block size. If not, then calculate what % of blocks in the last > difficulty period is less than 50% of the maximum block size. If it is > higher than 90%, then half the maximum block size. If none of the above > condition satisfies, keep the maximum block size as it is. > > Please note that, while calculating the % of blocks, it is better to take > into account the first 2000 of the 2016, than the whole of 2016. This helps > to avoid the calculation mistake if some of the last few blocks get > orphaned. > > > *Reasoning*: This solution is derived directly from the indication of the > problem. If transaction volume increases, then we will naturally see bigger > blocks. On the contrary, if there are not enough transaction volume, but > maximum block size is high, then only few blocks may sweep the mempool. > Hence, if block size is itself taken into consideration, then maximum block > size can most rationally be derived. Moreover, this solution not only > increases, but also decreases the maximum block size, just like difficulty. > > > *Other Solutions of this Problem*:- > > Making Decentralized Economic Policy > <http://gtf.org/garzik/bitcoin/BIP100-blocksizechangeproposal.pdf> - by > Jeff Garzik > > Elastic block cap with rollover penalties > <https://bitcointalk.org/index.php?topic=1078521> ? by Meni Rosenfeld > > Increase maximum block size > <https://github.com/bitcoin/bips/blob/master/bip-0101.mediawiki> - by > Gavin > Andresen > > Block size following technological growth > <https://gist.github.com/sipa/c65665fc360ca7a176a6> - by Pieter Wuille > > The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments > <https://lightning.network/lightning-network-paper.pdf> - by Joseph Poon & > Thaddeus Dryja > > > Please share your opinion regarding this solution below. For mail > communication, feel free to write me at bitcoin [at] upalc.com. > > --089e0122eda89db35a051d8082c6 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote"><div= >Words cannot capture how much I wish Satoshi had put logic like this (or e= ven just a simple block size doubling every reward halving) in place when h= e put in the "temporary" 1MB anti-spam block size limit...</div><= div><br></div><div>I see problems to this approach.=C2=A0 The biggest one I= see is that a miner with 11% of hash power could sabotage block size incre= ases by only ever mining empty blocks.</div><div><br></div><div>I haven'= ;t run any statistics or simulations, but I'm concerned that the interp= lay between the random distribution of transaction arrival and the random d= istribution of block times may lead to false signals.</div><div><br></div><= div>A 90% full block 1 minute after the previous block is a more "seri= ous" problem than a 90% full block 30 minutes after the previous block= .=C2=A0 A 90% full block after a 90% full block is a more "serious&quo= t; problem than a 90% full block after an empty block.</div><div><br></div>= <div>I would expect a robust approach in this manner to look at block sizes= weighted by block times, but this is an interesting proposal regardless.</= div><div><br></div><div>But I think you'll run up against one of the gr= eat schisms in this debate - those that believe blocks should always be ful= l (or close to it), to encourage a "fee market" and to encourage = off-chain transactions, and those that think that the blockchain should be = useable by almost anyone for almost anything, implying there should always = be spare space in blocks, with off-chain transactions reserved for microtra= nsactions and zero-conf (and possibly low-fee transactions).=C2=A0 At least= , that's my take on it.</div><div><br></div><div>Rodney</div><div><br><= /div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0= 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> <br><br> Date: Mon, 17 Aug 2015 11:51:26 +0100<br> From: Btc Drak <<a href=3D"mailto:btcdrak@gmail.com">btcdrak@gmail.com</= a>><br> To: Patrick Strateman <<a href=3D"mailto:patrick.strateman@gmail.com">pa= trick.strateman@gmail.com</a>><br> Cc: Bitcoin Dev <<a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org= ">bitcoin-dev@lists.linuxfoundation.org</a>><br> Subject: Re: [bitcoin-dev] Dynamically Controlled Bitcoin Block Size<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 Max Cap<br> Message-ID:<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 <CADJgMzvV7cSW9aBnAf5zX7FDxN5E=3DAW=3DrET2i9= EnysLao=3D<a href=3D"mailto:vVyw@mail.gmail.com">vVyw@mail.gmail.com</a>>= ;<br> Content-Type: text/plain; charset=3D"utf-8"<br> <br> On Mon, Aug 17, 2015 at 10:59 AM, Patrick Strateman via bitcoin-dev <<br= > <a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org">bitcoin-dev@lists.= linuxfoundation.org</a>> wrote:<br> > Nobody is going to click that...<br> <br> I guess I am nobody. Here's a copy of the text:-<br> <br> *Dynamically Controlled Bitcoin Block Size Max Cap<br> <<a href=3D"http://upalc.com/maxblocksize.php" rel=3D"noreferrer" target= =3D"_blank">http://upalc.com/maxblocksize.php</a>>*<br> <br> *Assumption*: This article is for those, who already understand the bitcoin= <br> protocol and aware of the block size controversy. Details of the problem<br= > statement can be found in BIP 100<br> <<a href=3D"http://gtf.org/garzik/bitcoin/BIP100-blocksizechangeproposal= .pdf" rel=3D"noreferrer" target=3D"_blank">http://gtf.org/garzik/bitcoin/BI= P100-blocksizechangeproposal.pdf</a>>.<br> Satoshi's opinion regarding block size can be found here<br> <<a href=3D"https://bitcointalk.org/index.php?topic=3D1347.msg15366#msg1= 5366" rel=3D"noreferrer" target=3D"_blank">https://bitcointalk.org/index.ph= p?topic=3D1347.msg15366#msg15366</a>>. I will be<br> directly going into the solution without explaining the problem in details.= <br> <br> <br> *Solution*: Difficulty changes at every 2016 block, i.e. at every 2016<br> block each full node does a calculation to find the next target. We will do= <br> just another calculation here. Nodes will also calculate what % of blocks<b= r> in the last difficulty period is higher than 90% of the maximum block size,= <br> which is 1 MB for now. If it is found that more than 90% blocks in the last= <br> difficulty period is higher than 90% of the maximum block size, then double= <br> the maximum block size. If not, then calculate what % of blocks in the last= <br> difficulty period is less than 50% of the maximum block size. If it is<br> higher than 90%, then half the maximum block size. If none of the above<br> condition satisfies, keep the maximum block size as it is.<br> <br> Please note that, while calculating the % of blocks, it is better to take<b= r> into account the first 2000 of the 2016, than the whole of 2016. This helps= <br> to avoid the calculation mistake if some of the last few blocks get<br> orphaned.<br> <br> <br> *Reasoning*: This solution is derived directly from the indication of the<b= r> problem. If transaction volume increases, then we will naturally see bigger= <br> blocks. On the contrary, if there are not enough transaction volume, but<br= > maximum block size is high, then only few blocks may sweep the mempool.<br> Hence, if block size is itself taken into consideration, then maximum block= <br> size can most rationally be derived. Moreover, this solution not only<br> increases, but also decreases the maximum block size, just like difficulty.= <br> <br> <br> *Other Solutions of this Problem*:-<br> <br> Making Decentralized Economic Policy<br> <<a href=3D"http://gtf.org/garzik/bitcoin/BIP100-blocksizechangeproposal= .pdf" rel=3D"noreferrer" target=3D"_blank">http://gtf.org/garzik/bitcoin/BI= P100-blocksizechangeproposal.pdf</a>> - by<br> Jeff Garzik<br> <br> Elastic block cap with rollover penalties<br> <<a href=3D"https://bitcointalk.org/index.php?topic=3D1078521" rel=3D"no= referrer" target=3D"_blank">https://bitcointalk.org/index.php?topic=3D10785= 21</a>> ? by Meni Rosenfeld<br> <br> Increase maximum block size<br> <<a href=3D"https://github.com/bitcoin/bips/blob/master/bip-0101.mediawi= ki" rel=3D"noreferrer" target=3D"_blank">https://github.com/bitcoin/bips/bl= ob/master/bip-0101.mediawiki</a>> - by Gavin<br> Andresen<br> <br> Block size following technological growth<br> <<a href=3D"https://gist.github.com/sipa/c65665fc360ca7a176a6" rel=3D"no= referrer" target=3D"_blank">https://gist.github.com/sipa/c65665fc360ca7a176= a6</a>> - by Pieter Wuille<br> <br> The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments<br> <<a href=3D"https://lightning.network/lightning-network-paper.pdf" rel= =3D"noreferrer" target=3D"_blank">https://lightning.network/lightning-netwo= rk-paper.pdf</a>> - by Joseph Poon &<br> Thaddeus Dryja<br> <br> <br> Please share your opinion regarding this solution below. For mail<br> communication, feel free to write me at bitcoin [at] <a href=3D"http://upal= c.com" rel=3D"noreferrer" target=3D"_blank">upalc.com</a>.<br> <br></blockquote></div></div></div> --089e0122eda89db35a051d8082c6--