SegWit was actually implemented into the Bitcoin network in August 2017. This network change is fundamental and modifies transactions format by slimming them down in size significantly. Thus, more transactions can be fit into a block increasing capacity. Segregated Witnessis a soft fork which means it’s absolutely compatible with the existing Bitcoin protocol.

Each of the transactions has its witness data, that’s actually the largest transaction part. That data isn’t needed for verifying the transaction; SegWitmoves it to the end of the transaction, that’s segregation.

In case the transaction is sent to a node that hasn’t upgraded to SegWit(a legacy node), that node reduces the total transaction size and saves some space. Nodes can’t modify the witness data anymore and can’t change the sender’s data. Here the multi-layer solution is needed. The users save on fees, while that way they are calculated per byte, and the SegWitreduces the the size of total transaction.

SegWitalso changes the block definition. It’s no longer defined in terms of bytes, but in terms of “weights”. A maximum weight of a block is 4.000. For comparison, 4 is a weight of legacy transactions, while 0.25 is a weight of SegWittransactions. Thus, a block is enabled to have a higher size (approx. 2MB). Now nodes have to upgrade to SegWitfor following that definition. Wallets have to incorporate SegWitfor sending SegWittransactions. Eventually, the SegWitadoption was accounting only 12% of traffic, pretty slow.

It’s recommended to use wallets incorporating SegWitfor speeding up SegWitadoption because of their above mentioned benefits.