user47827: How were previous soft forks tested prior to being considered for activation? Were they added to the default testnet? Was a custom testnet setup with the soft fork functionality available on that custom testnet? Were they tested on a sidechain like Liquid? I know we have signet now (generally considered to be superior to today's testnet) but that is a relatively recent development. It was available for Taproot but none of the previously activated soft forks.

user47827: AJ Towns answered this on the bitcoin-dev mailing list.


p2sh was briefly tested on testnet (and an alternative was tested on    mainnet)
https://bitcointalk.org/index.php?topic=58579.msg786939#msg786939

cltv and csv were mostly tested on elements alpha (liquid precursor
testnet); though they were activated on testnet 6 and 11 weeks prior
to mainnet
http://diyhpl.us/wiki/transcripts/gmaxwell-sidechains-elements/

segwit was also tested via elements alpha, though in a different
form to what was deployed for bitcoin (ie, the elements approach
would have been a hard fork). because of the p2p changes (you need
additional data to validate blocks post segwit), segwit had dedicated
test networks, up to segnet4, from 1st Jan 2016 to 30th Mar 2016.
segwit was activated on testnet on 13th May 2016, merged into core on
25th June 2016, and included in the 0.13.1 released on 27th October
2016. I couldn't find very good public references about segnet, and    don't think it saw much use outside of people implementing segwit
consensus features themselves.

taproot was merged 15th October 2020 (#18267), and activated on
signet as of genesis around 21st October 2020 (#20157). It was locked
in on mainnet on 12th June 2021, activated on testnet on 8th July
2021, and activated on mainnet on 14th November 2021.

CTV had ctv-signet created around 17th December 2020, but it wasn't
really announced or encouraged until 17th Feb 2022. The core PR
(#21702) was opened 16th April 2021.
https://www.erisian.com.au/bitcoin-core-dev/log-2020-12-17.html#l-845
https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-February/019925.html

I think Drivechains has a DriveNet testnet (since 2018 or
earlier?),    though I don't see an explorer, and it looks like the
bitcoin code    it's based on predates taproot.

Other than CTV, Drivechains and ideas being explored on Liquid,
most other ideas for bitcoin consensus changes haven't really
progressed past a gist, mailing list post, bip or draft patch    to
somewhere that you can actually experiment (great consensus
cleanup, anyprevout, OP_TX/TXHASH, TLUV, SIGHASH_GROUP, PUSH_ANNEX,
checkblockatheight, g'root/graftroot, etc...)


I thing segnet was mostly used for development of segwit itself,
rather than testing or application development -- it was reset about
once a month as changes to the segwit design occurred, and after the
design was finalised, was active on testnet, either using -addnode to
connect directly to know segwit-enabled peers, or, eventually, with
seed nodes updated and filtering via the WITNESS feature. The 23rd
June 2016 meeting logs have some relevant discussion:
https://www.erisian.com.au/bitcoin-core-dev/log-2016-06-23.html#l-178


47827: <p>How were previous soft forks tested prior to being considered for activation? Were they added to the default testnet? Was a custom testnet setup with the soft fork functionality available on that custom testnet? Were they tested on a sidechain like Liquid? I know we have signet now (generally considered to be superior to today's testnet) but that is a relatively recent development. It was available for Taproot but none of the previously activated soft forks.</p>
 47827: <p>AJ Towns answered this on the bitcoin-dev <a href="https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-October/020964.html" rel="nofollow noreferrer">mailing list</a>.</p>
<blockquote>
<ul>
<li><p>p2sh was briefly tested on testnet (and an alternative was tested on    mainnet)
<a href="https://bitcointalk.org/index.php?topic=58579.msg786939#msg786939" rel="nofollow noreferrer">https://bitcointalk.org/index.php?topic=58579.msg786939#msg786939</a></p>
</li>
<li><p>cltv and csv were mostly tested on elements alpha (liquid precursor
testnet); though they were activated on testnet 6 and 11 weeks prior<br />
to mainnet
<a href="http://diyhpl.us/wiki/transcripts/gmaxwell-sidechains-elements/" rel="nofollow noreferrer">http://diyhpl.us/wiki/transcripts/gmaxwell-sidechains-elements/</a></p>
</li>
<li><p>segwit was also tested via elements alpha, though in a different<br />
form to what was deployed for bitcoin (ie, the elements approach<br />
would have been a hard fork). because of the p2p changes (you need<br />
additional data to validate blocks post segwit), segwit had dedicated
test networks, up to segnet4, from 1st Jan 2016 to 30th Mar 2016.<br />
segwit was activated on testnet on 13th May 2016, merged into core on
25th June 2016, and included in the 0.13.1 released on 27th October
2016. I couldn't find very good public references about segnet, and    don't think it saw much use outside of people implementing segwit<br />
consensus features themselves.</p>
</li>
<li><p>taproot was merged 15th October 2020 (#18267), and activated on<br />
signet as of genesis around 21st October 2020 (#20157). It was locked
in on mainnet on 12th June 2021, activated on testnet on 8th July<br />
2021, and activated on mainnet on 14th November 2021.</p>
</li>
<li><p>CTV had ctv-signet created around 17th December 2020, but it wasn't
really announced or encouraged until 17th Feb 2022. The core PR<br />
(#21702) was opened 16th April 2021.
<a href="https://www.erisian.com.au/bitcoin-core-dev/log-2020-12-17.html#l-845" rel="nofollow noreferrer">https://www.erisian.com.au/bitcoin-core-dev/log-2020-12-17.html#l-845</a>
<a href="https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-February/019925.html" rel="nofollow noreferrer">https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-February/019925.html</a></p>
</li>
<li><p>I think Drivechains has a DriveNet testnet (since 2018 or
earlier?),    though I don't see an explorer, and it looks like the
bitcoin code    it's based on predates taproot.</p>
</li>
<li><p>Other than CTV, Drivechains and ideas being explored on Liquid,<br />
most other ideas for bitcoin consensus changes haven't really<br />
progressed past a gist, mailing list post, bip or draft patch    to
somewhere that you can actually experiment (great consensus<br />
cleanup, anyprevout, OP_TX/TXHASH, TLUV, SIGHASH_GROUP, PUSH_ANNEX,<br />
checkblockatheight, g'root/graftroot, etc...)</p>
</li>
</ul>
<p>I thing segnet was mostly used for development of segwit itself,
rather than testing or application development -- it was reset about
once a month as changes to the segwit design occurred, and after the
design was finalised, was active on testnet, either using -addnode to
connect directly to know segwit-enabled peers, or, eventually, with
seed nodes updated and filtering via the WITNESS feature. The 23rd
June 2016 meeting logs have some relevant discussion:
<a href="https://www.erisian.com.au/bitcoin-core-dev/log-2016-06-23.html#l-178" rel="nofollow noreferrer">https://www.erisian.com.au/bitcoin-core-dev/log-2016-06-23.html#l-178</a></p>
</blockquote>
