Eric Lombrozo [ARCHIVE] on Nostr: 📅 Original date posted:2015-09-30 📝 Original message:Good points, Greg. The way ...
📅 Original date posted:2015-09-30
📝 Original message:Good points, Greg.
The way I see it, this mechanism isn't really about "voting" - it's
about deployment of fairly uncontroversial changes with the minimum
amount of negative disruption. If we have reason to believe a particular
BIP stands little chance of hitting the 95% mark relatively quickly,
it's probably better not to deploy it...so this mechanism is most useful
for adding fairly uncontroversial features provided as default settings
in product releases - and measuring adoption as best we can before
activating these features.
The current controversies around things like CLTV, CSV, etc... don't
seem to revolve around these features themselves - there seems to be
near-unanimous agreement that these features are good (and most
disagreements regarding functionality are over quite minor nits,
really). Instead the controversies are much more likely to be around
deployment strategies.
While I would like to get some form of explicit acknowledgment from
miners that a new rule is in effect, the truth of the matter is we still
lack a means to determine whether or not miners are actually enforcing
these rules...unless someone happens to mine a block that breaks the new
rule. This is a bit frustrating...but that's just how it is.
To sum up, Version Bits is not a mechanism for vetting proposed changes
and building consensus (that should take place BEFORE we assign bits).
This is a deployment mechanism for fairly uncontroversial changes.
Either a BIP is relatively quickly adopted with overwhelming
support...or else perhaps it's best to wait until it has sufficient
support before attempting deployment (or perhaps not deploy it at all) -
and ultimately we want these transitions to run as smoothly as possible.
As long as the BIPs are relatively uncontroversial, miners will most
likely continue to choose to cooperate in the interest of the health of
the network (and will use recommended default settings). Once clients
have better support for this, perhaps we can do more sophisticated
signaling.
- Eric
------ Original Message ------
From: "Gregory Maxwell" <gmaxwell at gmail.com>
To: "Rusty Russell" <rusty at rustcorp.com.au>
Cc: "Bitcoin Dev" <bitcoin-dev at lists.linuxfoundation.org>; "Peter Todd"
<pete at petertodd.org>; "Pieter Wuille" <pieter.wuille at gmail.com>; "Eric
Lombrozo" <elombrozo at gmail.com>
Sent: 9/29/2015 7:57:52 PM
Subject: Re: Versionbits BIP (009) minor revision proposal.
>On Wed, Sep 30, 2015 at 2:30 AM, Rusty Russell <rusty at rustcorp.com.au>
>wrote:
>> Hi all,
>>
>> Pieter and Eric pointed out that the current BIP has miners
>> turning off the bit as soon as it's locked in (75% testnet / 95%
>> mainnet). It's better for them to keep setting the bit until
>>activation
>> (2016 blocks later), so network adoption is visible.
>>
>> I'm not proposing another suggestion, though I note it for future:
>> miners keep setting the bit for another 2016 blocks after activation,
>> and have a consensus rule that rejects blocks without the bit. That
>> would "force" upgrades on those last miners. I feel we should see
>>how
>> this works first.
>
>
>Actually getting rid of the immediate bit forcing was something I
>considered to be an advantage of versionbits over prior work.
>
>Consider, where possible we carve soft fork features out from
>non-standard behavior. Why do we do this? Primarily so that
>non-upgraded miners are not mining invalid transactions which
>immediately cause short lived forks once the soft-fork activates.
>(Secondarily to protect wallets from unconfirmed TX that won't ever
>confirm).
>
>The version forcing, however, guarantees existence of the same forks
>that the usage of non-standard prevented!
>
>I can, however, argue it the other way (and probably have in the
>past): The bit is easily checked by thin clients, so thin clients
>could use it to reject potentially ill-fated blocks from non-upgraded
>miners post switch (which otherwise they couldn't reject without
>inspecting the whole thing). This is an improvement over not forcing
>the bit, and it's why I was previously in favor of the way the
>versions were enforced. But, experience has played out other ways,
>and thin clients have not done anything useful with the version
>numbers.
>
>A middle ground might be to require setting the bit for a period of
>time after rule enforcing begins, but don't enforce the bit, just
>enforce validity of the block under new rules. Thus a thin client
>could treat these blocks with increased skepticism.
Published at
2023-06-07 17:41:53Event JSON
{
"id": "e55c3a760c81203968a294c412b6bdfc02544a80780e1acd98072badc2ac992c",
"pubkey": "e899768d254f3537af7e26455968583632d0ab0bd4c780445eacfa087ac80d8f",
"created_at": 1686159713,
"kind": 1,
"tags": [
[
"e",
"0c83326327ba604c52d5c697e5274340531ee31502bd7fd83d6a7ba4ea83b7af",
"",
"root"
],
[
"e",
"de20e8cc65f5d9d05dc044e50ce59f6a0d885dbac0a409e6513fc9dc1713cb64",
"",
"reply"
],
[
"p",
"4aa6cf9aa5c8e98f401dac603c6a10207509b6a07317676e9d6615f3d7103d73"
]
],
"content": "📅 Original date posted:2015-09-30\n📝 Original message:Good points, Greg.\n\nThe way I see it, this mechanism isn't really about \"voting\" - it's \nabout deployment of fairly uncontroversial changes with the minimum \namount of negative disruption. If we have reason to believe a particular \nBIP stands little chance of hitting the 95% mark relatively quickly, \nit's probably better not to deploy it...so this mechanism is most useful \nfor adding fairly uncontroversial features provided as default settings \nin product releases - and measuring adoption as best we can before \nactivating these features.\n\nThe current controversies around things like CLTV, CSV, etc... don't \nseem to revolve around these features themselves - there seems to be \nnear-unanimous agreement that these features are good (and most \ndisagreements regarding functionality are over quite minor nits, \nreally). Instead the controversies are much more likely to be around \ndeployment strategies.\n\nWhile I would like to get some form of explicit acknowledgment from \nminers that a new rule is in effect, the truth of the matter is we still \nlack a means to determine whether or not miners are actually enforcing \nthese rules...unless someone happens to mine a block that breaks the new \nrule. This is a bit frustrating...but that's just how it is.\n\nTo sum up, Version Bits is not a mechanism for vetting proposed changes \nand building consensus (that should take place BEFORE we assign bits). \nThis is a deployment mechanism for fairly uncontroversial changes. \nEither a BIP is relatively quickly adopted with overwhelming \nsupport...or else perhaps it's best to wait until it has sufficient \nsupport before attempting deployment (or perhaps not deploy it at all) - \nand ultimately we want these transitions to run as smoothly as possible. \nAs long as the BIPs are relatively uncontroversial, miners will most \nlikely continue to choose to cooperate in the interest of the health of \nthe network (and will use recommended default settings). Once clients \nhave better support for this, perhaps we can do more sophisticated \nsignaling.\n\n\n- Eric\n\n\n------ Original Message ------\nFrom: \"Gregory Maxwell\" \u003cgmaxwell at gmail.com\u003e\nTo: \"Rusty Russell\" \u003crusty at rustcorp.com.au\u003e\nCc: \"Bitcoin Dev\" \u003cbitcoin-dev at lists.linuxfoundation.org\u003e; \"Peter Todd\" \n\u003cpete at petertodd.org\u003e; \"Pieter Wuille\" \u003cpieter.wuille at gmail.com\u003e; \"Eric \nLombrozo\" \u003celombrozo at gmail.com\u003e\nSent: 9/29/2015 7:57:52 PM\nSubject: Re: Versionbits BIP (009) minor revision proposal.\n\n\u003eOn Wed, Sep 30, 2015 at 2:30 AM, Rusty Russell \u003crusty at rustcorp.com.au\u003e \n\u003ewrote:\n\u003e\u003e Hi all,\n\u003e\u003e\n\u003e\u003e Pieter and Eric pointed out that the current BIP has miners\n\u003e\u003e turning off the bit as soon as it's locked in (75% testnet / 95%\n\u003e\u003e mainnet). It's better for them to keep setting the bit until \n\u003e\u003eactivation\n\u003e\u003e (2016 blocks later), so network adoption is visible.\n\u003e\u003e\n\u003e\u003e I'm not proposing another suggestion, though I note it for future:\n\u003e\u003e miners keep setting the bit for another 2016 blocks after activation,\n\u003e\u003e and have a consensus rule that rejects blocks without the bit. That\n\u003e\u003e would \"force\" upgrades on those last miners. I feel we should see \n\u003e\u003ehow\n\u003e\u003e this works first.\n\u003e\n\u003e\n\u003eActually getting rid of the immediate bit forcing was something I\n\u003econsidered to be an advantage of versionbits over prior work.\n\u003e\n\u003eConsider, where possible we carve soft fork features out from\n\u003enon-standard behavior. Why do we do this? Primarily so that\n\u003enon-upgraded miners are not mining invalid transactions which\n\u003eimmediately cause short lived forks once the soft-fork activates.\n\u003e(Secondarily to protect wallets from unconfirmed TX that won't ever\n\u003econfirm).\n\u003e\n\u003eThe version forcing, however, guarantees existence of the same forks\n\u003ethat the usage of non-standard prevented!\n\u003e\n\u003eI can, however, argue it the other way (and probably have in the\n\u003epast): The bit is easily checked by thin clients, so thin clients\n\u003ecould use it to reject potentially ill-fated blocks from non-upgraded\n\u003eminers post switch (which otherwise they couldn't reject without\n\u003einspecting the whole thing). This is an improvement over not forcing\n\u003ethe bit, and it's why I was previously in favor of the way the\n\u003eversions were enforced. But, experience has played out other ways,\n\u003eand thin clients have not done anything useful with the version\n\u003enumbers.\n\u003e\n\u003eA middle ground might be to require setting the bit for a period of\n\u003etime after rule enforcing begins, but don't enforce the bit, just\n\u003eenforce validity of the block under new rules. Thus a thin client\n\u003ecould treat these blocks with increased skepticism.",
"sig": "69c232de4a9a5d45e631541b9fa61fcf7a13f61f9be4323083a130bfb9add924b6277ce900b72ddac6fb7f1bfaf2ed445c2ff2910cbb9224e6e763219d67145c"
}