Return-Path: Received: from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137]) by lists.linuxfoundation.org (Postfix) with ESMTP id 0A0E1C000E for ; Sat, 26 Jun 2021 20:22:14 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id E447E403D4 for ; Sat, 26 Jun 2021 20:22:13 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org X-Spam-Flag: NO X-Spam-Score: -2.098 X-Spam-Level: X-Spam-Status: No, score=-2.098 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_IMAGE_ONLY_32=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 WxCqj_wg_xFt for ; Sat, 26 Jun 2021 20:22:12 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com [IPv6:2a00:1450:4864:20::62e]) by smtp4.osuosl.org (Postfix) with ESMTPS id 3ACF9403C7 for ; Sat, 26 Jun 2021 20:22:12 +0000 (UTC) Received: by mail-ej1-x62e.google.com with SMTP id ot9so20211905ejb.8 for ; Sat, 26 Jun 2021 13:22:12 -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=6B4Gye3tx1jwOLcyFNrw4XgUEyOCvUqh31MtmlD6slc=; b=ONvxXJsqb/IGrf1IjdfLCUItwc8KZQHodBNd8oUzWW7dbiStiml9lKG+AUUTDUCAM5 rbyW7gHLnNI35ZhrauEo+j3W+cYavcUr78uKPYamllslSgqS25xahuF8upOPWG8EpDo1 qqiuUftgrvCVaa7aLEE4FDicInOYwQIptwTemAVHQEDuDNy6+RNT+OM2oiisdIk8rtlD o6IOoi5d0W+rFL2ORUAXcUv5+6e/7keVsRk6Rv00pSsyMClGofP+KCWurwz4v6tn0L/v rvG2RwwUI8wz55wgXNgH26pefEdjQCAlHe90j8Ubh1u+OHP/1WGiqSw0LdSpvf38VExT WmBA== 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=6B4Gye3tx1jwOLcyFNrw4XgUEyOCvUqh31MtmlD6slc=; b=Whp+Yu5nPUDe+kej3o6zZhlTTTfhvjVq50Ef+jzdTvH6Te8a9mLHTRz0DPGGUZg7PO xfb6kUDJ45Zi73yEYN7bI+UJ3BenTQCMKmqMipmwnoB4LToThCkY0Ih6pfY+1mcjRp3z IledWJ8A6yusJIskPi7zkZddeY7BBdL5XuLp6fOr7w09Ml0nvupuGh6nPWrfN8dL2Gbs DdYRVMQiFjIZhQryB5oHwa1Nmux7YH/pIp2oEzspjSx+ioWd6nhIWpLFQaVL8W3m7j51 KEP7FlTN4tFTTg0vh7RgxFrCXj/GR+DsJCNp10EkpxuphhXZM9JmtpJWw767e8rkiTR1 fJVA== X-Gm-Message-State: AOAM531ryqJqiky4B4duCxjcvT1Sf9thWJhlhRCxk36F3VwHhqvq4se5 FEFgCabKavJ2l8vU1FNhzf7GFbtWdeQ3EL9Stce6k/BsG/w= X-Google-Smtp-Source: ABdhPJzS3moKwamtHSJzIT7bVuiq+Zcjb9dbFY936cHNspbVL9fRYcFzccqdE5Ho9dExp3LFYDj73xeg5Ie4Zloxwcw= X-Received: by 2002:a17:906:3b57:: with SMTP id h23mr17148971ejf.241.1624738929744; Sat, 26 Jun 2021 13:22:09 -0700 (PDT) MIME-Version: 1.0 From: Billy Tetrud Date: Sat, 26 Jun 2021 13:21:52 -0700 Message-ID: To: Bitcoin Protocol Discussion Content-Type: multipart/related; boundary="000000000000c2d91905c5b10268" X-Mailman-Approved-At: Sat, 26 Jun 2021 20:32:39 +0000 Subject: [bitcoin-dev] Trinary Version Signaling for softfork upgrades 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: Sat, 26 Jun 2021 20:22:14 -0000 --000000000000c2d91905c5b10268 Content-Type: multipart/alternative; boundary="000000000000c2d91705c5b10267" --000000000000c2d91705c5b10267 Content-Type: text/plain; charset="UTF-8" Given the recent controversy over upgrade mechanisms for the non-controversial taproot upgrade, I have been thinking about ways to solve the problems that both sides brought up. In short, BIP8 LOT=true proponents make the point that lazy miners failing to upgrade in a timely manner slow down releases of bitcoin upgrades, and BIP9 / BIP8 LOT=false proponents make the point that LOT=true can lead to undesirable forks that might cause a lot of chaos. I believe both points are essentially correct and have created a proposal for soft fork upgrades that solve both problems. The proposal uses trinary version signaling rather than binary signaling. For any particular prospective soft fork upgrade, this allows for three signaling states: * Actively support the change. * Actively oppose the change. * Not signaling (neither support or oppose). This is the default state. Using this additional information, we can release non-contentious upgrades much quicker (with a much lower percent of miners signaling support). For contentious upgrades, miners who oppose the change are incentivized to update their software to a version that can actively signal opposition to the change. The more opposition there is, the higher the threshold necessary to lock in the upgrade. With the parameters I currently recommended in the proposal, this chart shows how much support signaling would be necessary given a particular amount of active opposition signaling: [image: thresholdChart.png] If literally no one signals opposition, a 60% threshold should be relatively safe because it is a supermajority amount that is unlikely to change significantly very quickly (ie if 60% of miners support the change today, its unlikely that less than a majority of miners would support the change a year or two from now), and if no one is signaling opposition, chances are that the vast majority of the other 40% would also eventually signal support. This both gives an incentive for "lazy" miners to upgrade if they actually oppose the change while at the same time allowing these lazy miners to remain lazy without slowing down the soft fork activation much. I think now is the right time to discuss new soft fork upgrade mechanisms, when there are no pressing soft fork upgrades ready to deploy. Waiting until we need to deploy a soft fork to discuss this will only delay things and cause contention again like it did with taproot. I'm very curious to know what people think of this mechanism. I would appreciate any comments here, or written as github issues on the proposal repo itself. Thanks, BT --000000000000c2d91705c5b10267 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Given the recent controversy=C2=A0over upgrade mechanisms= =C2=A0for the non-controversial taproot upgrade, I have been thinking about= ways to solve the problems that both sides brought up. In short, BIP8 LOT= =3Dtrue proponents make the point that lazy miners failing to upgrade in a = timely manner slow down releases of bitcoin upgrades, and BIP9 / BIP8 LOT= =3Dfalse proponents=C2=A0make the point that LOT=3Dtrue can lead to undesir= able forks that might cause a lot of chaos. I believe both points are essen= tially correct and have created a proposal for soft fork upgrades that solve both problems= .

The proposal uses trinary version signaling = rather than binary signaling. For any particular prospective soft fork upgr= ade, this allows for three signaling states:
=C2=A0
* Actively= support the change.
* Actively oppose the change.
* No= t signaling (neither support or oppose). This is the default state.

Using this additional information, we can release non-con= tentious upgrades much quicker (with a much lower percent of miners signali= ng support). For contentious upgrades, miners who oppose the change are inc= entivized to update their software to a version that can=20 actively=20 signal opposition to the change. The more opposition there is, the higher t= he threshold necessary to lock in the upgrade. With the parameters I curren= tly recommended in the proposal, this chart shows how much support signalin= g would be necessary given a particular amount of active opposition signali= ng:

3D"threshold=
If literally no one = signals opposition, a 60% threshold should be relatively safe because it is= a supermajority amount that is unlikely to change significantly very quick= ly (ie if 60% of miners support the change today, its unlikely that less th= an a majority of miners would support the change a year or two from now), a= nd if no one is signaling opposition, chances are that the vast majority of= the other 40% would also eventually signal support.=C2=A0

This both gives an incentive for "lazy" miners to upgrad= e if they actually oppose the change while at the same time allowing these = lazy miners to remain lazy without slowing down the soft fork activation mu= ch.

I think now is the right time to d= iscuss new soft fork upgrade mechanisms, when there are no pressing soft fo= rk upgrades ready to deploy. Waiting until we need to deploy a soft fork to= discuss this will only delay things and cause contention again like it did= with taproot.=C2=A0

I'm very curious to know = what people think of this mechanism. I would appreciate any comments here, = or written as github issues on the proposal repo itself.=C2=A0
Thanks,
BT
--000000000000c2d91705c5b10267-- --000000000000c2d91905c5b10268 Content-Type: image/png; name="thresholdChart.png" Content-Disposition: inline; filename="thresholdChart.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: ii_kqaf00ua0 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 g2ynPeQAAAAASUVORK5CYII= --000000000000c2d91905c5b10268--