Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 662D0D01 for ; Fri, 18 Dec 2015 20:10:04 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-vk0-f53.google.com (mail-vk0-f53.google.com [209.85.213.53]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 42FE9108 for ; Fri, 18 Dec 2015 20:10:03 +0000 (UTC) Received: by mail-vk0-f53.google.com with SMTP id j66so71694161vkg.1 for ; Fri, 18 Dec 2015 12:10:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jtimon-cc.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=XMLg+mFoatkDpTGTOcZ7c2YHhIKwPGUXdi8XdtHkiL8=; b=BKkaeiPKqXWY2tqptpcocjHKFJ0iB/j36ZpKBwzpt0JEYpfJH3Nmu9ymhK0UnMkNfw o4mt6pXWBM3h45S/hRyk8p18xBjC2EFPpDCZd72FxAY8g3i35AKPDDhmg8qr7pkJDTjv w6VhqCJPFnfVWxg+NHfQbvyl4ZJYiArdD+xu4MXpyXdROI4u7aZWNUEqT2Dpu93mmORO lwUPVPQg5+H1GBDHE/jLFTczcvres2qiZo6Lson9THtugtTTWMo915/JjzyfBssd/B2O +KR42IwVODxBvC5hv/2fD57CCBLuhhr8TtoXP2ejNbHK3YsTcodbcDqAji5c9faltjDH OCnw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=XMLg+mFoatkDpTGTOcZ7c2YHhIKwPGUXdi8XdtHkiL8=; b=mnX7t2u3nFNewQbdcoHJtyEw0dmKooWIi0k+3mLQBq65M1jPsKvPOgwqlUsT0+73JU r3VUpCp0qGIahvey0hgy1AsPZNDitbCL41dF9OKVFR8IWvVaKgcLPG8ff3TiQmW5150Z E7E6LfAThqCSmyDeCgailotnYHy6NwOX2sdB8NNsKya42+l8JZBuvbmNWFpBg2TshAp4 WtvoWVtwQdElIqdH8S6gCAVpYPthVhezhcdWKEZdzE/UDLTRlWjSpB83SAsZPd315Ihi 3fQpVtlwwimyF0tzMPotAe+rQz4FsZWNr7FI/ACMuAjsFpHUvL2aMXmSntcNaho6DNdg ydvA== X-Gm-Message-State: ALoCoQmk+sTtKEw60Iud9wi02GApoPKhlEI+j4u8rW2rr0SeLW5x9j4GOZ3hs7nVeuN7tjlaZc22uI5r0WZUFRhWBcWdeTccGg== MIME-Version: 1.0 X-Received: by 10.31.16.226 with SMTP id 95mr3421442vkq.143.1450469402502; Fri, 18 Dec 2015 12:10:02 -0800 (PST) Received: by 10.31.236.70 with HTTP; Fri, 18 Dec 2015 12:10:02 -0800 (PST) Received: by 10.31.236.70 with HTTP; Fri, 18 Dec 2015 12:10:02 -0800 (PST) In-Reply-To: References: Date: Fri, 18 Dec 2015 21:10:02 +0100 Message-ID: From: =?UTF-8?B?Sm9yZ2UgVGltw7Nu?= To: Jeff Garzik Content-Type: multipart/alternative; boundary=001a114339407eb52d052731b91f X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,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 Cc: Bitcoin Dev Subject: Re: [bitcoin-dev] The increase of max block size should be determined by block height instead of block time X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Development Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Dec 2015 20:10:04 -0000 --001a114339407eb52d052731b91f Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Well, if it's not going to be height, I think median time of the previous block is better than the time of the current one, and would also solve Chun Wang's concerns. But as said I prefer to use heights that correspond to diff recalculation (because that's the window that bip9 will use for the later 95% confirmation anyway). On Dec 18, 2015 9:02 PM, "Jeff Garzik" wrote: > From a code standpoint, based off height is easy. > > My first internal version triggered on block 406,800 (~May 5), and each > block increased by 20 bytes thereafter. > > It was changed to time, because time was the standard used in years past > for other changes; MTP flag day is more stable than block height. > > It is preferred to have a single flag trigger (height or time), rather > than the more complex trigger-on-time, increment-on-height, but any > combination of those will work. > > Easy to change code back to height-based... > > > > On Fri, Dec 18, 2015 at 2:52 PM, Jorge Tim=C3=B3n < > bitcoin-dev@lists.linuxfoundation.org> wrote: > >> I agree that nHeight is the simplest option and is my preference. >> Another option is to use the median time from the previous block (thus >> you know whether or not the next block should start the miner confirmati= on >> or not). In fact, if we're going to use bip9 for 95% miner upgrade >> confirmation, it would be nice to always pick a difficulty retarget bloc= k >> (ie block.nHeight % DifficultyAdjustmentInterval =3D=3D 0). >> Actually I would always have an initial height in bip9, for softforks to= o. >> I would also use the sign bit as the "hardfork bit" that gets activated >> for the next diff interval after 95% is reached and a hardfork becomes >> active (that way even SPV nodes will notice when a softfork or hardfork >> happens and also be able to tell which one is it). >> I should update bip99 with all this. And if the 2 mb bump is >> uncontroversial, maybe I can add that to the timewarp fix and th recover= y >> of the other 2 bits in block.nVersion (given that bip102 doesn't seem to >> follow bip99's recommendations and doesn't want to give 6 full months as >> the pre activation grace period). >> On Dec 18, 2015 8:17 PM, "Chun Wang via bitcoin-dev" < >> bitcoin-dev@lists.linuxfoundation.org> wrote: >> >>> In many BIPs we have seen, include the latest BIP202, it is the block >>> time that determine the max block size. From from pool's point of >>> view, it cannot issue a job with a fixed ntime due to the existence of >>> ntime roll. It is hard to issue a job with the max block size unknown. >>> For developers, it is also easier to implement if max block size is a >>> function of block height instead of time. Block height is also much >>> more simple and elegant than time. >>> _______________________________________________ >>> bitcoin-dev mailing list >>> bitcoin-dev@lists.linuxfoundation.org >>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev >>> >> >> _______________________________________________ >> bitcoin-dev mailing list >> bitcoin-dev@lists.linuxfoundation.org >> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev >> >> > --001a114339407eb52d052731b91f Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

Well, if it's not going to be height, I think median tim= e of the previous block is better than the time of the current one, and wou= ld also solve Chun Wang's concerns.
But as said I prefer to use heights that correspond to diff recalculation (= because that's the window that bip9 will use for the later 95% confirma= tion anyway).

On Dec 18, 2015 9:02 PM, "Jeff Garzik"= <jgarzik@gmail.com> wrote:<= br type=3D"attribution">
Fro= m a code standpoint, based off height is easy.

My first = internal version triggered on block 406,800 (~May 5), and each block increa= sed by 20 bytes thereafter.

It was changed to time= , because time was the standard used in years past for other changes; MTP f= lag day is more stable than block height.

It is pr= eferred to have a single flag trigger (height or time), rather than the mor= e complex trigger-on-time, increment-on-height, but any combination of thos= e will work.

Easy to change code back to height-ba= sed...


=
On Fri, Dec 18, 2015 at 2:52 PM, Jorge Tim= =C3=B3n <bitcoin-dev@lists.linuxfoundation.org>= wrote:

I agree tha= t nHeight is the simplest option and is my preference.
Another option is to use the median time from the previous block (thus you = know whether or not the next block should start the miner confirmation or n= ot). In fact, if we're going to use bip9=C2=A0 for 95% miner upgrade co= nfirmation, it would be nice to always pick a difficulty retarget block (ie= block.nHeight % DifficultyAdjustmentInterval =3D=3D 0).
Actually I would always have an initial height in bip9, for softforks too.<= br> I would also use the sign bit as the "hardfork bit" that gets act= ivated for the next diff interval after 95% is reached and a hardfork becom= es active (that way even SPV nodes will notice when a softfork=C2=A0 or har= dfork happens and also be able to tell which one is it).
I should update bip99 with all this. And if the 2 mb bump is uncontroversia= l, maybe I can add that to the timewarp fix and th recovery of the other 2 = bits in block.nVersion (given that bip102 doesn't seem to follow bip99&= #39;s recommendations and doesn't want to give 6 full months as the pre= activation grace period).

On Dec 18, 2015 8:17 PM, "Chun Wang via bit= coin-dev" <bitcoin-dev@lists.linuxfoundation.org> wrote:
In many BIPs we have se= en, include the latest BIP202, it is the block
time that determine the max block size. From from pool's point of
view, it cannot issue a job with a fixed ntime due to the existence of
ntime roll. It is hard to issue a job with the max block size unknown.
For developers, it is also easier to implement if max block size is a
function of block height instead of time. Block height is also much
more simple and elegant than time.
_______________________________________________
bitcoin-dev mailing list
= bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mail= man/listinfo/bitcoin-dev

_______________________________________________
bitcoin-dev mailing list
= bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mail= man/listinfo/bitcoin-dev


--001a114339407eb52d052731b91f--