SegWit
SegWit, short for segregated witness, was a 2017 bitcoin upgrade. It moved signatures out of the transaction ID and changed how block size is counted.
By Dimitar Zurnov · Updated 4 Nov 2026
Adapted from Learn Me a Bitcoin by Greg Walker.
SegWit, short for segregated witness, is a bitcoin upgrade that went live on 24 August 2017, at block 481,824. It moved the signature data of each transaction into a separate part called the witness. That fixed a problem known as transaction malleability, and it changed how block size is counted, so blocks can hold more data.
What changed inside a transaction?
Before SegWit, each input held its own unlocking data, including the signature. The transaction ID, or TXID, was a hash of the whole transaction, so the signatures were part of the ID.
With SegWit, the signatures move to the end of the transaction, into the witness. The TXID is now made from the rest of the transaction, without the witness. The witness is still checked, so validation is no weaker. It is just outside the TXID.
What is transaction malleability?
Transaction malleability means that a transaction's ID can change before it is mined, even though the payment stays the same. A signature can be written in more than one valid form. One way to change its form is to invert a number inside it, called the s value. That changes the ID without changing what the transaction does.
Before SegWit, any node that relayed a transaction could make that change. The transaction would then be mined under a different ID. A sender who tracked the original ID could easily lose track of the payment.
SegWit fixed this for SegWit transactions. Older transactions can still be changed in this way. Bitcoin also tracks a witness ID, or wtxid, which covers the signatures, so it can still change.
What changed in block size?
Before SegWit, a block could hold up to 1,000,000 bytes. SegWit measures blocks in weight units instead. A block can weigh up to 4,000,000 weight units. A normal byte counts as 4 weight units, while a witness byte counts as 1. So witness data takes a quarter of the room that other data takes, measured in weight.
Blocks can now be larger than 1 MB, although the exact size depends on how much of the block is witness data. Here is a rough example, where about 60% of the bytes are witness data:
400,000 bytes x 4 = 1,600,000 weight units
600,000 bytes x 1 = 600,000 weight units
Total = 2,200,000 weight units
A block with this mix weighs 2,200,000 units, so it can grow to about 1.8 MB before it reaches the 4,000,000 limit. That figure is an estimate, and real blocks vary.
Why not raise the block size limit instead?
A simpler fix would have been to raise the block size limit. But that would have made blocks that old nodes reject. Old nodes check every block against the rules they already know, so they would refuse the new blocks.
Everyone would then need to upgrade, or the network would split into two chains: one for upgraded nodes and one for the rest. That kind of change is a hard fork. It can work, but it is risky, and it leaves people behind.
Was SegWit a soft fork?
Yes. SegWit followed the existing rules, so every SegWit block still looks valid to an old node. Old nodes accept the new blocks, and everyone stays on one chain. A change of this kind is a soft fork.
Nodes that have not upgraded cannot use the new features, but they keep up with the blockchain. Until they upgrade, they can keep making old-style transactions as normal.
How did miners agree to SegWit?
SegWit was activated through miner signaling. Miners set a bit in the version field of the blocks they mine to show that they are ready. The rule needed 95% of the blocks in a period of 2,016 blocks, about two weeks, to signal.
The signaling window ran from 15 November 2016 to 15 November 2017. In late July 2017, every block in one full period signaled. The rules were then locked in for the next 2,016 blocks, and SegWit activated at block 481,824 on 24 August 2017.
Why did miners decide?
A soft fork works only if most of the mining power enforces the new rules. Blocks built under the new rules then outpace blocks from miners who stayed on the old rules. As a result, every node follows the same longest chain.
Miners were not the best judges of the design. They were needed for a smooth switch, because their majority keeps the whole network on one chain.
What happens if your node has not upgraded?
An old node still follows the chain. But SegWit peers strip the witness data from transactions before they send them to it. The old node sees where the coins moved, but not the signatures. Its copy of the chain is lighter, and it stays in sync.
Does SegWit change addresses?
For new addresses, it does. SegWit addresses start with bc1q and use bech32 encoding. Older addresses that start with 1 or 3 still work, and most modern wallets support both kinds.
How do you upgrade?
Current releases of Bitcoin Core support SegWit, and most wallets do too, so you do not need to do anything special to use it. The change was defined in BIP 141. BIP 144 describes how peers exchange witness data. The SegWit page covers the technical details.
SegWit also paved the way for Taproot, which went live at block 709,632 in November 2021.
Next, the data section starts with bytes, the unit that transactions and blocks are measured in.
In this section: Beginners
Something look wrong? Tell us