Skip to content

Conversation

luke-jr
Copy link
Member

@luke-jr luke-jr commented May 12, 2021

While the signal has no effect during LOCKED_IN, the bit is still defined and recommended for measuring uptake. Makes sense to expose statistics too.

@Sjors
Copy link
Member

Sjors commented May 21, 2021

Concept ACK

According to BIP 9 (as well as BIP 8):

Miners should continue setting the bit in LOCKED_IN phase so uptake is visible, though this has no effect on consensus rules.

I'm probably going to be lazy and test this if taproot locks in :-)

@DrahtBot
Copy link
Contributor

DrahtBot commented May 22, 2021

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Conflicts

Reviewers, this pull request conflicts with the following ones:

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

Copy link

@ghost ghost left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 2b19f34

@theStack
Copy link
Contributor

Concept ACK

Copy link
Member

@Sjors Sjors left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tACK 2b19f34

Would be nice to add a test in rpc_blockchain.py

Result for getblockchaininfo (partial):

{
  "chain": "main",
  "blocks": 687794,
  "headers": 687794,
  "bestblockhash": "00000000000000000005ffb3c10a9c4f049cdc1b399431ba9c56ea36d7e5351f",
  "softforks": {
   "taproot": {
      "type": "bip9",
      "bip9": {
        "status": "locked_in",
        "bit": 2,
        "start_time": 1619222400,
        "timeout": 1628640000,
        "since": 687456,
        "statistics": {
          "period": 2016,
          "elapsed": 339,
          "count": 338
        },
        "min_activation_height": 709632
      },
      "active": false
    }
  }
}

@@ -1377,23 +1377,24 @@ static void BIP9SoftForkDescPushBack(const CBlockIndex* active_chain_tip, UniVal
case ThresholdState::ACTIVE: bip9.pushKV("status", "active"); break;
case ThresholdState::FAILED: bip9.pushKV("status", "failed"); break;
}
if (ThresholdState::STARTED == thresholdState)
{
const bool has_signal = (ThresholdState::STARTED == thresholdState || ThresholdState::LOCKED_IN == thresholdState);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

may_signal?

luke-jr added a commit to bitcoinknots/bitcoin that referenced this pull request Jun 27, 2021
Copy link
Contributor

@theStack theStack left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested ACK 2b19f34

Master/PR branch diff of getblockchaininfo (mainnet) "segwit" soft-fork section output:

@@ -2,11 +2,16 @@
       "type": "bip9",
       "bip9": {
         "status": "locked_in",
+        "bit": 2,
         "start_time": 1619222400,
         "timeout": 1628640000,
         "since": 687456,
+        "statistics": {
+          "period": 2016,
+          "elapsed": 2007,
+          "count": 2002
+        },
         "min_activation_height": 709632
       },
       "active": false
     }

Copy link
Member

@maflcko maflcko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

review-only ACK 2b19f34

Didn't think whether this makes sense, as I likely won't use it.

@maflcko maflcko merged commit a273e3c into bitcoin:master Jul 21, 2021
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request Jul 23, 2021
…onbits signalling details during LOCKED_IN

2b19f34 RPC/blockchain: getblockchaininfo: Include versionbits signalling details during LOCKED_IN (Luke Dashjr)

Pull request description:

  While the signal has no effect during `LOCKED_IN`, the bit is still defined and recommended for measuring uptake. Makes sense to expose statistics too.

ACKs for top commit:
  prayank23:
    ACK bitcoin@2b19f34
  Sjors:
    tACK 2b19f34
  theStack:
    Tested ACK 2b19f34
  MarcoFalke:
    review-only ACK 2b19f34

Tree-SHA512: a9bb5adb21992586119cbb5f87e5348eabcab11d5a3bf769b00b69e466589a669846e503f8384fa8927fd77da0c2d64a54f13a7a55a62980046d70f8255ddf47
romanz added a commit to romanz/rust-bitcoincore-rpc that referenced this pull request Jul 29, 2021
romanz added a commit to romanz/rust-bitcoincore-rpc that referenced this pull request Jan 8, 2022
RCasatta added a commit to rust-bitcoin/rust-bitcoincore-rpc that referenced this pull request Jan 10, 2022
6538851 Make 'threshold' and 'possible' BIP9 statistics optional (Roman Zeyde)

Pull request description:

  Following bitcoin/bitcoin#21934, latest Bitcoin Core `getblockchaininfo` RPC does not return the `threshold` and `possible` keys after a softwork is locked in:
  ```
  $ bitcoin-cli getblockchaininfo | jq .softforks.taproot
  {
    "type": "bip9",
    "bip9": {
      "status": "locked_in",
      "bit": 2,
      "start_time": 1619222400,
      "timeout": 1628640000,
      "since": 687456,
      "statistics": {
        "period": 2016,
        "elapsed": 1721,
        "count": 1718
      },
      "min_activation_height": 709632
    },
    "active": false
  }
  ```

ACKs for top commit:
  RCasatta:
    ACK 6538851

Tree-SHA512: bc8038c60c5814f2579b9c8860bccd84419e3a58121ee4ab356d9412a15e073efbe91029541b27ccb0a9430e1e6d579d33ffcf07c5b32a133345df35bbfba958
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Aug 16, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants