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&#39;s simply a 51% attack choosing to censor transac=
tions. We could do that today, ban all transactions that aren&#39;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, &quot;Nick ODell via bitcoin-dev&quo=
t; &lt;<a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org">bitcoin-dev=
@lists.linuxfoundation.org</a>&gt; 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&#39;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 &quot;Double UASF.&quot; 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&#39;t overlap. Full nodes happily valida=
te the chain, because Double UASF doesn&#39;t break any rules; it just adds=
 new ones. Miners who adopt Double UASF don&#39;t need to understand segwit=
, because all segwit transactions are banned. Miners don&#39;t need to comm=
it to a wtxid structure, either. Per BIP 141, &quot;If all transactions in =
a block do not have witness data, the commitment is optional.&quot; 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">&lt;<a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org" target=
=3D"_blank">bitcoin-dev@lists.<wbr>linuxfoundation.org</a>&gt;</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,&quot;Helvetica Neue&quot;,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 &quot;user activated soft f=
orks&quot; 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,&quot;Helvetica Neue&quot;,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,&quot;Helvetica Neue&quot;,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,&quot;Helvetica Neue&quot;,=
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,&quot;Helvetica Neue&quot;,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,&quot;Helvetica Neue&quot;,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=
,&quot;Helvetica Neue&quot;,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,&quot;Helvetica Neue&quot;,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&quot;,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,&quot;Helvetica Neue&quot;,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,=
&quot;Helvetica Neue&quot;,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,&quot;Helvetica Neue&quot;,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&quot;,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,&quot=
;Helvetica Neue&quot;,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,&quot;He=
lvetica Neue&quot;,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,&quot;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,&quot;Helvetica Neue&quot;,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,&quot;Helvetica Neue&quot;,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,&quot;Helvetica Neue&quot;,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">&lt;pre&=
gt;
  BIP: bip-segwit-flagday
  Title: Flag day activation for segwit deployment
  Author: Shaolin Fry &lt;<a href=3D"mailto:shaolinfry@protonmail.ch" targe=
t=3D"_blank">shaolinfry@protonmail.ch</a>&gt;
  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
&lt;/pre&gt;

=3D=3DAbstract=3D=3D

This document specifies a BIP16 like soft fork flag day activation of the s=
egregated witness BIP9 deployment known as &quot;segwit&quot;.

=3D=3DDefinitions=3D=3D

&quot;existing segwit deployment&quot; refer to the BIP9 &quot;segwit&quot;=
 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&lt;&lt;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

&lt;pre&gt;
// mandatory segwit activation between Oct 1st 2017 and Nov 15th 2017 inclu=
sive
if (pindex-&gt;GetMedianTimePast() &gt;=3D 1538352000 &amp;&amp; pindex-&gt=
;GetMedianTimePast() &lt;=3D 1510704000 &amp;&amp; !IsWitnessEnabled(pindex=
-&gt;ppre<wbr>v, chainparams.GetConsensus())) {
    if (!((pindex-&gt;nVersion &amp; VERSIONBITS_TOP_MASK) =3D=3D VERSIONBI=
TS_TOP_BITS) &amp;&amp; (pindex-&gt;nVersion &amp; VersionBitsMask(params, =
Consensus::DEPLOYMENT_SEGWIT)) !=3D 0) {
        return state.DoS(2, error(&quot;ConnectBlock(): relayed block must =
signal for segwit, please upgrade&quot;), REJECT_INVALID, &quot;bad-no-segw=
it&quot;);
    }
}
&lt;/pre&gt;

=3D=3DBackwards Compatibility=3D=3D

This deployment is compatible with the existing &quot;segwit&quot; 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 =
&quot;segwit&quot; deployment, this BIP can cause the existing &quot;segwit=
&quot; 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,&quot;Helveti=
ca Neue&quot;,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--