@@ -104,12 +104,62 @@ This week's newsletter FIXME:harding
104
104
meeting, highlighting some of the important questions and answers. Click on a
105
105
question below to see a summary of the answer from the meeting.*
106
106
107
- FIXME: LarryRuane is a PR by FIXME that FIXME.
107
+ [ bitcoin-inquisition: Activation logic for testing consensus changes] [ review club bi-16 ]
108
+ is a PR by Anthony Towns that adds a new method for activating and deactivating
109
+ soft forks in the [ Bitcoin Inquisition] [ ] project, designed to be run on [ signet] [ topic signet ]
110
+ and used for testing.
111
+ This project was covered in [ newsletter #219 bi] [ ] .
112
+
113
+ Specifically, this PR replaces [ BIP9] [ ] block version bit semantics with what
114
+ are called [ Heretical Deployments] [ ] .
115
+ In contrast to consensus and relay changes on mainnet -- which are difficult
116
+ and time-consuming to activate, requiring the careful building of (human)
117
+ consensus and an elaborate [ soft fork activation] [ topic soft fork activation ]
118
+ mechanism -- on a test network activating these changes can be streamlined.
119
+ The PR also implements a way to deactivate changes that turn out to be buggy
120
+ or undesired, which is a major departure from mainnet.
108
121
109
122
{% include functions/details-list.md
110
- q0="FIXME"
111
- a0="FIXME"
112
- a0link="https://bitcoincore.reviews/FIXME#l-22 "
123
+ q0="Why do we want to deploy consensus changes that aren’t merged
124
+ into Bitcoin Core? What problems (if any) are there with merging the
125
+ code into Bitcoin Core, and then testing it on signet afterward?"
126
+ a0="Several reasons were discussed. We can't require mainnet users to upgrade
127
+ the version of Core they're
128
+ running, so even after a bug has been fixed, some users may continue
129
+ running the buggy version. Depending only on regtest makes
130
+ integration testing third-party software more difficult.
131
+ Merging consensus changes to a separate repository is much less risky than merging to Core;
132
+ adding soft fork logic, even if not activated, may introduce bugs that affect existing behavior."
133
+ a0link="https://bitcoincore.reviews/bitcoin-inquisition-16#l-37 "
134
+
135
+ q1="Heretical Deployments move through a sequence of finite-state
136
+ machine states similar to the BIP9 states
137
+ (` DEFINED ` , ` STARTED ` , ` LOCKED_IN ` , ` ACTIVE ` , and ` FAILED ` ),
138
+ but with one additional state after ` ACTIVE ` called ` DEACTIVATING `
139
+ (following which is the final state, ` ABANDONED ` ).
140
+ What is the purpose of the ` DEACTIVATING ` state?"
141
+ a1="It gives users a chance to withdraw funds they might have locked
142
+ into the soft fork. Once the fork is deactivated or replaced, they
143
+ might not be able to spend the funds at all -- even if they're
144
+ anyone-can-spend; that doesn't work if your tx is rejected for
145
+ being non-standard.
146
+ The concern isn't so much the permanent
147
+ loss of the limited signet funds, but rather that the UTXO set
148
+ may become bloated."
149
+ a1link="https://bitcoincore.reviews/bitcoin-inquisition-16#l-92 "
150
+
151
+ q2="Why does the PR remove ` min_activation_height ` ?"
152
+ a2="We don't need a configurable interval between lock-in and activation
153
+ in the new state model -- with Heretical Deployments, it activates
154
+ automatically at the start of the next 432-block (3 days) state
155
+ machine period (this period is fixed for Heretical Deployment)."
156
+ a2link="https://bitcoincore.reviews/bitcoin-inquisition-16#l-126 "
157
+
158
+ q3="Why is Taproot buried in this PR?"
159
+ a3="If you didn't bury it, you'd have to make it a Heretical Deployment,
160
+ which requires some coding effort; also that would mean that it
161
+ would timeout eventually, but we want Taproot never to timeout."
162
+ a3link="https://bitcoincore.reviews/bitcoin-inquisition-16#l-147 "
113
163
%}
114
164
115
165
## Releases and release candidates
@@ -148,3 +198,8 @@ Proposals (BIPs)][bips repo], and [Lightning BOLTs][bolts repo].*
148
198
[ sanders vault ] : https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2023-March/021510.html
149
199
[ news234 vault ] : /en/newsletters/2023/01/18/#proposal-for-new-vault-specific-opcodes
150
200
[ news166 tluv ] : /en/newsletters/2021/09/15/#covenant-opcode-proposal
201
+ [ newsletter #219 bi ] : /en/newsletters/2022/09/28/#bitcoin-implementation-designed-for-testing-soft-forks-on-signet
202
+ [ review club bi-16 ] : https://bitcoincore.reviews/bitcoin-inquisition-16
203
+ [ bitcoin inquisition ] : https://github.com/bitcoin-inquisition/bitcoin
204
+ [ heretical deployments ] : https://github.com/bitcoin-inquisition/bitcoin/wiki/Heretical-Deployments
205
+ [ bip9 ] : https://github.com/bitcoin/bips/blob/master/bip-0009.mediawiki
0 commit comments