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