Segregated Witness was a Bitcoin soft fork that split transactions into two segments. It segregates or removes the witness data from the original portion and appends it in such a way that is counted as a quarter of its pre-segwit size. This change to the Bitcoin protocol was implemented in response to transaction speed constraints caused by Bitcoin’s 1MB block size. SegWit removed the constraint placed on block size and placed one on block weight. Blockweight is defined as (tx size with witness data stripped) * 3 + (tx size). Put simply, Legacy Nodes can receive about 4MB blocks and treat them like they are still 1MB. This is how these protocol changes were made without a hard fork.