From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 1035D902 for ; Tue, 13 Jun 2017 06:50:35 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-pf0-f196.google.com (mail-pf0-f196.google.com [209.85.192.196]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 52A3CA6 for ; Tue, 13 Jun 2017 06:50:33 +0000 (UTC) Received: by mail-pf0-f196.google.com with SMTP id w12so9103581pfk.0 for ; Mon, 12 Jun 2017 23:50:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc:message-id:references :to; bh=0rZayIgnxcsKBZTx+33tJ6VH4MzpyQDhGV9nftOjdbY=; b=lIoPg1OY5QkvN/KPIUeWd8K7gNwG7t7JgaHrQaSkrNTxtkcRF5EoFtyQThg163Depi 7+SvyJ54S4CFry+PpBrNFmL9MUjAiuB5lpnFGyI1RlTa17/3qNdxIcG692Wfq0XrQF57 9PkY/L4gfC0Blf5JIlUnxZCC8QdcoTgucnDzIt3DRomUeDNz37RpJvRnd6O48jyR9DJw fN86SwUzutUY2yh1Skev1LUziDjoQpwuKBOBLPcj5ZEPAhmWK78/DPvuOgx1bol57Sk4 4WbVih7+VRciMvSTHsW4uXVwbcPedF6qUisaf9iw7FtchDb6V5x9PxTIUcPZB9kw4pVV cSTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :message-id:references:to; bh=0rZayIgnxcsKBZTx+33tJ6VH4MzpyQDhGV9nftOjdbY=; b=ploDYd1Wo87RKl4fX3uj6mFN+OwyUrxTgrN02u2cVw5g+9OPHwEemtxfIuxYDiAZPD ng1CTd4guEtwCcpPCfXnmcMLaNb96iMIogUwXAFdcI1+KzD3DWqy4lXQ2pFU6Iu375jG EHcy67UUylHZdC9sUPgXZvSyDHXQBgJ3ZGtBVpwiM1fuMA7Q8thm8dEIYy4qR1IlUuFW 8DtRV2WbDWGhS+pAsLScDNfYXvTpcVCEOTUoDj7gNbzxlO4pqSivu5+We9+6VqN14x5B WX6L0EhQj7LOspBUGCklTZuB4EMiEiJEMV//EOZi0BosarsjZ3moR4mUnxM1eVTL/utI nvyA== X-Gm-Message-State: AODbwcDKut9JQeO0VEpF+djapBccRB4KOQ2sCueMfJTfNQTIrEnnPWyQ wCh6rCcFAEe4SyqqIKMo9g== X-Received: by 10.98.86.132 with SMTP id h4mr46675366pfj.205.1497336632822; Mon, 12 Jun 2017 23:50:32 -0700 (PDT) Received: from [192.168.1.102] ([59.56.44.119]) by smtp.gmail.com with ESMTPSA id 66sm23039341pfm.82.2017.06.12.23.50.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 12 Jun 2017 23:50:31 -0700 (PDT) Content-Type: multipart/alternative; boundary="Apple-Mail=_ED5F487D-9656-41C2-8A61-A8D6AB96024D" Mime-Version: 1.0 (Mac OS X Mail 11.0 \(3431\)) From: Zheming Lin In-Reply-To: Date: Tue, 13 Jun 2017 14:50:26 +0800 Message-Id: <2002E56E-45F8-4B4B-A7A5-CBEF739D5D8B@gmail.com> References: To: James Hilliard X-Mailer: Apple Mail (2.3431) X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, HTML_MESSAGE, MIME_QP_LONG_LINE, 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 X-Mailman-Approved-At: Tue, 13 Jun 2017 10:12:49 +0000 Cc: Bitcoin Dev Subject: Re: [bitcoin-dev] Proposal: Demonstration of Phase in Full Network Upgrade Activated by Miners X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Jun 2017 06:50:35 -0000 --Apple-Mail=_ED5F487D-9656-41C2-8A61-A8D6AB96024D Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=gb2312 Hi James: Thank you very much for detailed feedback. Sorry for my understanding of = English being poor. I=A1=AFll try to answer that. > =D4=DA 2017=C4=EA6=D4=C213=C8=D5=A3=AC13:44=A3=ACJames Hilliard = =D0=B4=B5=C0=A3=BA >=20 > On Mon, Jun 12, 2017 at 9:23 PM, Zheming Lin via bitcoin-dev > > wrote: >> The BIP is described using Chinese and English. If any part is = missing or need more specific, please reply. Forgive for my poor = English. >>=20 >> This method will incorporate any upgrade that affects non-mining = nodes. They should beware that the rule has been changed. >>=20 >> TLDR: Major miners activate and orphan the minor. That ensures all = miners upgrades. Then invalid the tx from not upgrading nodes. Nodes = must upgrade (with other protocol upgrade codes) in order to work. Then = the final miner vote over protocol upgrade, with all nodes has the same = upgraded codes. >>=20 >> =3D=3DMotivation=3D=3D >>=20 >> = =BC=F8=D3=DA=D7=EE=B3=F5=B5=C4=B1=C8=CC=D8=B1=D2=D0=AD=D2=E9=B2=A2=CE=B4=BF= =BC=C2=C7=B2=BB=B2=CE=D3=EB=CD=DA=BF=F3=B5=C4=C7=AE=B0=FC=BD=DA=B5=E3=A3=AC= =B5=BC=D6=C2=D5=E2=D0=A9=C7=AE=B0=FC=BD=DA=B5=E3=B5=C4=D0=AD=D2=E9=C9=FD=BC= =B6=CA=C7=B1=BB=B6=AF=B5=C4=A3=AC=C0=C1=B6=E8=B5=C4=A1=A3=B5=B1=D4=DA=C9=FD= =BC=B6=B7=BD=CF=F2=C9=CF=B3=F6=CF=D6=B7=D6=C6=E7=CA=B1=A3=AC=BF=F3=B9=A4=D2= =B2=B2=BB=D4=B8=D2=E2=D4=DA=B4=ED=CE=F3=B5=C4=C1=B4=C9=CF=CD=DA=BF=F3=A3=AC= =B5=AB=BF=F3=B9=A4=D3=D6=C3=BB=D3=D0=C8=CE=BA=CE=B7=BD=B7=A8=BF=C9=D2=D4=C8= =B7=B1=A3=D5=FD=D4=DA=D1=D3=B3=A4=B5=C4=C1=B4=CA=C7=B1=BB=C7=AE=B0=FC=BD=DA= =B5=E3=B9=E3=B7=BA=BD=D3=CA=DC=B5=C4=C1=B4=A1=A3=D5=E2=BD=AB=D3=B0=CF=EC=C7= =AE=B0=FC=BD=DA=B5=E3=B5=C4=B0=B2=C8=AB=A1=A3
>> In view of the fact that the original Bitcoin consensus did not = consider the non-mining wallet nodes(as mentioned above), the result is = that upgrading the consensus of these wallet nodes is passive and lazy. = When there is disagreement in the direction of the upgrade, the miners = have no mechanism to ensure that the chain being extended is the chain = widely accepted by the wallet nodes. This also adversely affects the = security of the wallet nodes.
> Wallet nodes being able to fully validate and choose whether or not to > accept a particular chain is an important part of bitcoins security > model. = =CA=C7=B5=C4=CE=D2=C8=CF=CE=AA=D5=E2=D0=A9=BD=DA=B5=E3=B7=C7=B3=A3=D6=D8=D2= =AA=A3=AC=D2=F2=B4=CB=B2=BB=D4=B8=D2=E2=BF=B4=B5=BD=D5=E2=D0=A9=BD=DA=B5=E3= =D2=F2=CE=AA=CE=DE=B7=A8=D4=A4=BC=FB=B5=BD=CD=F8=C2=E7=C9=CF=BF=C9=C4=DC=B7= =A2=C9=FA=B5=C4=B8=C4=B1=E4=B6=F8=C3=C9=CA=DC=CB=F0=CA=A7=A1=A3=D5=E2=D0=A9= =BD=DA=B5=E3=D2=C0=C8=BB=D3=B5=D3=D0=D1=A1=D4=F1=B5=C4=C8=A8=C0=FB=A3=AC=B1= =C8=C8=E7=CD=A8=B9=FD=C0=E0=CB=C6=D3=DA BIP148 =B5=C4=B7=BD=B7=A8=A1=A3 I admitted that these nodes a very important. so we don=A1=AFt want = these nodes suffer financial loss by undetectable network change. These = nodes always have choice like BIP148. >>=20 >> = =CA=B9=D3=C3=B8=C3=B7=BD=B7=A8=BF=C9=D2=D4=D4=DA=B1=A3=D6=A4=C7=AE=B0=FC=BD= =DA=B5=E3=D7=CA=B2=FA=B0=B2=C8=AB=B5=C4=C7=E9=BF=F6=CF=C2=A3=AC=C7=D2=CD=A8= =B9=FD=D4=F6=BC=D3=BC=A4=C0=F8=C8=C3=C7=AE=B0=FC=BD=DA=B5=E3=C9=FD=BC=B6=D0= =AD=D2=E9=A1=A3=D2=BB=B5=A9=C7=AE=B0=FC=BD=DA=B5=E3=C9=FD=BC=B6=D0=AD=D2=E9= =A3=AC=B1=A3=D6=A4=BF=F3=B9=A4=BD=DA=B5=E3=B2=BB=BD=F6=B9=A4=D7=F7=D4=DA=CB= =E3=C1=A6=D7=EE=B3=A4=C1=B4=C9=CF=A3=AC=BB=B9=B9=A4=D7=F7=D4=DA=B1=C8=CC=D8= =B1=D2=C9=FA=CC=AC=BB=B7=BE=B3=D6=D0=C6=E4=CB=FB=C7=AE=B0=FC=BD=DA=B5=E3=CB= =F9=CA=B9=D3=C3=B5=C4=D7=EE=B3=A4=C1=B4=C9=CF=A1=A3=D4=DA=D6=D0=B1=BE=B4=CF= =B9=B2=CA=B6=CF=C2=B2=BB=BB=E1=B3=F6=CF=D6=B7=D6=B2=E6=A3=AC=D2=D4=CA=B5=CF= =D6=BD=A5=BD=F8=CA=BD=B5=C4=D0=AD=D2=E9=C9=FD=BC=B6=A1=A3
>>=20 >> Apart from ensuring the asset security of wallet nodes, this method = can be used to provide additional incentives to upgrade the protocol for = the wallet nodes. Once the wallet nodes upgrade their protocol, the = miners' nodes can be guaranteed to work - not only on the longest chain, = but also on the longest chain used by other wallet nodes in the broader = bitcoin sphere. Under the Nakamoto Consensus, there will be no = persistent forks as protocol upgrades can be phased in.
> There is no way to guarantee a wallet node will accept a particular > block since that is always up to the user. = =CE=D2=C3=C7=CE=DE=B7=A8=B6=D4=B4=CB=BD=F8=D0=D0=B1=A3=D6=A4=A1=A3=B5=AB=CA= =C7=CE=D2=C3=C7=C4=DC=B9=BB=CC=E1=B9=A9=D2=BB=D6=D6=C8=C3=D5=E2=D0=A9=BD=DA= =B5=E3=C1=CB=BD=E2=B2=A2=B2=CE=D3=EB=B2=BF=CA=F0=B8=C4=B1=E4=B5=C4=BC=A4=C0= =F8=A1=A3 We can not have any guarantee. but we can have incentives that they = participate and be aware about the change happening. =D3=C3=BB=A7=D7=DC=CA=C7=BF=C9=D2=D4=BD=F8=D0=D0=D1=A1=D4=F1=A1=A3 Users always have choice. >>=20 >> =3D=3DSpecification=3D=3D >>=20 >> 1. =CD=DA=BF=F3=BD=DA=B5=E3=BD=AB=CA=B9=D3=C3 versionbits = =B0=E6=B1=BE=CE=BB=C0=B4=B6=A8=D2=E5=D6=A7=B3=D6=D0=C5=BA=C5=A1=A3BIP = =C9=FA=D0=A7=CA=B1=A3=AC=CB=F9=D3=D0=C7=F8=BF=E9=D0=E8=D2=AA=CA=B9=D3=C3=D6= =C6=B6=A8=B5=C4 nVersion =C0=B4=B7=A2=CB=CD=D0=C5=BA=C5
>> 2. =CD=DA=BF=F3=BD=DA=B5=E3=BD=AB=CA=B9=D3=C3 tx version = =C0=B4=B6=A8=D2=E5=B5=B1=C7=B0=B5=C4=BD=BB=D2=D7=B0=E6=B1=BE=A1=A3=B5=B1=C7= =B0=B5=C4 tx version =CA=C7 1=A3=AC=BD=AB=D4=CA=D0=ED tx version =CE=AA = 2 =B5=C4=BD=BB=D2=D7=A3=AC=B2=A2=D4=DA=B5=DA=B6=FE=B8=F6=BF=ED=CF=DE=C6=DA= =D6=AE=BA=F3=A3=AC=CA=B9 tx version =CE=AA 1 =B5=C4=BD=BB=D2=D7=B7=C7=B7=A8= =A1=A3
>>=20 >> 1. Mining nodes signal by setting a version bit. While this BIP is = active, all blocks must set the chosen nVersion.
>> 2. Mining nodes will use tx version to define current version = transactions. Current tx version is 1, and tx version 2 will be allowed. = After the second grace period, tx version 1 will be regarded as = invalid.
> Sounds like this would cause issues with pre-signed time locked = transactions. = =CE=D2=C3=C7=BF=C9=D2=D4=D4=DA=B5=DA=CB=C4=BD=D7=B6=CE=D6=D0=D6=D8=D0=C2=D4= =CA=D0=ED=D5=E2=D0=A9=BD=BB=D2=D7=A1=A3=CE=DE=C2=DB=C9=FD=BC=B6=CA=C7=B7=F1= =B3=C9=B9=A6=BC=A4=BB=EE=A3=AC=CB=FB=C3=C7=B6=BC=D0=E8=D2=AA=CE=AA=B4=CB=D7= =F6=BA=C3=D7=BC=B1=B8=A1=A3=CB=FB=C3=C7=B2=A2=B2=BB=C4=DC=B1=BB=B6=AA=CF=C2= =C9=F5=D6=C1=B1=BB=C6=DB=C6=AD=CE=AA=CA=B2=C3=B4=B6=BC=C3=BB=D3=D0=B7=A2=C9= =FA=A1=A3 They can be re-enable in the successful or unsuccessful activation of = the fourth stage. Whether or not, what they need is to be prepared for = the future coming. But they can=A1=AFt be left behind or be cheated like = nothing happened. >>=20 >>=20 >> =3D=3DDeployment=3D=3D >> = =D0=AD=D2=E9=C9=FD=BC=B6=A3=AC=BD=AB=B7=D6=B3=C9=C8=FD=B2=BD=D6=F0=B2=BD=CA= =B5=CA=A9=A1=A3=B2=A2=D3=D0=D2=BB=B8=F6=BF=C9=D1=A1=B5=C4=B5=DA=CB=C4=B2=BD= =C0=B4=BC=AF=B3=C9=D0=AD=D2=E9=C9=FD=BC=B6=B4=FA=C2=EB=A1=A3
>>=20 >> Protocol upgrading will phase in over three stages. We can have an = optional fourth stage to integrate codes of protocol upgrade.
>>=20 >> 1. =D0=C5=BA=C5=BD=D7=B6=CE=A1=A3=CD=DA=BF=F3=BD=DA=B5=E3=CA=B9=D3=C3 = versionbits =B7=A2=CB=CD=D6=A7=B3=D6=D0=C5=BA=C5=A1=A3=CD=DA=BF=F3=BD=DA=B5= =E3=D4=DA=BC=E0=B2=E2=B5=BD 55% =B5=C4=C7=F8=BF=E9=BC=B4=C7=B0 1109/2016 = =B8=F6=C7=F8=BF=E9=BE=F9=B7=A2=CB=CD=C1=CB=CF=E0=CD=AC=B5=C4=D6=A7=B3=D6=D0= =C5=BA=C5=A3=AC=BD=F8=C8=EB=CF=C2=D2=BB=BD=D7=B6=CE=A1=A3
>> 2. =BF=F3=B9=A4=BD=DA=B5=E3=C9=FD=BC=B6=A1=A3=BE=AD=B9=FD=C1=CB=B5=DA=D2= =BB=B8=F6=BF=ED=CF=DE=C6=DA 2016 =B5=C4=C7=F8=BF=E9=BA=F3=A3=AC=C7=D2=D7=DC= =D0=C5=BA=C5=C7=F8=BF=E9=B3=AC=B9=FD=C1=CB = 2218/4032=A3=AC=BE=CD=BF=AA=CA=BC=CA=B9=D3=C3=D0=C2=B5=C4=C7=F8=BF=E9=B0=E6= =B1=BE=B4=F2=B0=FC=C7=F8=BF=E9=A3=AC=B2=A2=CD=AC=CA=B1=BF=AA=CA=BC=B9=C2=C1= =A2=BE=C9=B0=E6=B1=BE=A1=A3=B4=CB=CA=B1=CB=F9=D3=D0=BD=DA=B5=E3=BA=CD=C7=AE= =B0=FC=A3=AC=BD=AB=BF=C9=D2=D4=CA=B9=D3=C3=D0=C2=B0=E6=B1=BE=BA=C5=B7=A2=CB= =CD=BD=BB=D2=D7=A3=AC=CD=AC=CA=B1=BC=E6=C8=DD=BE=C9=B0=E6=B1=BE=BA=C5=BD=BB= =D2=D7=A1=A3
>> 3. =C7=AE=B0=FC=BD=DA=B5=E3=C9=FD=BC=B6=A1=A3=D4=DA=CD=DA=BF=F3=BD=DA=B5= =E3=BC=E0=B2=E2=B5=BD=B5=DA=B6=FE=B8=F6=BF=ED=CF=DE=C6=DA 4032 = =B8=F6=C1=AC=D0=F8=B5=C4=D0=C2=B0=E6=B1=BE=B5=C4=C7=F8=BF=E9=BA=F3=A3=AC=BF= =AA=CA=BC=BE=DC=BE=F8=BE=C9=B0=E6=B1=BE=BA=C5=B5=C4=BD=BB=D2=D7=A3=AC=D6=BB= =B4=F2=B0=FC=A3=AF=D7=AA=B2=A5=D0=C2=B0=E6=B1=BE=BA=C5=B5=C4=BD=BB=D2=D7=A1= =A3=CD=AC=CA=B1=BD=AB=B4=D3=C4=DA=B4=E6=B3=D8=D6=D0=C9=BE=B3=FD=BE=C9=B0=E6= =B1=BE=BA=C5=B5=C4=BD=BB=D2=D7=A1=A3
>> 4. = =A3=A8=BF=C9=D1=A1=B5=C4=A3=A9=D0=AD=D2=E9=C9=FD=BC=B6=A1=A3=D4=DA=B5=DA=C8= =FD=BD=D7=B6=CE=D6=D0=B0=FC=BA=AC=D3=D0=B5=DA=CB=C4=BD=D7=B6=CE=B5=C4=C9=FD= =BC=B6=B4=FA=C2=EB=A1=A3=B5=B1=CE=D2=C3=C7=C8=B7=B1=A3=C7=AE=B0=FC=BD=DA=B5= =E3=C9=FD=BC=B6=B5=BD=D6=A7=B3=D6=D0=C2=B0=E6=B1=BE=BD=BB=D2=D7=BA=F3=A3=AC= =B1=D8=C8=BB=B0=FC=BA=AC=C1=CB=B5=DA=CB=C4=BD=D7=B6=CE=B5=C4=C9=FD=BC=B6=B4= =FA=C2=EB=A1=A3=D4=F2=B4=CB=CA=B1=BF=C9=D2=D4=CD=A8=B9=FD=BF=F3=B9=A4=BD=DA= =B5=E3=CD=B6=C6=B1=B5=C4=B7=BD=CA=BD=CD=EA=B3=C9=C8=AB=CD=F8=C2=E7=B5=C4=D0= =AD=D2=E9=C9=FD=BC=B6=A1=A3 >>=20 >> 1. Signal stage: Mining nodes signal using BIP9. The next stage will = be activated after 55% (1109) of 2016 blocks has the signal.
>>=20 >> 2. Mining nodes upgrade stage: After a first grace period of 2016 = blocks and total signalling blocks passed 2218 of 4032 blocks, miners = broadcasting blocks with new versionbits in block headers will orphan = blocks with old versionbits. At this stage all nodes can send = transactions with new versionbits, and transactions with old versionbits = will be compatible.
>>=20 >> 3. Non-mining nodes upgrade stage: after 4032 continuous blocks with = new versionbits, mining nodes will start to refuse transactions with old = versionbits. Only transactions with new versionbits can be relayed and = included in blocks. Transactions with old versionbits can be safely = purged from memory pools.
>>=20 >> 4. (Optional)Protocol Upgrade stage: The codes dealing with protocol = upgrade can be integrated in the third stage. After the non-mining nodes = upgrades to support newer version of transactions, the codes with = protocol upgrade must be included and now we can use miner vote to = activate and finish this upgrade.
>>=20 >> =D6=C1=B4=CB=A3=AC=D0=AD=D2=E9=C9=FD=BC=B6=CD=EA=B3=C9=A1=A3
>>=20 >> At this point, the protocol upgrade have phased in.
>>=20 >> =3D=3DBenefits=3D=3D >>=20 >> 1. =BD=F6=D0=E8=D2=AA=B6=E0=CA=FD=B5=C4=BF=F3=B9=A4=B7=A2=D0=C5=BA=C5=BA= =F3=BC=B4=BF=C9=BC=A4=BB=EE=A1=A3=D4=DA=D6=D0=B1=BE=B4=CF=B5=C4=B1=C8=CC=D8= =B1=D2=C2=DB=CE=C4=D6=D0=A3=AC99.9% =B5=C4=BF=C9=C4=DC=D0=D4=CF=C2=A3=AC55= % =B5=C4=BF=F3=B9=A4=BD=AB=D4=DA 340 = =B8=F6=C7=F8=BF=E9=BA=F3=C8=B7=B1=A3=B3=C9=CE=AA=D7=EE=B3=A4=C1=B4=A1=A3=D5= =E2=BD=AB=D7=EE=B4=F3=BF=C9=C4=DC=BC=F5=D0=A1=CD=A8=B9=FD=BF=D8=D6=C6=C9=D9= =CA=FD=CB=E3=C1=A6=B6=F8=CD=CF=D1=D3=CD=F8=C2=E7=C9=FD=BC=B6=B5=C4=BF=C9=C4= =DC=D0=D4=A1=A3=CE=D2=C3=C7=BF=C9=D2=D4=D4=A4=BC=FB=B5=BD=D4=DA=CB=E3=C1=A6= =D0=C5=BA=C5=B3=AC=B9=FD 51% = =BA=F3=A3=AC=CD=DA=BF=F3=BD=DA=B5=E3=BD=AB=D1=B8=CB=D9=B5=C4=D4=DA=B5=DA=D2= =BB=B8=F6=BF=ED=CF=DE=C6=DA=C4=DA=BD=F8=D0=D0=C9=FD=BC=B6=A1=A3
>> 2. = =D4=DA=C1=BD=B8=F6=BF=ED=CF=DE=C6=DA=C4=DA=A3=AC=C7=AE=B0=FC=BD=DA=B5=E3=BD= =BB=D2=D7=B2=BB=CA=DC=D3=B0=CF=EC=A3=AC=D3=D0=D7=E3=B9=BB=B5=C4=CA=B1=BC=E4= =C9=FD=BC=B6=C7=AE=B0=FC=C8=ED=BC=FE=A1=A3
>> 3. =B0=E6=B1=BE=D0=C5=CF=A2=B0=FC=BA=AC=D4=DA block header = =D6=D0=A3=AC=B2=A2=B2=BB=D3=B0=CF=EC SPV =CD=DA=BF=F3=B9=FD=B3=CC=A1=A3=A3= =A8=BF=B4=C6=F0=C0=B4=CA=C7=A3=BF=A3=A9
>> 4. = =D4=DA=C1=BD=B8=F6=BF=ED=CF=DE=C6=DA=BA=F3=A3=AC=C7=AE=B0=FC=BD=DA=B5=E3=BD= =AB=B1=D8=D0=EB=C9=FD=BC=B6=C7=AE=B0=FC=A3=AC=B7=F1=D4=F2=D2=F2=C3=BB=D3=D0= =CB=E3=C1=A6=D6=A7=B3=D6=BD=AB=CE=DE=B7=A8=B7=A2=CB=CD=BD=BB=D2=D7=A3=AC=D2= =B2=CE=DE=B7=A8=C8=B7=C8=CF=A1=A3=CF=E0=B6=D4=D3=DA=D4=DA=BD=DA=B5=E3=BC=E4= =D6=D8=D0=C2=B4=EF=B3=C9=D0=C2=B5=C4=B9=B2=CA=B6=A3=AC=D5=E2=D6=D6=D7=B4=BF= =F6=B2=A2=C3=BB=D3=D0=B8=FC=D4=E3=B8=E2=A1=A3
>> 5. = =C7=AE=B0=FC=BD=DA=B5=E3=B5=C4=D5=CB=B1=BE=BD=AB=B5=C3=B5=BD=D7=F0=D6=D8=BA= =CD=B1=A3=BB=A4=A1=A3=CA=B9=D3=C3=C1=B4=CF=C2=C7=AE=B0=FC=B5=C4=D3=C3=BB=A7= =BD=AB=D0=E8=D2=AA=D4=DA=C7=AE=B0=FC=B7=FE=CE=F1=CC=E1=B9=A9=C9=CC=B5=C4=C9= =F9=C3=F7=D6=AE=BA=F3=BE=F6=B6=A8=CC=E1=D6=C1=C1=B4=C9=CF=C7=AE=B0=FC=BB=F2= =B8=FA=CB=E6=A1=A3
>> 6. = =BD=AB=C0=B4=B5=C4=D0=AD=D2=E9=C9=FD=BC=B6=A3=AC=BF=C9=D2=D4=D4=DA=C9=FD=BC= =B6=BF=CD=BB=A7=B6=CB=B0=E6=B1=BE=CD=AC=CA=B1=B0=F3=B6=A8=D0=AD=D2=E9=C9=FD= =BC=B6=B4=FA=C2=EB=B2=A2=BD=F8=D0=D0=B6=C0=C1=A2=B5=C4=BC=A4=BB=EE=CD=B6=C6= =B1=A1=A3=D5=E2=BD=AB=D4=A4=C1=F4=D7=E3=B9=BB=B5=C4=CA=B1=BC=E4=C8=C3=BD=DA= =B5=E3=C9=FD=BC=B6=C8=ED=BC=FE=D2=D4=D6=A7=B3=D6=D0=C2=B5=C4=D0=AD=D2=E9=A1= =A3=BC=B4=CA=B9=BF=F3=B9=A4=CD=B6=C6=B1=BC=A4=BB=EE=CA=A7=B0=DC=D2=B2=B2=BB= =D3=B0=CF=EC=CF=D6=D7=B4=A1=A3
>>=20 >> 1. The activation only requires majority miners signal. As described = in the paper by Satoshi Nakamoto, 55% miners will be in the longest = chain after 340 blocks, with 99.9% certainty. This will minimize the = possibility of delaying network upgrades by controlling a small number = of hashing power. We can foresee that after 51% signalling, all miners = will upgrade within the first grace period.
> Technically soft forks can be implemented at 55% hashpower already > without an orphaning period(like BIP16). Those that don't upgrade > would just be at risk of mining invalid blocks. One would not want to > use this method to try and activate a controversial hard fork since > it's trivial for miners to false signal. The orphaning period > effectively forces miners to make a decision but does not necessarily > force them to make a particular decision since they can simply choose > to reject the fork and false signal. = =BC=D9=D0=C5=BA=C5=B5=C4=CE=CA=CC=E2=D4=DA=CE=D2=BF=B4=C0=B4=CE=DE=B7=A8=BD= =E2=BE=F6=A1=A3=B5=AB=C8=E7=B9=FB=B6=E0=CA=FD=B2=BB=CD=AC=D2=E2=D5=E2=B8=F6= =B8=C4=B1=E4=A3=AC=CE=AA=CA=B2=C3=B4=CB=FB=C3=C7=BB=B9=D2=AA=C6=DB=C6=AD=A3= =BF=C8=E7=B9=FB=B6=E0=CA=FD=C8=E7=D6=D0=B1=BE=B4=CF=B9=B2=CA=B6=D6=D0=C3=E8= =CA=F6=B5=C4=C4=C7=D1=F9=CA=C7=B3=CF=CA=B5=BF=C9=D0=C5=B5=C4=A3=AC=C4=C7=BE= =CD=B2=BB=BB=E1=D3=D0=C8=CE=BA=CE=CE=CA=CC=E2=A1=A3=CD=A8=B9=FD=CB=E3=C1=A6= =D7=DC=C4=DC=B7=D6=B3=F6=CA=A4=B8=BA=A1=A3 False signal can=A1=AFt be solved in my opinion. If the majority part = just don=A1=AFt agree with the change, why they cheat? If the majority = part is honest as described in nakamoto consensus, I think that won=A1=AFt= be a problem. CPU power always decides. >> 2. During the first two grace periods, non-mining nodes will not be = affected. They have enough time to upgrade their software.
>> 3. Versionbits included in block header, not influencing the SPY = mining.
> The widely deployed stratum based SPV mining does not really provide a > proper way to validate nversion of the previous block, it only lets > you see the nversion of the current stratum job since you don't get a > full bock header. There's always a risk here that miners build on top > of invalid blocks when SPV mining. =D2=B2=D0=ED=CE=D2=CA=C7=B4=ED=B5=C4=CE=D2=B2=A2=B2=BB=BF=CF=B6=A8=A1=A3=C7= =EB=B6=D4=C8=E7=BA=CE=C8=C3=D5=E2=B8=F6=B7=BD=B7=A8=BC=E6=C8=DD SPY = =CD=DA=BF=F3=CC=E1=B3=F6=BD=A8=C9=E8=D0=D4=D2=E2=BC=FB=A1=A3 Maybe I=A1=AFm wrong. Please give some advice that how to make it = compatible with SPY mining. >> 4. After two grace periods, all nodes must be upgraded. Otherwise = they cannot send transactions or get any confirmations. Compared with = forming new consensus among nodes, the situation is not worse than = before.
> Previous consensus changes have largely been done in backwards > compatible ways which lets users opt-in to new features. In general > backwards compatibility is considered a good thing, this seems to make > that worse. = =D5=E2=B2=A2=C3=BB=D3=D0=C7=BF=D6=C6=CE=D2=C3=C7=B5=C4=BD=DA=B5=E3=D7=F7=B3= =F6=C8=CE=BA=CE=B8=C4=B1=E4=B9=B2=CA=B6=B5=C4=B1=ED=CA=BE=A1=A3=BD=F6=BD=F6= =C8=C3=D5=E2=D0=A9=BD=DA=B5=E3=CE=AA=BD=D3=CF=C2=C0=B4=BF=C9=C4=DC=B5=C4=B8= =C4=B1=E4=D7=F6=BA=C3=D7=BC=B1=B8=A1=A3 It would not force our nodes to do anything that changes the consensus. = But they should be prepared for the **maybe** upcoming changes. =D0=AD=D2=E9=B5=C4=B8=C4=B1=E4=BD=AB=CD=A8=B9=FD=BF=F3=B9=A4=CD=B6=C6=B1=B2= =FA=C9=FA=A3=AC=B5=AB=CA=C7=D5=E2=B8=F6=B9=FD=B3=CC=D3=A6=B8=C3=B1=BB=CB=F9= =D3=D0=BD=DA=B5=E3=CB=F9=D6=AA=CF=FE=B2=A2=B3=D0=C8=CF=A1=A3 Protocol upgrades could be done using miners vote. but the progress of = voting should be acknowledged by all nodes. >> 5. The ledger in non-mining wallet nodes is honored and reserved. = Users of off-chain wallet services can decide whether or not to follow = the service providers after they got the public notification from the = service providers.
>> 6. Protocol upgrades in the future can be bonded with the upgrades of = nodes, and the upgrades activate through miners vote independently. = There would be enough time for nodes to be upgraded in order to support = new protocols. Even in case of failing in miner activation, the = situation will not worsen and the status quo will remain.
>>=20 >>=20 >> =3D=3DRisks=3D=3D >>=20 >> 1. = =CB=E3=C1=A6=B5=C4=B2=A8=B6=AF=BB=E1=D3=B0=CF=EC=D7=EE=B3=A4=C1=B4=B5=C4=BD= =E1=B9=FB=A1=A3=D2=F2=B4=CB=D4=BD=B8=DF=B5=C4=BC=A4=BB=EE=B1=C8=C0=FD=D2=AA= =C7=F3=BD=AB=BC=F5=C9=D9=B6=CC=CA=B1=BC=E4=B7=D6=B2=E6=B5=C4=CE=A3=CF=D5=A1= =A3
>> 2. = =BF=F3=B9=A4=BF=C9=C4=DC=B7=A2=BC=D9=D0=C5=BA=C5=C0=B4=B1=DC=C3=E2=B1=BB=B9= =C2=C1=A2=A3=AC=B5=AB=D4=DA=C7=AE=B0=FC=BD=DA=B5=E3=BF=B4=C0=B4=CE=DE=B7=A8= =C7=F8=B7=D6=CA=C7=B7=F1=CA=C7=BC=D9=D0=C5=BA=C5=A3=AC=D6=BB=C4=DC=C9=FD=BC= =B6=A1=A3=B6=F8=C7=AE=B0=FC=BD=DA=B5=E3=C9=FD=BC=B6=D6=AE=BA=F3=A3=AC=BF=F3= =B9=A4=D2=B2=BD=AB=B8=FA=CB=E6=A1=A3
>> 3. = =C7=AE=B0=FC=BD=DA=B5=E3=BF=C9=C4=DC=B7=A2=BC=D9=D0=C5=BA=C5=C0=B4=BD=F6=C9= =FD=BC=B6=B0=E6=B1=BE=BA=C5=B6=F8=B2=BB=D6=A7=B3=D6=B0=F3=B6=A8=B5=C4=D0=AD= =D2=E9=C9=FD=BC=B6=B4=FA=C2=EB=A3=AC=B5=AB=C7=AE=B0=FC=BD=DA=B5=E3=CA=FD=C1= =BF=CE=DE=B7=A8=C5=D0=B1=F0=A3=AC=D1=CF=CB=E0=B5=C4=D5=E6=CA=B5=BD=DA=B5=E3= =D3=A6=B5=B1=B8=FA=CB=E6=BF=C9=D6=A4=CA=B5=B5=C4=BF=F3=B9=A4=CD=B6=C6=B1=BD= =E1=B9=FB=A1=A3
>> 4. = =B4=E6=D4=DA=C9=D9=B2=BF=B7=D6=BF=F3=B9=A4=BA=CD=C7=AE=B0=FC=BD=DA=B5=E3=B9= =B2=C4=B1=A3=AC=D4=DA=D0=C2=D0=AD=D2=E9=C9=FD=BC=B6=BC=A4=BB=EE=BA=F3=D2=C0= =C8=BB=CA=B9=D3=C3=C0=CF=D0=AD=D2=E9=CD=DA=BF=F3=B5=C4=BF=C9=C4=DC=A1=A3=D5= =E2=D6=D6=BF=C9=C4=DC=CB=E6=CA=B1=B7=A2=C9=FA=CE=DE=B7=A8=B6=C5=BE=F8=A3=AC= =B5=AB=CD=A8=B9=FD=C8=C3=B3=C1=C4=AC=B5=C4=B4=F3=B6=E0=CA=FD=C7=AE=B0=FC=BD= =DA=B5=E3=C9=FD=BC=B6=B5=C4=B7=BD=CA=BD=BF=C9=D2=D4=BD=B5=B5=CD=D5=E2=D6=D6= =D0=D0=CE=AA=B4=F8=C0=B4=B5=C4=C0=FB=D2=E6=A1=A3
>>=20 >> 1. The fluctuation of the hashing power will affect the result of the = longest chain. Higher activating requirement means a lower risk of = temporary fork.
>> 2. Miners could simply signal to avoid being orphaned, but from the = perspective of non-mining wallet nodes, they can't distinguish the false = signal from the true signal. They must upgrade with the assumption that = the signals are all true. After all the non-mining nodes have upgraded, = the miners signalling false signal should follow.
> Miners can simply announce they are false signalling with coinbase > tags and other methods. This activation method would likely not be > viable for controversial changes. =C8=E7=B9=FB=B4=F3=B6=E0=CA=FD=BF=F3=B9=A4=CA=C7=B3=CF=CA=B5=B5=C4=A3=AC=BC= =D9=D0=C5=BA=C5=B2=BB=BB=E1=D3=D0=CE=CA=CC=E2=A1=A3 False signal won=A1=AFt be a problem if majority miners are honest. >> 3. Non-mining wallet nodes could false signal without supporting the = new protocol but since the total number of nodes cannot be = distinguished, genuine nodes should follow the proven result provided by = miners vote.
> Users would likely take into account markets and other factors when > deciding what to do, the total number of nodes doesn't really matter > much. Miner signalling is not necessarily indicative of economic and > user support. =BF=F3=B9=A4=D0=E8=D2=AA=D4=DA=BF=C9=D2=D4=C8=B7=B1=A3=B4=F3=B6=E0=CA=FD=D3= =C3=BB=A7=B2=BB=B1=BB=C9=FD=BC=B6=D3=B0=CF=EC=B5=C4=C7=E9=BF=F6=CF=C2=B2=C5= =C4=DC=B9=AB=D5=FD=CD=B6=C6=B1=A1=A3 Miners should vote unbiasedly under the condition that most users are = not affected by protocol upgrading. >> 4. Miners and non-mining nodes could conspire to fork using old = protocol consensus. It can't be eliminated, just like in the past but = through most passive non-mining nodes being upgraded, their benefit is = reduced.
>>=20 >>=20 >> =3D=3DImplementation=3D=3D >> ___TBD___ >>=20 >> _______________________________________________ >> bitcoin-dev mailing list >> bitcoin-dev@lists.linuxfoundation.org = >> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev = --Apple-Mail=_ED5F487D-9656-41C2-8A61-A8D6AB96024D Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=gb2312 Hi = James:

Thank you = very much for detailed feedback. Sorry for my understanding of English = being poor. I=A1=AFll try to answer that.


=D4=DA = 2017=C4=EA6=D4=C213=C8=D5=A3=AC13:44=A3=ACJames Hilliard <james.hilliard1@gmail.com> =D0=B4=B5=C0=A3=BA

On Mon, Jun 12, 2017 at 9:23 PM, = Zheming Lin via bitcoin-dev
<bitcoin-dev@lists.linuxfoundation.org> wrote:
The BIP is described using = Chinese and English. If any part is missing or need more specific, = please reply. Forgive for my poor English.

This method will incorporate any upgrade that affects = non-mining nodes. They should beware that the rule has been changed.

TLDR: Major miners activate and orphan the = minor. That ensures all miners upgrades. Then invalid the tx from not = upgrading nodes. Nodes must upgrade (with other protocol upgrade codes) = in order to work. Then the final miner vote over protocol upgrade, with = all nodes has the same upgraded codes.

=3D=3DMotivation=3D=3D

=BC=F8=D3=DA=D7=EE=B3=F5=B5=C4=B1=C8=CC=D8=B1=D2=D0=AD=D2=E9=B2= =A2=CE=B4=BF=BC=C2=C7=B2=BB=B2=CE=D3=EB=CD=DA=BF=F3=B5=C4=C7=AE=B0=FC=BD=DA= =B5=E3=A3=AC=B5=BC=D6=C2=D5=E2=D0=A9=C7=AE=B0=FC=BD=DA=B5=E3=B5=C4=D0=AD=D2= =E9=C9=FD=BC=B6=CA=C7=B1=BB=B6=AF=B5=C4=A3=AC=C0=C1=B6=E8=B5=C4=A1=A3=B5=B1= =D4=DA=C9=FD=BC=B6=B7=BD=CF=F2=C9=CF=B3=F6=CF=D6=B7=D6=C6=E7=CA=B1=A3=AC=BF= =F3=B9=A4=D2=B2=B2=BB=D4=B8=D2=E2=D4=DA=B4=ED=CE=F3=B5=C4=C1=B4=C9=CF=CD=DA= =BF=F3=A3=AC=B5=AB=BF=F3=B9=A4=D3=D6=C3=BB=D3=D0=C8=CE=BA=CE=B7=BD=B7=A8=BF= =C9=D2=D4=C8=B7=B1=A3=D5=FD=D4=DA=D1=D3=B3=A4=B5=C4=C1=B4=CA=C7=B1=BB=C7=AE= =B0=FC=BD=DA=B5=E3=B9=E3=B7=BA=BD=D3=CA=DC=B5=C4=C1=B4=A1=A3=D5=E2=BD=AB=D3= =B0=CF=EC=C7=AE=B0=FC=BD=DA=B5=E3=B5=C4=B0=B2=C8=AB=A1=A3<br/>
In view of the fact that the original Bitcoin consensus did = not consider the non-mining wallet nodes(as mentioned above), the result = is that upgrading the consensus of these wallet nodes is passive and = lazy. When there is disagreement in the direction of the upgrade, the = miners have no mechanism to ensure that the chain being extended is the = chain widely accepted by the wallet nodes. This also adversely affects = the security of the wallet nodes.<br/>
Wallet nodes being able to fully validate = and choose whether or not to
accept a particular chain is an = important part of bitcoins security
model.

=CA=C7=B5=C4=CE=D2=C8=CF=CE=AA=D5=E2=D0=A9=BD=DA=B5=E3= =B7=C7=B3=A3=D6=D8=D2=AA=A3=AC=D2=F2=B4=CB=B2=BB=D4=B8=D2=E2=BF=B4=B5=BD=D5= =E2=D0=A9=BD=DA=B5=E3=D2=F2=CE=AA=CE=DE=B7=A8=D4=A4=BC=FB=B5=BD=CD=F8=C2=E7= =C9=CF=BF=C9=C4=DC=B7=A2=C9=FA=B5=C4=B8=C4=B1=E4=B6=F8=C3=C9=CA=DC=CB=F0=CA= =A7=A1=A3=D5=E2=D0=A9=BD=DA=B5=E3=D2=C0=C8=BB=D3=B5=D3=D0=D1=A1=D4=F1=B5=C4= =C8=A8=C0=FB=A3=AC=B1=C8=C8=E7=CD=A8=B9=FD=C0=E0=CB=C6=D3=DA BIP148 = =B5=C4=B7=BD=B7=A8=A1=A3

I admitted = that these nodes a very important. so we don=A1=AFt want these nodes = suffer financial loss by undetectable network change. These nodes always = have choice like BIP148.


=CA=B9=D3=C3=B8=C3=B7=BD=B7=A8=BF=C9=D2=D4=D4=DA=B1=A3=D6=A4=C7= =AE=B0=FC=BD=DA=B5=E3=D7=CA=B2=FA=B0=B2=C8=AB=B5=C4=C7=E9=BF=F6=CF=C2=A3=AC= =C7=D2=CD=A8=B9=FD=D4=F6=BC=D3=BC=A4=C0=F8=C8=C3=C7=AE=B0=FC=BD=DA=B5=E3=C9= =FD=BC=B6=D0=AD=D2=E9=A1=A3=D2=BB=B5=A9=C7=AE=B0=FC=BD=DA=B5=E3=C9=FD=BC=B6= =D0=AD=D2=E9=A3=AC=B1=A3=D6=A4=BF=F3=B9=A4=BD=DA=B5=E3=B2=BB=BD=F6=B9=A4=D7= =F7=D4=DA=CB=E3=C1=A6=D7=EE=B3=A4=C1=B4=C9=CF=A3=AC=BB=B9=B9=A4=D7=F7=D4=DA= =B1=C8=CC=D8=B1=D2=C9=FA=CC=AC=BB=B7=BE=B3=D6=D0=C6=E4=CB=FB=C7=AE=B0=FC=BD= =DA=B5=E3=CB=F9=CA=B9=D3=C3=B5=C4=D7=EE=B3=A4=C1=B4=C9=CF=A1=A3=D4=DA=D6=D0= =B1=BE=B4=CF=B9=B2=CA=B6=CF=C2=B2=BB=BB=E1=B3=F6=CF=D6=B7=D6=B2=E6=A3=AC=D2= =D4=CA=B5=CF=D6=BD=A5=BD=F8=CA=BD=B5=C4=D0=AD=D2=E9=C9=FD=BC=B6=A1=A3<b= r/>

Apart from ensuring the asset = security of wallet nodes, this method can be used to provide additional = incentives to upgrade the protocol for the wallet nodes. Once the wallet = nodes upgrade their protocol, the miners' nodes can be guaranteed to = work - not only on the longest chain, but also on the longest chain used = by other wallet nodes in the broader bitcoin sphere. Under the Nakamoto = Consensus, there will be no persistent forks as protocol upgrades can be = phased in.<br/>
There is no way to guarantee a = wallet node will accept a particular
block since that is always up to = the user.

=CE=D2=C3=C7=CE=DE=B7=A8=B6=D4=B4=CB=BD=F8=D0=D0=B1=A3= =D6=A4=A1=A3=B5=AB=CA=C7=CE=D2=C3=C7=C4=DC=B9=BB=CC=E1=B9=A9=D2=BB=D6=D6=C8= =C3=D5=E2=D0=A9=BD=DA=B5=E3=C1=CB=BD=E2=B2=A2=B2=CE=D3=EB=B2=BF=CA=F0=B8=C4= =B1=E4=B5=C4=BC=A4=C0=F8=A1=A3
We can not have any guarantee. = but we can have incentives that they participate and be aware about the = change happening.
=D3=C3=BB=A7=D7=DC=CA=C7=BF=C9=D2=D4=BD=F8=D0=D0= =D1=A1=D4=F1=A1=A3
Users always have choice.


=3D=3DSpecification=3D=3D

1. = =CD=DA=BF=F3=BD=DA=B5=E3=BD=AB=CA=B9=D3=C3 versionbits = =B0=E6=B1=BE=CE=BB=C0=B4=B6=A8=D2=E5=D6=A7=B3=D6=D0=C5=BA=C5=A1=A3BIP = =C9=FA=D0=A7=CA=B1=A3=AC=CB=F9=D3=D0=C7=F8=BF=E9=D0=E8=D2=AA=CA=B9=D3=C3=D6= =C6=B6=A8=B5=C4 nVersion =C0=B4=B7=A2=CB=CD=D0=C5=BA=C5<br/>
2. =CD=DA=BF=F3=BD=DA=B5=E3=BD=AB=CA=B9=D3=C3 tx version = =C0=B4=B6=A8=D2=E5=B5=B1=C7=B0=B5=C4=BD=BB=D2=D7=B0=E6=B1=BE=A1=A3=B5=B1=C7= =B0=B5=C4 tx version =CA=C7 1=A3=AC=BD=AB=D4=CA=D0=ED tx version =CE=AA = 2 =B5=C4=BD=BB=D2=D7=A3=AC=B2=A2=D4=DA=B5=DA=B6=FE=B8=F6=BF=ED=CF=DE=C6=DA= =D6=AE=BA=F3=A3=AC=CA=B9 tx version =CE=AA 1 =B5=C4=BD=BB=D2=D7=B7=C7=B7=A8= =A1=A3<br/>

1. Mining nodes signal by = setting a version bit. While this BIP is active, all blocks must set the = chosen nVersion.<br/>
2. Mining nodes will use tx = version to define current version transactions. Current tx version is 1, = and tx version 2 will be allowed. After the second grace period, tx = version 1 will be regarded as invalid.<br/>
Sounds like this would cause issues with = pre-signed time locked transactions.

=CE=D2=C3=C7=BF=C9=D2=D4=D4=DA=B5=DA=CB=C4=BD=D7=B6=CE= =D6=D0=D6=D8=D0=C2=D4=CA=D0=ED=D5=E2=D0=A9=BD=BB=D2=D7=A1=A3=CE=DE=C2=DB=C9= =FD=BC=B6=CA=C7=B7=F1=B3=C9=B9=A6=BC=A4=BB=EE=A3=AC=CB=FB=C3=C7=B6=BC=D0=E8= =D2=AA=CE=AA=B4=CB=D7=F6=BA=C3=D7=BC=B1=B8=A1=A3=CB=FB=C3=C7=B2=A2=B2=BB=C4= =DC=B1=BB=B6=AA=CF=C2=C9=F5=D6=C1=B1=BB=C6=DB=C6=AD=CE=AA=CA=B2=C3=B4=B6=BC= =C3=BB=D3=D0=B7=A2=C9=FA=A1=A3
They can be re-enable in the = successful or unsuccessful activation of the fourth stage. Whether or = not, what they need is to be prepared for the future coming. But they = can=A1=AFt be left behind or be cheated like nothing happened.



=3D=3DDeployment=3D=3D
=D0=AD=D2=E9=C9=FD=BC=B6=A3=AC=BD=AB=B7=D6=B3=C9=C8=FD=B2=BD=D6= =F0=B2=BD=CA=B5=CA=A9=A1=A3=B2=A2=D3=D0=D2=BB=B8=F6=BF=C9=D1=A1=B5=C4=B5=DA= =CB=C4=B2=BD=C0=B4=BC=AF=B3=C9=D0=AD=D2=E9=C9=FD=BC=B6=B4=FA=C2=EB=A1=A3&l= t;br/>

Protocol upgrading will phase in = over three stages. We can have an optional fourth stage to integrate = codes of protocol upgrade.<br/>

1. = =D0=C5=BA=C5=BD=D7=B6=CE=A1=A3=CD=DA=BF=F3=BD=DA=B5=E3=CA=B9=D3=C3 = versionbits =B7=A2=CB=CD=D6=A7=B3=D6=D0=C5=BA=C5=A1=A3=CD=DA=BF=F3=BD=DA=B5= =E3=D4=DA=BC=E0=B2=E2=B5=BD 55% =B5=C4=C7=F8=BF=E9=BC=B4=C7=B0 1109/2016 = =B8=F6=C7=F8=BF=E9=BE=F9=B7=A2=CB=CD=C1=CB=CF=E0=CD=AC=B5=C4=D6=A7=B3=D6=D0= =C5=BA=C5=A3=AC=BD=F8=C8=EB=CF=C2=D2=BB=BD=D7=B6=CE=A1=A3<br/>
2. =BF=F3=B9=A4=BD=DA=B5=E3=C9=FD=BC=B6=A1=A3=BE=AD=B9=FD=C1=CB= =B5=DA=D2=BB=B8=F6=BF=ED=CF=DE=C6=DA 2016 =B5=C4=C7=F8=BF=E9=BA=F3=A3=AC=C7= =D2=D7=DC=D0=C5=BA=C5=C7=F8=BF=E9=B3=AC=B9=FD=C1=CB = 2218/4032=A3=AC=BE=CD=BF=AA=CA=BC=CA=B9=D3=C3=D0=C2=B5=C4=C7=F8=BF=E9=B0=E6= =B1=BE=B4=F2=B0=FC=C7=F8=BF=E9=A3=AC=B2=A2=CD=AC=CA=B1=BF=AA=CA=BC=B9=C2=C1= =A2=BE=C9=B0=E6=B1=BE=A1=A3=B4=CB=CA=B1=CB=F9=D3=D0=BD=DA=B5=E3=BA=CD=C7=AE= =B0=FC=A3=AC=BD=AB=BF=C9=D2=D4=CA=B9=D3=C3=D0=C2=B0=E6=B1=BE=BA=C5=B7=A2=CB= =CD=BD=BB=D2=D7=A3=AC=CD=AC=CA=B1=BC=E6=C8=DD=BE=C9=B0=E6=B1=BE=BA=C5=BD=BB= =D2=D7=A1=A3<br/>
3. = =C7=AE=B0=FC=BD=DA=B5=E3=C9=FD=BC=B6=A1=A3=D4=DA=CD=DA=BF=F3=BD=DA=B5=E3=BC= =E0=B2=E2=B5=BD=B5=DA=B6=FE=B8=F6=BF=ED=CF=DE=C6=DA 4032 = =B8=F6=C1=AC=D0=F8=B5=C4=D0=C2=B0=E6=B1=BE=B5=C4=C7=F8=BF=E9=BA=F3=A3=AC=BF= =AA=CA=BC=BE=DC=BE=F8=BE=C9=B0=E6=B1=BE=BA=C5=B5=C4=BD=BB=D2=D7=A3=AC=D6=BB= =B4=F2=B0=FC=A3=AF=D7=AA=B2=A5=D0=C2=B0=E6=B1=BE=BA=C5=B5=C4=BD=BB=D2=D7=A1= =A3=CD=AC=CA=B1=BD=AB=B4=D3=C4=DA=B4=E6=B3=D8=D6=D0=C9=BE=B3=FD=BE=C9=B0=E6= =B1=BE=BA=C5=B5=C4=BD=BB=D2=D7=A1=A3<br/>
4. = =A3=A8=BF=C9=D1=A1=B5=C4=A3=A9=D0=AD=D2=E9=C9=FD=BC=B6=A1=A3=D4=DA=B5=DA=C8= =FD=BD=D7=B6=CE=D6=D0=B0=FC=BA=AC=D3=D0=B5=DA=CB=C4=BD=D7=B6=CE=B5=C4=C9=FD= =BC=B6=B4=FA=C2=EB=A1=A3=B5=B1=CE=D2=C3=C7=C8=B7=B1=A3=C7=AE=B0=FC=BD=DA=B5= =E3=C9=FD=BC=B6=B5=BD=D6=A7=B3=D6=D0=C2=B0=E6=B1=BE=BD=BB=D2=D7=BA=F3=A3=AC= =B1=D8=C8=BB=B0=FC=BA=AC=C1=CB=B5=DA=CB=C4=BD=D7=B6=CE=B5=C4=C9=FD=BC=B6=B4= =FA=C2=EB=A1=A3=D4=F2=B4=CB=CA=B1=BF=C9=D2=D4=CD=A8=B9=FD=BF=F3=B9=A4=BD=DA= =B5=E3=CD=B6=C6=B1=B5=C4=B7=BD=CA=BD=CD=EA=B3=C9=C8=AB=CD=F8=C2=E7=B5=C4=D0= =AD=D2=E9=C9=FD=BC=B6=A1=A3

1. Signal = stage: Mining nodes signal using BIP9. The next stage will be activated = after 55% (1109) of 2016 blocks has the signal.<br/>

2. Mining nodes upgrade stage: After a first = grace period of 2016 blocks and total signalling blocks passed 2218 of = 4032 blocks, miners broadcasting blocks with new versionbits in block = headers will orphan blocks with old versionbits. At this stage all nodes = can send transactions with new versionbits, and transactions with old = versionbits will be compatible.<br/>

3.= Non-mining nodes upgrade stage: after 4032 continuous blocks with new = versionbits, mining nodes will start to refuse transactions with old = versionbits. Only transactions with new versionbits can be relayed and = included in blocks. Transactions with old versionbits can be safely = purged from memory pools.<br/>

4. = (Optional)Protocol Upgrade stage: The codes dealing with protocol = upgrade can be integrated in the third stage. After the non-mining nodes = upgrades to support newer version of transactions, the codes with = protocol upgrade must be included and now we can use miner vote to = activate and finish this upgrade.<br/>

=D6=C1=B4=CB=A3=AC=D0=AD=D2=E9=C9=FD=BC=B6=CD=EA=B3=C9=A1=A3<= ;br/>

At this point, the protocol = upgrade have phased in.<br/>

=3D=3DBenefits=3D=3D

1. = =BD=F6=D0=E8=D2=AA=B6=E0=CA=FD=B5=C4=BF=F3=B9=A4=B7=A2=D0=C5=BA=C5=BA=F3=BC= =B4=BF=C9=BC=A4=BB=EE=A1=A3=D4=DA=D6=D0=B1=BE=B4=CF=B5=C4=B1=C8=CC=D8=B1=D2= =C2=DB=CE=C4=D6=D0=A3=AC99.9% =B5=C4=BF=C9=C4=DC=D0=D4=CF=C2=A3=AC55% = =B5=C4=BF=F3=B9=A4=BD=AB=D4=DA 340 = =B8=F6=C7=F8=BF=E9=BA=F3=C8=B7=B1=A3=B3=C9=CE=AA=D7=EE=B3=A4=C1=B4=A1=A3=D5= =E2=BD=AB=D7=EE=B4=F3=BF=C9=C4=DC=BC=F5=D0=A1=CD=A8=B9=FD=BF=D8=D6=C6=C9=D9= =CA=FD=CB=E3=C1=A6=B6=F8=CD=CF=D1=D3=CD=F8=C2=E7=C9=FD=BC=B6=B5=C4=BF=C9=C4= =DC=D0=D4=A1=A3=CE=D2=C3=C7=BF=C9=D2=D4=D4=A4=BC=FB=B5=BD=D4=DA=CB=E3=C1=A6= =D0=C5=BA=C5=B3=AC=B9=FD 51% = =BA=F3=A3=AC=CD=DA=BF=F3=BD=DA=B5=E3=BD=AB=D1=B8=CB=D9=B5=C4=D4=DA=B5=DA=D2= =BB=B8=F6=BF=ED=CF=DE=C6=DA=C4=DA=BD=F8=D0=D0=C9=FD=BC=B6=A1=A3<br/>=
2. = =D4=DA=C1=BD=B8=F6=BF=ED=CF=DE=C6=DA=C4=DA=A3=AC=C7=AE=B0=FC=BD=DA=B5=E3=BD= =BB=D2=D7=B2=BB=CA=DC=D3=B0=CF=EC=A3=AC=D3=D0=D7=E3=B9=BB=B5=C4=CA=B1=BC=E4= =C9=FD=BC=B6=C7=AE=B0=FC=C8=ED=BC=FE=A1=A3<br/>
3. = =B0=E6=B1=BE=D0=C5=CF=A2=B0=FC=BA=AC=D4=DA block header =D6=D0=A3=AC=B2=A2= =B2=BB=D3=B0=CF=EC SPV =CD=DA=BF=F3=B9=FD=B3=CC=A1=A3=A3=A8=BF=B4=C6=F0=C0= =B4=CA=C7=A3=BF=A3=A9<br/>
4. = =D4=DA=C1=BD=B8=F6=BF=ED=CF=DE=C6=DA=BA=F3=A3=AC=C7=AE=B0=FC=BD=DA=B5=E3=BD= =AB=B1=D8=D0=EB=C9=FD=BC=B6=C7=AE=B0=FC=A3=AC=B7=F1=D4=F2=D2=F2=C3=BB=D3=D0= =CB=E3=C1=A6=D6=A7=B3=D6=BD=AB=CE=DE=B7=A8=B7=A2=CB=CD=BD=BB=D2=D7=A3=AC=D2= =B2=CE=DE=B7=A8=C8=B7=C8=CF=A1=A3=CF=E0=B6=D4=D3=DA=D4=DA=BD=DA=B5=E3=BC=E4= =D6=D8=D0=C2=B4=EF=B3=C9=D0=C2=B5=C4=B9=B2=CA=B6=A3=AC=D5=E2=D6=D6=D7=B4=BF= =F6=B2=A2=C3=BB=D3=D0=B8=FC=D4=E3=B8=E2=A1=A3<br/>
5. = =C7=AE=B0=FC=BD=DA=B5=E3=B5=C4=D5=CB=B1=BE=BD=AB=B5=C3=B5=BD=D7=F0=D6=D8=BA= =CD=B1=A3=BB=A4=A1=A3=CA=B9=D3=C3=C1=B4=CF=C2=C7=AE=B0=FC=B5=C4=D3=C3=BB=A7= =BD=AB=D0=E8=D2=AA=D4=DA=C7=AE=B0=FC=B7=FE=CE=F1=CC=E1=B9=A9=C9=CC=B5=C4=C9= =F9=C3=F7=D6=AE=BA=F3=BE=F6=B6=A8=CC=E1=D6=C1=C1=B4=C9=CF=C7=AE=B0=FC=BB=F2= =B8=FA=CB=E6=A1=A3<br/>
6. = =BD=AB=C0=B4=B5=C4=D0=AD=D2=E9=C9=FD=BC=B6=A3=AC=BF=C9=D2=D4=D4=DA=C9=FD=BC= =B6=BF=CD=BB=A7=B6=CB=B0=E6=B1=BE=CD=AC=CA=B1=B0=F3=B6=A8=D0=AD=D2=E9=C9=FD= =BC=B6=B4=FA=C2=EB=B2=A2=BD=F8=D0=D0=B6=C0=C1=A2=B5=C4=BC=A4=BB=EE=CD=B6=C6= =B1=A1=A3=D5=E2=BD=AB=D4=A4=C1=F4=D7=E3=B9=BB=B5=C4=CA=B1=BC=E4=C8=C3=BD=DA= =B5=E3=C9=FD=BC=B6=C8=ED=BC=FE=D2=D4=D6=A7=B3=D6=D0=C2=B5=C4=D0=AD=D2=E9=A1= =A3=BC=B4=CA=B9=BF=F3=B9=A4=CD=B6=C6=B1=BC=A4=BB=EE=CA=A7=B0=DC=D2=B2=B2=BB= =D3=B0=CF=EC=CF=D6=D7=B4=A1=A3<br/>

1. = The activation only requires majority miners signal. As described in the = paper by Satoshi Nakamoto, 55% miners will be in the longest chain after = 340 blocks, with 99.9% certainty. This will minimize the possibility of = delaying network upgrades by controlling a small number of hashing = power. We can foresee that after 51% signalling, all miners will upgrade = within the first grace period. <br/>
Technically soft forks can be implemented = at 55% hashpower already
without an orphaning period(like = BIP16). Those that don't upgrade
would just be at risk of mining = invalid blocks. One would not want to
use this method to try and = activate a controversial hard fork since
it's trivial for miners to false = signal. The orphaning period
effectively forces miners to = make a decision but does not necessarily
force them to make a particular = decision since they can simply choose
to reject the fork and false = signal.

=BC=D9=D0=C5=BA=C5=B5=C4=CE=CA=CC=E2=D4=DA=CE=D2=BF=B4= =C0=B4=CE=DE=B7=A8=BD=E2=BE=F6=A1=A3=B5=AB=C8=E7=B9=FB=B6=E0=CA=FD=B2=BB=CD= =AC=D2=E2=D5=E2=B8=F6=B8=C4=B1=E4=A3=AC=CE=AA=CA=B2=C3=B4=CB=FB=C3=C7=BB=B9= =D2=AA=C6=DB=C6=AD=A3=BF=C8=E7=B9=FB=B6=E0=CA=FD=C8=E7=D6=D0=B1=BE=B4=CF=B9= =B2=CA=B6=D6=D0=C3=E8=CA=F6=B5=C4=C4=C7=D1=F9=CA=C7=B3=CF=CA=B5=BF=C9=D0=C5= =B5=C4=A3=AC=C4=C7=BE=CD=B2=BB=BB=E1=D3=D0=C8=CE=BA=CE=CE=CA=CC=E2=A1=A3=CD= =A8=B9=FD=CB=E3=C1=A6=D7=DC=C4=DC=B7=D6=B3=F6=CA=A4=B8=BA=A1=A3
= False signal can=A1=AFt be solved in my opinion. If the majority part = just don=A1=AFt agree with the change, why they cheat? If the majority = part is honest as described in nakamoto consensus, I think that won=A1=AFt= be a problem. CPU power always decides.


2. During the first two = grace periods, non-mining nodes will not be affected. They have enough = time to upgrade their software. <br/>
3. Versionbits = included in block header, not influencing the SPY mining. <br/>
The widely deployed stratum based SPV = mining does not really provide a
proper way to validate nversion = of the previous block, it only lets
you see the nversion of the = current stratum job since you don't get a
full bock header. There's always = a risk here that miners build on top
of invalid blocks when SPV = mining.

=D2=B2=D0=ED=CE=D2=CA=C7=B4=ED=B5=C4=CE=D2=B2=A2=B2=BB= =BF=CF=B6=A8=A1=A3=C7=EB=B6=D4=C8=E7=BA=CE=C8=C3=D5=E2=B8=F6=B7=BD=B7=A8=BC= =E6=C8=DD SPY =CD=DA=BF=F3=CC=E1=B3=F6=BD=A8=C9=E8=D0=D4=D2=E2=BC=FB=A1=A3=
Maybe I=A1=AFm wrong. Please give some advice that how to = make it compatible with SPY mining.

4. After two grace periods, all nodes must be upgraded. = Otherwise they cannot send transactions or get any confirmations. = Compared with forming new consensus among nodes, the situation is not = worse than before. <br/>
Previous consensus changes have = largely been done in backwards
compatible ways which lets users = opt-in to new features. In general
backwards compatibility is = considered a good thing, this seems to make
that worse.

=D5=E2=B2=A2=C3=BB=D3=D0=C7=BF=D6=C6=CE=D2=C3=C7=B5=C4= =BD=DA=B5=E3=D7=F7=B3=F6=C8=CE=BA=CE=B8=C4=B1=E4=B9=B2=CA=B6=B5=C4=B1=ED=CA= =BE=A1=A3=BD=F6=BD=F6=C8=C3=D5=E2=D0=A9=BD=DA=B5=E3=CE=AA=BD=D3=CF=C2=C0=B4= =BF=C9=C4=DC=B5=C4=B8=C4=B1=E4=D7=F6=BA=C3=D7=BC=B1=B8=A1=A3
It = would not force our nodes to do anything that changes the consensus. But = they should be prepared for the **maybe** upcoming = changes.
=D0=AD=D2=E9=B5=C4=B8=C4=B1=E4=BD=AB=CD=A8=B9=FD=BF=F3=B9= =A4=CD=B6=C6=B1=B2=FA=C9=FA=A3=AC=B5=AB=CA=C7=D5=E2=B8=F6=B9=FD=B3=CC=D3=A6= =B8=C3=B1=BB=CB=F9=D3=D0=BD=DA=B5=E3=CB=F9=D6=AA=CF=FE=B2=A2=B3=D0=C8=CF=A1= =A3
Protocol upgrades could be done using miners vote. but the = progress of voting should be acknowledged by all nodes.


5. The ledger in non-mining = wallet nodes is honored and reserved. Users of off-chain wallet services = can decide whether or not to follow the service providers after they got = the public notification from the service providers. <br/>
6. Protocol upgrades in the future can be bonded with the = upgrades of nodes, and the upgrades activate through miners vote = independently. There would be enough time for nodes to be upgraded in = order to support new protocols. Even in case of failing in miner = activation, the situation will not worsen and the status quo will = remain. <br/>


=3D=3DRisks=3D=3D

1. = =CB=E3=C1=A6=B5=C4=B2=A8=B6=AF=BB=E1=D3=B0=CF=EC=D7=EE=B3=A4=C1=B4=B5=C4=BD= =E1=B9=FB=A1=A3=D2=F2=B4=CB=D4=BD=B8=DF=B5=C4=BC=A4=BB=EE=B1=C8=C0=FD=D2=AA= =C7=F3=BD=AB=BC=F5=C9=D9=B6=CC=CA=B1=BC=E4=B7=D6=B2=E6=B5=C4=CE=A3=CF=D5=A1= =A3<br/>
2. = =BF=F3=B9=A4=BF=C9=C4=DC=B7=A2=BC=D9=D0=C5=BA=C5=C0=B4=B1=DC=C3=E2=B1=BB=B9= =C2=C1=A2=A3=AC=B5=AB=D4=DA=C7=AE=B0=FC=BD=DA=B5=E3=BF=B4=C0=B4=CE=DE=B7=A8= =C7=F8=B7=D6=CA=C7=B7=F1=CA=C7=BC=D9=D0=C5=BA=C5=A3=AC=D6=BB=C4=DC=C9=FD=BC= =B6=A1=A3=B6=F8=C7=AE=B0=FC=BD=DA=B5=E3=C9=FD=BC=B6=D6=AE=BA=F3=A3=AC=BF=F3= =B9=A4=D2=B2=BD=AB=B8=FA=CB=E6=A1=A3<br/>
3. = =C7=AE=B0=FC=BD=DA=B5=E3=BF=C9=C4=DC=B7=A2=BC=D9=D0=C5=BA=C5=C0=B4=BD=F6=C9= =FD=BC=B6=B0=E6=B1=BE=BA=C5=B6=F8=B2=BB=D6=A7=B3=D6=B0=F3=B6=A8=B5=C4=D0=AD= =D2=E9=C9=FD=BC=B6=B4=FA=C2=EB=A3=AC=B5=AB=C7=AE=B0=FC=BD=DA=B5=E3=CA=FD=C1= =BF=CE=DE=B7=A8=C5=D0=B1=F0=A3=AC=D1=CF=CB=E0=B5=C4=D5=E6=CA=B5=BD=DA=B5=E3= =D3=A6=B5=B1=B8=FA=CB=E6=BF=C9=D6=A4=CA=B5=B5=C4=BF=F3=B9=A4=CD=B6=C6=B1=BD= =E1=B9=FB=A1=A3<br/>
4. = =B4=E6=D4=DA=C9=D9=B2=BF=B7=D6=BF=F3=B9=A4=BA=CD=C7=AE=B0=FC=BD=DA=B5=E3=B9= =B2=C4=B1=A3=AC=D4=DA=D0=C2=D0=AD=D2=E9=C9=FD=BC=B6=BC=A4=BB=EE=BA=F3=D2=C0= =C8=BB=CA=B9=D3=C3=C0=CF=D0=AD=D2=E9=CD=DA=BF=F3=B5=C4=BF=C9=C4=DC=A1=A3=D5= =E2=D6=D6=BF=C9=C4=DC=CB=E6=CA=B1=B7=A2=C9=FA=CE=DE=B7=A8=B6=C5=BE=F8=A3=AC= =B5=AB=CD=A8=B9=FD=C8=C3=B3=C1=C4=AC=B5=C4=B4=F3=B6=E0=CA=FD=C7=AE=B0=FC=BD= =DA=B5=E3=C9=FD=BC=B6=B5=C4=B7=BD=CA=BD=BF=C9=D2=D4=BD=B5=B5=CD=D5=E2=D6=D6= =D0=D0=CE=AA=B4=F8=C0=B4=B5=C4=C0=FB=D2=E6=A1=A3<br/>

1. The fluctuation of the hashing power will = affect the result of the longest chain. Higher activating requirement = means a lower risk of temporary fork. <br/>
2. = Miners could simply signal to avoid being orphaned, but from the = perspective of non-mining wallet nodes, they can't distinguish the false = signal from the true signal. They must upgrade with the assumption that = the signals are all true. After all the non-mining nodes have upgraded, = the miners signalling false signal should follow. <br/>
Miners can simply announce they are false = signalling with coinbase
tags and other methods. This = activation method would likely not be
viable for controversial = changes.

=C8=E7=B9=FB=B4=F3=B6=E0=CA=FD=BF=F3=B9=A4=CA=C7=B3=CF= =CA=B5=B5=C4=A3=AC=BC=D9=D0=C5=BA=C5=B2=BB=BB=E1=D3=D0=CE=CA=CC=E2=A1=A3
False signal won=A1=AFt be a problem if majority miners are = honest.

3. Non-mining wallet nodes = could false signal without supporting the new protocol but since the = total number of nodes cannot be distinguished, genuine nodes should = follow the proven result provided by miners vote. <br/>
Users would likely take into account = markets and other factors when
deciding what to do, the total = number of nodes doesn't really matter
much. Miner signalling is not = necessarily indicative of economic and
user support.

=BF=F3=B9=A4=D0=E8=D2=AA=D4=DA=BF=C9=D2=D4=C8=B7=B1=A3= =B4=F3=B6=E0=CA=FD=D3=C3=BB=A7=B2=BB=B1=BB=C9=FD=BC=B6=D3=B0=CF=EC=B5=C4=C7= =E9=BF=F6=CF=C2=B2=C5=C4=DC=B9=AB=D5=FD=CD=B6=C6=B1=A1=A3
Miners= should vote unbiasedly under the condition that most users are not = affected by protocol upgrading.


4. Miners and non-mining = nodes could conspire to fork using old protocol consensus. It can't be = eliminated, just like in the past but through most passive non-mining = nodes being upgraded, their benefit is reduced. <br/>


=3D=3DImplementation=3D=3D
___TBD___

_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev<= /a>

= --Apple-Mail=_ED5F487D-9656-41C2-8A61-A8D6AB96024D--