Return-Path: Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by lists.linuxfoundation.org (Postfix) with ESMTP id ECBBFC000A for ; Thu, 1 Apr 2021 14:58:17 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id D2A9041827 for ; Thu, 1 Apr 2021 14:58:17 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org X-Spam-Flag: NO X-Spam-Score: -2.099 X-Spam-Level: X-Spam-Status: No, score=-2.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no Authentication-Results: smtp4.osuosl.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cMbSdfnf4GbL for ; Thu, 1 Apr 2021 14:58:16 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 Received: from mail-oo1-xc2b.google.com (mail-oo1-xc2b.google.com [IPv6:2607:f8b0:4864:20::c2b]) by smtp4.osuosl.org (Postfix) with ESMTPS id 50683404E3 for ; Thu, 1 Apr 2021 14:58:16 +0000 (UTC) Received: by mail-oo1-xc2b.google.com with SMTP id i25-20020a4aa1190000b02901bbd9429832so638207ool.0 for ; Thu, 01 Apr 2021 07:58:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=OadFF9XbXtWdWVfmwdcTP/qzIaFjkRvk9P2HIv3gNQw=; b=haFAeWk6KbqagMJ1+n4MtPtMxMI7bNOE1aSZat+7I7jvrQZ2dAT31UBnmTMZ0VKfsk xqcjiGvmSWsBHgJNgn0Z70brm+F5Xo4eHmj6/vF4x+Vg78+t1JcAjTvUnAxihO9mFFSG SCRKENtdnYwKFBikvwA9PmzgzDzz/8QqWIO72QsevMZRtTNoN/m6h25l5mJvG271fuDU jFdYZzqQeOaq7RbuxQ4UCJgnXHEwwXsxdE4xiIwbUVHv+D8XOXY+3KK7gUhkdjzXCYGu P08HckmFRz4R5sgFbE+iFVG82EtmtBlwTBDJrRA+TdvLPJj3YtClbYCN0s0lgCVfnRiW o3kg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=OadFF9XbXtWdWVfmwdcTP/qzIaFjkRvk9P2HIv3gNQw=; b=K8W7w+UIYwZB6BXUK4qbAk6drhQziSgQNKxLDfxqgL7c6kzfueu/y8pruiQdAJRk5Y PB4CyT5H3I/uRCimlC0c4qbmPb6FQdZJFSl70BNXXhYcKju2CabMDXxcBTaNBlJaxO96 tPHxiY0S1oD8kCLre/R4tFcaXKT8i1bUDUzEjbYV4ZF4YT9ORUgN64oAqLPSEqW6G6/w leT7EXZbiZ3HfwBYv/JFYmjEMt+QpVJWajvs1rzNeAOcM36wJHVhY2vmg299VDojQlpi k32jDtTqa9mKEc4WTroWGKZ5snPilxvdQgGqGJ4l51xZYfQlcbv4Mz5JMmKkJJ+0dxqx gq8Q== X-Gm-Message-State: AOAM530lMEfeO/lSgW2OnVByQJZNzPBcTs9tgmd3x8b4iEQHadpXh+du AWQatRbk7AVfU0R2wMKAxKH5PJu50+r+fUJyZJ+ZQcMn688= X-Google-Smtp-Source: ABdhPJyt9ExvvQEsvzAGE8xgdPIiCpzvDm8EV5Q9mOxIXcIcWF4UvSUQFIzJVA5vMNg0r7y2VIkExGARA0ZP60Y96DA= X-Received: by 2002:a4a:e615:: with SMTP id f21mr7466708oot.91.1617289095105; Thu, 01 Apr 2021 07:58:15 -0700 (PDT) MIME-Version: 1.0 From: Michael Folkson Date: Thu, 1 Apr 2021 15:58:04 +0100 Message-ID: To: Bitcoin Protocol Discussion Content-Type: multipart/alternative; boundary="000000000000034eb505beea76d5" X-Mailman-Approved-At: Thu, 01 Apr 2021 15:14:58 +0000 Subject: [bitcoin-dev] Announcing a new standard for soft fork activation X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Apr 2021 14:58:18 -0000 --000000000000034eb505beea76d5 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable There have been a vast number of proposals for soft fork activation in recent months and it is important that all these important ideas don=E2=80= =99t go to waste. Hence I propose a new standard for soft fork activation incorporating all the ideas into one standard. I appreciate this standard has come too late for Taproot activation but it should be ready for any future soft forks. It is a multi phase, multi year standard. No soft fork can activate unless and until it has successfully passed through all of the different 14 phases. This will demonstrate Bitcoin=E2=80=99s ultimate conse= rvatism. Phase 1) Let=E2=80=99s See What Happens - BIP 8 (false, 0.25 years). The sh= ortest phase just to whet appetites. Phase 2) Start now, improve later - BIP 8(false, 1 year) A confusing name, it starts but it doesn't improve later Phase 3) BIP 9 equivalent - BIP 8(false, 1 year) Phase 4) Gently discourage apathy - BIP 8(true, 1 year) Forced signaling at the end of this phase but obviously there are still many phases before the soft fork can actually activate. Phase 5) BIP 91 (1 year). As a nod to our SegWit history we have a BIP 91 activation phase. Phase 6) BIP 148 (1 year). Some people disagree that BIP 91 activated SegWit so we do a BIP 148 activation phase to keep those people happy. Again forced signaling doesn=E2=80=99t actually mean activation. There are = still many more phases to pass through. Phase 7) Speedy Trial (using block height, 0.5 years) on mainnet Phase 8) Speedy Trial (using MTP, 0.5 years) on mainnet Phase 9) Speedy Trial on the default signet (0.5 years) Phase 10) Speedy Trial on a combination of three different custom signets in parallel (0.5 years) Phase 11) Speedy Trial on testnet and a custom signet in parallel (0.5 years) Phase 12) Modern Soft Fork Activation (3.5 years) This is the longest phase of the soft fork activation standard. It is itself multi phase and multi year so this can be considered a nested activation phase within this standard. Phase 13) UASF BIP 8 (LOT=3Dtrue, 1 year). Forced miner signaling at the en= d of this phase but ultimately the soft fork doesn=E2=80=99t yet activate as = there is one final additional phase the activation must pass through. This gives Samson the opportunity to sell some hats. We are close now. The natives are getting restless. Phase 14) Second flag day (1 year) We don=E2=80=99t want those pesky users = actually activating a soft fork on their own so an additional flag day is added just so we can tell users that we prevented a chain split. Assuming a soft fork activation has successfully passed through all these 14 phases it should activate. It will take a minimum of 13 years. However, if it fails during any one of these phases it has to start from Phase 1 again. We should take Bitcoin=E2=80=99s conservatism very seriously. If a s= oft fork activation can=E2=80=99t pass successfully through all these phases it shou= ldn=E2=80=99t activate. Ultimately we don=E2=80=99t really mind what is in the soft fork = (any idiot can design consensus changes and write secure bug free C++ code) that is very much secondary in importance to *how* the soft fork is activated. The activation design absolutely must be conservative. I expect this rigorous standard for soft fork activation will get a BIP number. If you are going to propose a future soft fork I recommend you plan for activation in approximately 13 years from the point the soft fork code is merged into Core. I am happy to settle the soft fork activation question once and for all for the community. I expect in time my contribution will be recognized in the annals of history with Satoshi Nakamoto and Hal Finney. Addendum: Although all future soft forks will ultimately use this standard, this standard is copyrighted. Every time it is used royalties must be paid into this quantum secure Bitcoin vanity address 1quantumsecureaddress --=20 Michael Folkson Email: michaelfolkson@gmail.com Keybase: michaelfolkson PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3 --000000000000034eb505beea76d5 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
There have been a vast number of proposals for soft fork a= ctivation in recent months and it is important that all these important ide= as don=E2=80=99t go to waste. Hence I propose a new standard for soft fork = activation incorporating all the ideas into one standard. I appreciate this= standard has come too late for Taproot activation but it should be ready f= or any future soft forks. It is a multi phase, multi year standard. No soft= fork can activate unless and until it has successfully passed through all = of the different 14 phases. This will demonstrate Bitcoin=E2=80=99s ultimat= e conservatism.

Phase 1) Let=E2=80=99s See What Happens - BIP 8= (false, 0.25 years). The shortest phase just to whet appetites.

Phase 2) Start now, improve later - BIP 8(false, 1 year) A confusin= g name, it starts but it doesn't improve later

Phase = 3) BIP 9 equivalent - BIP 8(false, 1 year)

Phase 4) Gentl= y discourage apathy - BIP 8(true, 1 year) Forced signaling at the end of th= is phase but obviously there are still many phases before the soft fork can= actually activate.

Phase 5) BIP 91 (1 year). As a nod to= our SegWit history we have a BIP 91 activation phase.

Ph= ase 6) BIP 148 (1 year). Some people disagree that BIP 91 activated SegWit = so we do a BIP 148 activation phase to keep those people happy. Again force= d signaling doesn=E2=80=99t actually mean activation. There are still many = more phases to pass through.

Phase 7) Speedy Trial (using= block height, 0.5 years) on mainnet

Phase 8) Speedy Tria= l (using MTP, 0.5 years) on mainnet

Phase 9) Speedy Trial= on the default signet (0.5 years)

Phase 10) Speedy Trial= on a combination of three different custom signets in parallel (0.5 years)=

Phase 11) Speedy Trial on testnet and a custom signet in= parallel (0.5 years)

Phase 12) Modern Soft Fork Activati= on (3.5 years) This is the longest phase of the soft fork activation standa= rd. It is itself multi phase and multi year so this can be considered a nes= ted activation phase within this standard.

Phase 13) UASF= BIP 8 (LOT=3Dtrue, 1 year). Forced miner signaling at the end of this phas= e but ultimately the soft fork doesn=E2=80=99t yet activate as there is one= final additional phase the activation must pass through. This gives Samson= the opportunity to sell some hats. We are close now. The natives are getti= ng restless.

Phase 14) Second flag day (1 year) We don=E2= =80=99t want those pesky users actually activating a soft fork on their own= so an additional flag day is added just so we can tell users that we preve= nted a chain split.

Assuming a soft fork activation has = successfully passed through all these 14 phases it should activate. It will= take a minimum of 13 years. However, if it fails during any one of these p= hases it has to start from Phase 1 again. We should take Bitcoin=E2=80=99s = conservatism very seriously. If a soft fork activation can=E2=80=99t pass s= uccessfully through all these phases it shouldn=E2=80=99t activate. Ultimat= ely we don=E2=80=99t really mind what is in the soft fork (any idiot can de= sign consensus changes and write secure bug free C++ code) that is very muc= h secondary in importance to *how* the soft fork is activated. The activati= on design absolutely must be conservative.

I expect this = rigorous standard for soft fork activation will get a BIP number. If you ar= e going to propose a future soft fork I recommend you plan for activation i= n approximately 13 years from the point the soft fork code is merged into C= ore.

I am happy to settle the soft fork activation questi= on once and for all for the community. I expect in time my contribution wil= l be recognized in the annals of history with Satoshi Nakamoto and Hal Finn= ey.

Addendum: Although all future soft forks will ultima= tely use this standard, this standard is copyrighted. Every time it is used= royalties must be paid into this quantum secure Bitcoin vanity address 1qu= antumsecureaddress


--
Michael Folkson
Email: michaelfolkson@gmail.com
Keybase: mi= chaelfolkson
PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3
--000000000000034eb505beea76d5--