Skip to content

Commit a8242bd

Browse files
LarryRuanebitschmidty
authored andcommitted
News241: add review club summary bi-16
1 parent b720099 commit a8242bd

File tree

2 files changed

+62
-4
lines changed

2 files changed

+62
-4
lines changed

_posts/en/newsletters/2023-03-08-newsletter.md

+59-4
Original file line numberDiff line numberDiff line change
@@ -111,12 +111,62 @@ popular Bitcoin infrastructure software.
111111
meeting, highlighting some of the important questions and answers. Click on a
112112
question below to see a summary of the answer from the meeting.*
113113

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.
115128

116129
{% 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"
120170
%}
121171

122172
## Releases and release candidates
@@ -169,3 +219,8 @@ Proposals (BIPs)][bips repo], and [Lightning BOLTs][bolts repo].*
169219
[news234 vault]: /en/newsletters/2023/01/18/#proposal-for-new-vault-specific-opcodes
170220
[news166 tluv]: /en/newsletters/2021/09/15/#covenant-opcode-proposal
171221
[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

_topics/en/soft-fork-activation.md

+3
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,9 @@ optech_mentions:
139139
- title: History of how various soft fork proposals were tested prior to activation
140140
url: /en/newsletters/2022/10/26/#what-is-the-history-on-how-previous-soft-forks-were-tested-prior-to-being-considered-for-activation
141141

142+
- title: "PR Review Club meeting about Heretical Deployments used in Bitcoin Inquisition"
143+
url: /en/newsletters/2023/03/08/#bitcoin-core-pr-review-club
144+
142145
## Optional. Same format as "primary_sources" above
143146
see_also:
144147
- title: BIP activation heights, times, and thresholds

0 commit comments

Comments
 (0)