During the multiple issues with Bitcoin this year with soft and hard forks, and Segwit, I have read as much as I can about how all these changes are "deployed", eg BIP9, BIP91, BIP148, BIP's 141-146.
However I am still not clear about some of the terminology, such as "locking in", "signalling", "activation", "deployment".
I understand Segwit was implemented in v0.13.1 (and above) of Bitcoin Core which was released on 27/10/2016.
So all the Segwit changes have been in the Bitcoin Core software since that date ?
So when "activation" of Segwit occurred - did that mean a flag within the Bitcoin client, say "ACTIVATION_FLAG
", became true and then the Segwit functionality thus started to run - because it is contained inside an "if" block :-
if (ACTIVATION_FLAG) {
do Segwit stuff
}
However Segwit is a complex upgrade to Bitcoin so there must be many places where changes are made to Bitcoin for Segwit - so how many such "if" blocks are there ?
Can someone give me some links to where these "if" blocks are located in the Bitcoin source code?