Return-Path: <david.vorick@gmail.com> Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 08AE1B6B for <bitcoin-dev@lists.linuxfoundation.org>; Mon, 13 Mar 2017 10:35:42 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-wr0-f169.google.com (mail-wr0-f169.google.com [209.85.128.169]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 0C63DCB for <bitcoin-dev@lists.linuxfoundation.org>; Mon, 13 Mar 2017 10:35:40 +0000 (UTC) Received: by mail-wr0-f169.google.com with SMTP id g10so100604686wrg.2 for <bitcoin-dev@lists.linuxfoundation.org>; Mon, 13 Mar 2017 03:35:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=x2dKbX1cRjwrjh4eoiFDTuYMs1A54WbDhlZhkOTXFQY=; b=rQI/kGsmSBojJhm/GP724f5+iQeL4xhAYjCV3QZhRyaajrJNIiZTkLDrjszKsCuk5d 7ysk3RE6V3DlAbj6NXWnF8+JrhE9Cqr2UQvlKajkoj/+lwewkTBdURKP0k7hksFIOiqk 5FWWTyJTGG50WCjOQvYwXNkqBvGQ8cqX1hsp8XbgZCYyqkIwoRfNyAcwd28DrnkjUkJG 77KtRLMI4BGxolie20BSbypgsZBaFYlMNNVnuY7+X7iQlAYRDg/VMb3FPTrJ5he2Oduh ABatwkHdJ0aAJpyDxSGHKnBYtE8O4Be7mjy8lKVbvZMtE/Xww6Go268jz76eIiMkMRh8 2efw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=x2dKbX1cRjwrjh4eoiFDTuYMs1A54WbDhlZhkOTXFQY=; b=TJznGR9RqTDCMvCn/JUTa1Yahreupc7s89571XGQmyqxkqA0Rwydkc0dUoBgmGBixO AvYo1F0nu0/U7etHphbQfxiD9yiqsLNDXD8JnWXo/nyyq627PH+thjQlxrV6IBikd9MO WerV1gwanwu+A5hOe9GV7qbRBtfVvRBqvlbGd8me0vhzN9AGSOHd9qA7KgztCyVsBZQM 6xV5aB7mg4JCQUPOIZ3RQpUuF8dnDgkcWmoGMbjsVmT4yY1unZjfpvoayxCk2jiHHnGR 14AygSvT0v6jk1fIJmrhRsOKdhVs+Z7t8RnlR6PoYrXfefH/enHLFt1J30TLcWN29eB0 p6Sw== X-Gm-Message-State: AMke39mf16fi5RJ/yfw4GlOFwcKjVZL/K6nOilREw4w/5Phj4AoNCO3jaK7BM6JwbiYOGmrxgHa1HEoPNEihpA== X-Received: by 10.223.161.213 with SMTP id v21mr25295952wrv.144.1489401339548; Mon, 13 Mar 2017 03:35:39 -0700 (PDT) MIME-Version: 1.0 Received: by 10.28.92.193 with HTTP; Mon, 13 Mar 2017 03:35:38 -0700 (PDT) Received: by 10.28.92.193 with HTTP; Mon, 13 Mar 2017 03:35:38 -0700 (PDT) In-Reply-To: <CANN4kmc1R8t66Gja_fNKMHTRpo41Rpt7V+OeAW8dLBOtFdAzQw@mail.gmail.com> References: <OUzy7vvSKdJW7OCcCNCbaVDT-hJcf7Fy3fxEi_z6AmBC3VY0dGZpSBOGxRs-fVE-CfOVToCjjwB-meqejkb4VXYAGu0HHPTzNFhomEhgVpk=@protonmail.ch> <CANN4kmc1R8t66Gja_fNKMHTRpo41Rpt7V+OeAW8dLBOtFdAzQw@mail.gmail.com> From: David Vorick <david.vorick@gmail.com> Date: Mon, 13 Mar 2017 06:35:38 -0400 Message-ID: <CAFVRnyqAtNLqd=a53yQovjFBzY6YXmc6jpXNYYUKouzdSksBBQ@mail.gmail.com> To: Nick ODell <nickodell@gmail.com>, Bitcoin Dev <bitcoin-dev@lists.linuxfoundation.org> Content-Type: multipart/alternative; boundary=f403045f21eac5a7d9054a9a457a X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, HTML_MESSAGE, HTML_OBFUSCATE_05_10, RCVD_IN_DNSWL_NONE 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] Flag day activation of segwit X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Protocol 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, 13 Mar 2017 10:35:43 -0000 --f403045f21eac5a7d9054a9a457a Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable That's simply a 51% attack choosing to censor transactions. We could do that today, ban all transactions that aren't approved by the PBoC. You respond to that with a PoW hardfork, or by finding some way to prop up / subsidize non-censorship miners. On Mar 13, 2017 5:59 AM, "Nick ODell via bitcoin-dev" < bitcoin-dev@lists.linuxfoundation.org> wrote: > The problem with modifying Bitcoin to work around community norms is that > it's a two-way street. Other people can do it too. > > Let me propose a counter-fork, or a "Double UASF." This is also a BIP9 > fork, and it uses, say, bit 2. starttime is 1489449600, and the end time = is > 1506812400. It enforces every rule that UASF enforces, plus one additiona= l > rule. If 60% of blocks in any retargeting period signal for Double UASF, > any descendant block that creates or spends a segregated witness output i= s > invalid. > > Double UASF signaling never coincides with UASF signaling, because the > signaling periods don't overlap. Full nodes happily validate the chain, > because Double UASF doesn't break any rules; it just adds new ones. Miner= s > who adopt Double UASF don't need to understand segwit, because all segwit > transactions are banned. Miners don't need to commit to a wtxid structure= , > either. Per BIP 141, "If all transactions in a block do not have witness > data, the commitment is optional." Segwit is activated, but useless. Mine= rs > who *do* adopt segwit will lose money, as their blocks are orphaned. > > Thanks, > --Nick > > On Sun, Mar 12, 2017 at 9:50 AM, shaolinfry via bitcoin-dev < > bitcoin-dev@lists.linuxfoundation.org> wrote: > >> I recently posted about so called "user activated soft forks" and >> received a lot of feedback. Much of this was how such methodologies coul= d >> be applied to segwit which appears to have fallen under the miner veto >> category I explained in my original proposal, where there is apparently = a >> lot of support for the proposal from the economy, but a few mining pools >> are vetoing the activation. >> >> It turns out Bitcoin already used flag day activation for P2SH[1 >> <https://github.com/bitcoin/bitcoin/blob/v0.6.0/src/main.cpp#L1281-L1283= >], >> a soft fork which is remarkably similar to segwit. The disadvantage of a >> UASF for segwit is there is an existing deployment. A UASF would require >> another wide upgrade cycle (from what I can see, around 80% of existing >> nodes have upgraded from pre-witness, to NODE_WITNESS capability[2 >> <http://luke.dashjr.org/programs/bitcoin/files/charts/services.html>][3 >> <https://www.reddit.com/r/Bitcoin/comments/5yyqt1/evidence_of_widespread= _segwit_support_near50_of/>]. >> While absolute node count is meaningless, the uprgrade trend from versio= n >> to version seems significant. >> >> Also it is quite clear a substantial portion of the ecosystem industry >> has put in time and resources into segwit adoption, in the form of >> upgrading wallet code, updating libraries and various other integration >> work that requires significant time and money. Further more, others have >> built systems that rely on segwit, having put significant engineering >> resources into developing systems that require segwit - such as several >> lightning network system. This is much more significant social proof tha= n >> running a node. >> >> The delayed activation of segwit is also holding back a raft protocol of >> innovations such as MAST, Covenants, Schnorr signature schemes and >> signature aggregation and other script innovations of which, much of the >> development work is already done. >> >> A better option would be to release code that causes the existing segwit >> deployment to activate without requiring a completely new deployment nor >> subject to hash power veto. This could be achieved if the economic major= ity >> agree to run code that rejects non-signalling segwit blocks. Then from t= he >> perspective of all existing witness nodes, miners trigger the BIP9 >> activation. Such a rule could come into effect 4-6 weeks before the BIP9 >> timeout. If a large part of the economic majority publicly say that they >> will adopt this new client, miners will have to signal bip9 segwit >> activation in order for their blocks to be valid. >> >> I have drafted a BIP proposal so the community may discuss >> https://gist.github.com/shaolinfry/743157b0b1ee14e1ddc95031f1057e4c (ful= l >> text below). >> >> References: >> [1]: https://github.com/bitcoin/bitcoin/blob/v0.6.0/src/ >> main.cpp#L1281-L1283 >> [2]: http://luke.dashjr.org/programs/bitcoin/files/charts/services.html >> [3]: https://www.reddit.com/r/Bitcoin/comments/5yyqt1/eviden >> ce_of_widespread_segwit_support_near50_of/ >> >> Proposal text: >> >> <pre> >> BIP: bip-segwit-flagday >> Title: Flag day activation for segwit deployment >> Author: Shaolin Fry <shaolinfry@protonmail.ch> >> Comments-Summary: No comments yet. >> Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-???? >> Status: Draft >> Type: Informational >> Created: 2017-03-12 >> License: BSD-3-Clause >> CC0-1.0 >> </pre> >> >> =3D=3DAbstract=3D=3D >> >> This document specifies a BIP16 like soft fork flag day activation of th= e segregated witness BIP9 deployment known as "segwit". >> >> =3D=3DDefinitions=3D=3D >> >> "existing segwit deployment" refer to the BIP9 "segwit" deployment using= bit 1, between November 15th 2016 and November 15th 2017 to activate BIP14= 1, BIP143 and BIP147. >> >> =3D=3DMotivation=3D=3D >> >> Cause the mandatory activation of the existing segwit deployment before = the end of midnight November 15th 2017. >> >> =3D=3DSpecification=3D=3D >> >> All times are specified according to median past time. >> >> This BIP will be activate between midnight October 1st 2017 (epoch time = 1538352000) and midnight November 15th 2017 (epoch time 1510704000) if the = existing segwit deployment is not activated before epoch time 1538352000. T= his BIP will cease to be active when the existing segwit deployment activat= es. >> >> While this BIP is active, all blocks must set the nVersion header top 3 = bits to 001 together with bit field (1<<1) (according to the existing segwi= t deployment). Blocks that do not signal as required will be rejected. >> >> =3D=3D=3D Reference implementation =3D=3D=3D >> >> <pre> >> // mandatory segwit activation between Oct 1st 2017 and Nov 15th 2017 in= clusive >> if (pindex->GetMedianTimePast() >=3D 1538352000 && pindex->GetMedianTime= Past() <=3D 1510704000 && !IsWitnessEnabled(pindex->pprev, chainparams.GetC= onsensus())) { >> if (!((pindex->nVersion & VERSIONBITS_TOP_MASK) =3D=3D VERSIONBITS_T= OP_BITS) && (pindex->nVersion & VersionBitsMask(params, Consensus::DEPLOYME= NT_SEGWIT)) !=3D 0) { >> return state.DoS(2, error("ConnectBlock(): relayed block must si= gnal for segwit, please upgrade"), REJECT_INVALID, "bad-no-segwit"); >> } >> } >> </pre> >> >> =3D=3DBackwards Compatibility=3D=3D >> >> This deployment is compatible with the existing "segwit" bit 1 deploymen= t scheduled between midnight November 15th, 2016 and midnight November 15th= , 2017. >> >> =3D=3DRationale=3D=3D >> >> Historically, the P2SH soft fork (BIP16) was activated using a predeterm= ined flag day where nodes began enforcing the new rules. P2SH was successfu= lly activated with relatively few issues >> >> By orphaning non-signalling blocks during the last month of the BIP9 bit= 1 "segwit" deployment, this BIP can cause the existing "segwit" deployment= to activate without needing to release a new deployment. >> >> =3D=3DReferences=3D=3D >> >> [https://github.com/bitcoin/bitcoin/blob/v0.6.0/src/main.cpp#L1281-L1283= P2SH flag day activation]. >> >> =3D=3DCopyright=3D=3D >> >> This document is placed in the public domain. >> >> >> >> >> _______________________________________________ >> 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 > > --f403045f21eac5a7d9054a9a457a Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <div dir=3D"auto">That's simply a 51% attack choosing to censor transac= tions. We could do that today, ban all transactions that aren't approve= d by the PBoC.<div dir=3D"auto"><br></div><div dir=3D"auto">You respond to = that with a PoW hardfork, or by finding some way to prop up / subsidize non= -censorship miners.</div></div><div class=3D"gmail_extra"><br><div class=3D= "gmail_quote">On Mar 13, 2017 5:59 AM, "Nick ODell via bitcoin-dev&quo= t; <<a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org">bitcoin-dev= @lists.linuxfoundation.org</a>> wrote:<br type=3D"attribution"><blockquo= te class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc so= lid;padding-left:1ex"><div dir=3D"ltr"><div><div>The problem with modifying= Bitcoin to work around community norms is that it's a two-way street. = Other people can do it too.</div><div><br></div><div>Let me propose a count= er-fork, or a "Double UASF." This is also a BIP9 fork, and it use= s, say, bit 2. starttime is 1489449600, and the end time is 1506812400. It = enforces every rule that UASF enforces, plus one additional rule. If 60% of= blocks in any retargeting period signal for Double UASF, any descendant bl= ock that creates or spends a segregated witness output is invalid.</div><di= v><br></div><div>Double UASF signaling never coincides with UASF signaling,= because the signaling periods don't overlap. Full nodes happily valida= te the chain, because Double UASF doesn't break any rules; it just adds= new ones. Miners who adopt Double UASF don't need to understand segwit= , because all segwit transactions are banned. Miners don't need to comm= it to a wtxid structure, either. Per BIP 141, "If all transactions in = a block do not have witness data, the commitment is optional." Segwit = is activated, but useless. Miners who *do* adopt segwit will lose money, as= their blocks are orphaned.</div><div><br></div><div>Thanks,</div><div>--Ni= ck</div></div></div><div class=3D"gmail_extra"><br><div class=3D"gmail_quot= e">On Sun, Mar 12, 2017 at 9:50 AM, shaolinfry via bitcoin-dev <span dir=3D= "ltr"><<a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org" target= =3D"_blank">bitcoin-dev@lists.<wbr>linuxfoundation.org</a>></span> wrote= :<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-le= ft:1px #ccc solid;padding-left:1ex"><div style=3D"color:rgb(85,85,85);font-= family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:14px= ;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;f= ont-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;te= xt-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(= 255,255,255)">I recently posted about so called "user activated soft f= orks" and received a lot of feedback. Much of this was how such method= ologies could be applied to segwit which appears to have fallen under the m= iner veto category I explained in my original proposal, where there is appa= rently a lot of support for the proposal from the economy, but a few mining= pools are vetoing the activation.<br></div><div style=3D"color:rgb(85,85,8= 5);font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-s= ize:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:= normal;font-weight:normal;letter-spacing:normal;text-align:start;text-inden= t:0px;text-transform:none;white-space:normal;word-spacing:0px;background-co= lor:rgb(255,255,255)"><br></div><div style=3D"color:rgb(85,85,85);font-fami= ly:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:14px;fon= t-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-= weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-t= ransform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,= 255,255)">It turns out Bitcoin already used flag day activation for P2SH[<a= rel=3D"noreferrer nofollow noopener" title=3D"1" href=3D"https://github.co= m/bitcoin/bitcoin/blob/v0.6.0/src/main.cpp#L1281-L1283" target=3D"_blank">1= </a>], a soft fork which is remarkably similar to segwit. The disadvantage = of a UASF for segwit is there is an existing deployment. A=C2=A0UASF would = require another wide upgrade cycle (from what I can see, around 80% of exis= ting nodes have upgraded from pre-witness, to NODE_WITNESS capability[<a re= l=3D"noreferrer nofollow noopener" title=3D"2" href=3D"http://luke.dashjr.o= rg/programs/bitcoin/files/charts/services.html" target=3D"_blank">2</a>][<a= rel=3D"noreferrer nofollow noopener" title=3D"3" href=3D"https://www.reddi= t.com/r/Bitcoin/comments/5yyqt1/evidence_of_widespread_segwit_support_near5= 0_of/" target=3D"_blank">3</a>]. While absolute node count is meaningless, = the uprgrade trend from version to version seems significant.<br></div><div= style=3D"color:rgb(85,85,85);font-family:Arial,"Helvetica Neue",= Helvetica,sans-serif;font-size:14px;font-style:normal;font-variant-ligature= s:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;= text-align:start;text-indent:0px;text-transform:none;white-space:normal;wor= d-spacing:0px;background-color:rgb(255,255,255)"><br></div><div style=3D"co= lor:rgb(85,85,85);font-family:Arial,"Helvetica Neue",Helvetica,sa= ns-serif;font-size:14px;font-style:normal;font-variant-ligatures:normal;fon= t-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:s= tart;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0p= x;background-color:rgb(255,255,255)">Also it is quite clear a substantial p= ortion of the ecosystem industry has put in time and resources into segwit = adoption, in the form of upgrading wallet code, updating libraries and vari= ous other integration work that requires significant time and money. Furthe= r more, others have built systems that rely on segwit, having put significa= nt engineering resources into developing systems that require segwit - such= as several lightning network system. This is much more significant social = proof than running a node.<br></div><div style=3D"color:rgb(85,85,85);font-= family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:14px= ;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;f= ont-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;te= xt-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(= 255,255,255)"><br></div><div style=3D"color:rgb(85,85,85);font-family:Arial= ,"Helvetica Neue",Helvetica,sans-serif;font-size:14px;font-style:= normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:n= ormal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform= :none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255)= ">The delayed activation of segwit is also holding back a raft protocol of = innovations such as MAST, Covenants, Schnorr signature schemes and signatur= e aggregation and other script innovations of which, much of the developmen= t work is already done.<br></div><div style=3D"color:rgb(85,85,85);font-fam= ily:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:14px;fo= nt-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font= -weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-= transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255= ,255,255)"><br></div><div style=3D"color:rgb(85,85,85);font-family:Arial,&q= uot;Helvetica Neue",Helvetica,sans-serif;font-size:14px;font-style:nor= mal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:norm= al;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:no= ne;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255)">A= better option would be to release code that causes the existing segwit dep= loyment to activate without requiring a completely new deployment nor subje= ct to hash power veto. This could be achieved if the economic majority agre= e to run code that rejects non-signalling segwit blocks. Then from the pers= pective of all existing witness nodes, miners trigger the BIP9 activation. = Such a rule could come into effect 4-6 weeks before the BIP9 timeout. If a = large part of the economic majority publicly say that they will adopt this = new client, miners will have to signal bip9 segwit activation in order for = their blocks to be valid.<br></div><div style=3D"color:rgb(85,85,85);font-f= amily:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:14px;= font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;fo= nt-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;tex= t-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(2= 55,255,255)"><br></div><div style=3D"color:rgb(85,85,85);font-family:Arial,= "Helvetica Neue",Helvetica,sans-serif;font-size:14px;font-style:n= ormal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:no= rmal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:= none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255)"= >I have drafted a BIP proposal so the community may discuss<span class=3D"m= _-4531826650403942488m_-7504212461893498665Apple-converted-space">=C2=A0</s= pan><a href=3D"https://gist.github.com/shaolinfry/743157b0b1ee14e1ddc95031f= 1057e4c" rel=3D"noreferrer nofollow noopener" target=3D"_blank">https://gis= t.github.co<wbr>m/shaolinfry/743157b0b1ee14e1d<wbr>dc95031f1057e4c</a>=C2= =A0(full text below).<br></div><div style=3D"color:rgb(85,85,85);font-famil= y:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:14px;font= -style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-w= eight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-tr= ansform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,2= 55,255)"><br></div><div style=3D"color:rgb(85,85,85);font-family:Arial,&quo= t;Helvetica Neue",Helvetica,sans-serif;font-size:14px;font-style:norma= l;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:normal= ;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none= ;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255)">Ref= erences:<br></div><div style=3D"color:rgb(85,85,85);font-family:Arial,"= ;Helvetica Neue",Helvetica,sans-serif;font-size:14px;font-style:normal= ;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:normal;= letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;= white-space:normal;word-spacing:0px;background-color:rgb(255,255,255)">[1]:= =C2=A0<a href=3D"https://github.com/bitcoin/bitcoin/blob/v0.6.0/src/main.cp= p#L1281-L1283" rel=3D"noreferrer nofollow noopener" target=3D"_blank">https= ://github.com/bitcoi<wbr>n/bitcoin/blob/v0.6.0/src/<wbr>main.cpp#L1281-L128= 3</a><br></div><div style=3D"color:rgb(85,85,85);font-family:Arial,"He= lvetica Neue",Helvetica,sans-serif;font-size:14px;font-style:normal;fo= nt-variant-ligatures:normal;font-variant-caps:normal;font-weight:normal;let= ter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;whi= te-space:normal;word-spacing:0px;background-color:rgb(255,255,255)">[2]:=C2= =A0<a href=3D"http://luke.dashjr.org/programs/bitcoin/files/charts/services= .html" rel=3D"noreferrer nofollow noopener" target=3D"_blank">http://luke.d= ashjr.org/pr<wbr>ograms/bitcoin/files/charts/se<wbr>rvices.html</a><br></di= v><div style=3D"color:rgb(85,85,85);font-family:Arial,"Helvetica Neue&= quot;,Helvetica,sans-serif;font-size:14px;font-style:normal;font-variant-li= gatures:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:n= ormal;text-align:start;text-indent:0px;text-transform:none;white-space:norm= al;word-spacing:0px;background-color:rgb(255,255,255)">[3]:=C2=A0<a href=3D= "https://www.reddit.com/r/Bitcoin/comments/5yyqt1/evidence_of_widespread_se= gwit_support_near50_of/" rel=3D"noreferrer nofollow noopener" target=3D"_bl= ank">https://www.reddit.com/r/<wbr>Bitcoin/comments/5yyqt1/eviden<wbr>ce_of= _widespread_segwit_suppor<wbr>t_near50_of/</a><br></div><div style=3D"color= :rgb(85,85,85);font-family:Arial,"Helvetica Neue",Helvetica,sans-= serif;font-size:14px;font-style:normal;font-variant-ligatures:normal;font-v= ariant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:star= t;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;b= ackground-color:rgb(255,255,255)"><br></div><div style=3D"color:rgb(85,85,8= 5);font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-s= ize:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:= normal;font-weight:normal;letter-spacing:normal;text-align:start;text-inden= t:0px;text-transform:none;white-space:normal;word-spacing:0px;background-co= lor:rgb(255,255,255)">Proposal text:<br></div><div style=3D"color:rgb(85,85= ,85);font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font= -size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-cap= s:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-ind= ent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-= color:rgb(255,255,255)"><br></div><pre style=3D"color:rgb(0,0,0);font-style= :normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:= normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transfor= m:none;word-spacing:0px;word-wrap:break-word;white-space:pre-wrap"><pre&= gt; BIP: bip-segwit-flagday Title: Flag day activation for segwit deployment Author: Shaolin Fry <<a href=3D"mailto:shaolinfry@protonmail.ch" targe= t=3D"_blank">shaolinfry@protonmail.ch</a>> Comments-Summary: No comments yet. Comments-URI: <a href=3D"https://github.com/bitcoin/bips/wiki/Comments:BI= P-" target=3D"_blank">https://github.com/bitcoin/bip<wbr>s/wiki/Comments:BI= P-</a>???? Status: Draft Type: Informational Created: 2017-03-12 License: BSD-3-Clause CC0-1.0 </pre> =3D=3DAbstract=3D=3D This document specifies a BIP16 like soft fork flag day activation of the s= egregated witness BIP9 deployment known as "segwit". =3D=3DDefinitions=3D=3D "existing segwit deployment" refer to the BIP9 "segwit"= deployment using bit 1, between November 15th 2016 and November 15th 2017 = to activate BIP141, BIP143 and BIP147. =3D=3DMotivation=3D=3D Cause the mandatory activation of the existing segwit deployment before the= end of midnight November 15th 2017. =3D=3DSpecification=3D=3D All times are specified according to median past time. This BIP will be activate between midnight October 1st 2017 (epoch time 153= 8352000) and midnight November 15th 2017 (epoch time 1510704000) if the exi= sting segwit deployment is not activated before epoch time 1538352000. This= BIP will cease to be active when the existing segwit deployment activates. While this BIP is active, all blocks must set the nVersion header top 3 bit= s to 001 together with bit field (1<<1) (according to the existing se= gwit deployment). Blocks that do not signal as required will be rejected. =3D=3D=3D Reference implementation =3D=3D=3D <pre> // mandatory segwit activation between Oct 1st 2017 and Nov 15th 2017 inclu= sive if (pindex->GetMedianTimePast() >=3D 1538352000 && pindex->= ;GetMedianTimePast() <=3D 1510704000 && !IsWitnessEnabled(pindex= ->ppre<wbr>v, chainparams.GetConsensus())) { if (!((pindex->nVersion & VERSIONBITS_TOP_MASK) =3D=3D VERSIONBI= TS_TOP_BITS) && (pindex->nVersion & VersionBitsMask(params, = Consensus::DEPLOYMENT_SEGWIT)) !=3D 0) { return state.DoS(2, error("ConnectBlock(): relayed block must = signal for segwit, please upgrade"), REJECT_INVALID, "bad-no-segw= it"); } } </pre> =3D=3DBackwards Compatibility=3D=3D This deployment is compatible with the existing "segwit" bit 1 de= ployment scheduled between midnight November 15th, 2016 and midnight Novemb= er 15th, 2017. =3D=3DRationale=3D=3D Historically, the P2SH soft fork (BIP16) was activated using a predetermine= d flag day where nodes began enforcing the new rules. P2SH was successfully= activated with relatively few issues By orphaning non-signalling blocks during the last month of the BIP9 bit 1 = "segwit" deployment, this BIP can cause the existing "segwit= " deployment to activate without needing to release a new deployment. =3D=3DReferences=3D=3D [<a href=3D"https://github.com/bitcoin/bitcoin/blob/v0.6.0/src/main.cpp#L12= 81-L1283" target=3D"_blank">https://github.com/bitcoin/bi<wbr>tcoin/blob/v0= .6.0/src/main.cpp<wbr>#L1281-L1283</a> P2SH flag day activation]. =3D=3DCopyright=3D=3D This document is placed in the public domain. <br></pre><div style=3D"color:rgb(85,85,85);font-family:Arial,"Helveti= ca Neue",Helvetica,sans-serif;font-size:14px;font-style:normal;font-va= riant-ligatures:normal;font-variant-caps:normal;font-weight:normal;letter-s= pacing:normal;text-align:start;text-indent:0px;text-transform:none;white-sp= ace:normal;word-spacing:0px;background-color:rgb(255,255,255)"><br></div><d= iv><br></div><br>______________________________<wbr>_________________<br> bitcoin-dev mailing list<br> <a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org" target=3D"_blank">= bitcoin-dev@lists.linuxfoundat<wbr>ion.org</a><br> <a href=3D"https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev" = rel=3D"noreferrer" target=3D"_blank">https://lists.linuxfoundation.<wbr>org= /mailman/listinfo/bitcoin-d<wbr>ev</a><br> <br></blockquote></div><br></div> <br>______________________________<wbr>_________________<br> bitcoin-dev mailing list<br> <a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org">bitcoin-dev@lists.= <wbr>linuxfoundation.org</a><br> <a href=3D"https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev" = rel=3D"noreferrer" target=3D"_blank">https://lists.linuxfoundation.<wbr>org= /mailman/listinfo/bitcoin-<wbr>dev</a><br> <br></blockquote></div></div> --f403045f21eac5a7d9054a9a457a--