Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Specify BIP9 deployment for DynaFed #912

Merged
merged 3 commits into from
Oct 6, 2020

Conversation

stevenroose
Copy link
Member

@stevenroose stevenroose commented Sep 30, 2020

Bit: 25 (identical to current elementsregtest dynafed bit)
Start: block 1,000,000 (recent past)
Timeout: never

The semantics of these fields were changed in
6fc3fe0.
Bit: 25
Start: block 1,000,000 (recent past)
Timeout: never
@gwillen
Copy link
Contributor

gwillen commented Oct 1, 2020

Looks reasonable to me. We should make sure to think very carefully about the implications of this. It's problematic to test, by its very nature (it's a change that only affects the non-test network.)

Copy link
Contributor

@jonasnick jonasnick left a comment

Choose a reason for hiding this comment

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

What's the rationale behind setting the start time to a block in the past instead of in the future?

@gwillen
Copy link
Contributor

gwillen commented Oct 5, 2020

Hm, is my understanding correct (I hope) that this change will not actually cause any BIP 9 signalling, merely enable it to happen in the future?

If so, it seems like it shouldn't matter what we set the start time to, and setting it in the past is fine, giving us maximum flexibility.

@stevenroose
Copy link
Member Author

@jonasnick yeah it shouldn't matter much and for rememberability, it seemed to make sense to pick a round number. The bit is not used today so it can't accidentally trigger the update. Nor do we expect the bit to be used before this is released, as we're not updating the blocksigners.

@jonasnick
Copy link
Contributor

Okay, so iiuc the reason is that only blocksigners can exercise the hard fork rules. They can not even do that prematurely to fork the chain because the current dynafed code has been released more than 10 months ago (and they wouldn't have an incentive to do that).

Copy link
Contributor

@jonasnick jonasnick left a comment

Choose a reason for hiding this comment

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

After thinking about this again, this reasoning is incorrect. The dynafed code has been released but without the versionbit it's not active and therefore users that don't update can end up on a stalled chain if the blocksigners exercise the hardfork rules early. Considering the Liquid trust model this is not a significant issue. ACK afcb71f

@stevenroose stevenroose merged commit 88067dd into ElementsProject:master Oct 6, 2020
stevenroose added a commit that referenced this pull request Oct 6, 2020
…r DynaFed

47bc28a Speficy dynafed deployment for Liquidv1 (Steven Roose)
385b670 Add comment to BIP9 time fields (Steven Roose)
6f70350 Move dynafed bit into the ELEMENTS fields (Steven Roose)

Pull request description:

Tree-SHA512: 12710e8fd04a3753d1afc26a81f62cdef66449071da00ca39854b1cd66c4002669c26e4db0a64636f3458206d451055ddbaeb66e4fc847166b57968cd2ce59e2
apoelstra added a commit to apoelstra/elements that referenced this pull request Dec 3, 2020
Also fixed an intermittent failure in feature_assetsdir.py that has
been bugging me for the entire rebase.
stevenroose pushed a commit that referenced this pull request Mar 22, 2021
Also fixed an intermittent failure in feature_assetsdir.py that has
been bugging me for the entire rebase.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants