Skip to content
Basis Desk

New: Basis Desk Verify for Chrome & Firefox — fact-check crypto news on any page, free.Get the extension →

Bitcoin · 5 min read Last reviewed October 28, 2026

Segregated Witness (SegWit), Explained

Segregated Witness fundamentally changed how Bitcoin processes data by separating transaction signatures from base transaction data, fixing malleability and introducing block weight.

Editorial oversight: Julian Mercer, Chief Editor
Neutral

Key points

  • SegWit separates cryptographic signatures from base transaction data, preventing transaction malleability.
  • The upgrade replaced the 1MB block size limit with a system allowing up to 4 million weight units per block.
  • Witness data is discounted by 75% compared to base transaction data, reducing fees for users.
  • Native SegWit addresses use the Bech32 format (starting with bc1q) to improve error detection.

Segregated Witness, commonly referred to as SegWit, is a Bitcoin protocol upgrade implemented in 2017 to optimize how transaction data is stored and verified. By separating the cryptographic signatures from the primary transaction data, the upgrade resolved a longstanding vulnerability known as transaction malleability, expanded block capacity through a new weight system, and established the foundation for secondary scaling layers.

Before SegWit, every component of a Bitcoin transaction—the sender, the recipient, the amount, and the cryptographic signature proving ownership—was stored together in a single data structure. This design limited the network's throughput and created technical hurdles for developers attempting to build complex smart contracts or off-chain payment networks. SegWit reorganized this architecture, introducing fundamental changes to the protocol's mechanics without forcing a network-splitting hard fork.

The Transaction Malleability Problem

To understand the necessity of SegWit, one must first examine transaction malleability. When a user broadcasts a $BTC transaction, the network identifies that specific transfer using a unique cryptographic hash called a transaction ID (TXID). Before 2017, the cryptographic signature was included in the data used to calculate this TXID.

Because of how the cryptography was structured, a third party could mathematically alter the signature slightly before the transaction was confirmed in a block. This alteration would not change the transaction's outcome—the same amount of funds would still reach the same destination—but it would completely change the TXID.

This malleability made it nearly impossible to build reliable second-layer protocols, such as the Lightning Network, which rely on chaining unconfirmed transactions together. If a parent transaction's TXID changed before confirmation, all subsequent child transactions referencing that ID would become invalid. SegWit solved this by moving the signature (the "witness") outside of the data block used to calculate the TXID. Even if the witness data is modified, the TXID remains mathematically stable, allowing complex networks of unconfirmed transactions to function securely.

The Shift from Block Size to Block Weight

Originally, the Bitcoin protocol enforced a strict one-megabyte limit on block size to ensure the network remained decentralized and easy for individual users to validate. As adoption grew, this arbitrary limit caused significant congestion, driving up transaction fees.

Instead of simply increasing the block size—a contentious move that would require a backward-incompatible hard fork—SegWit replaced the concept of block size with weight units (WU). Under the SegWit rules, a block can contain up to 4 million weight units. This restructuring effectively increased the amount of data a block could hold while remaining completely compatible with older nodes that still enforced the one-megabyte rule.

Legacy nodes view a SegWit block as containing only the base transaction data, which remains under the one-megabyte limit. Upgraded nodes see the entire data structure, including the segregated witness data, processing the full capacity authorized by the four-million weight limit.

Understanding the Witness Discount

The introduction of weight units brought a structural fee incentive known as the witness discount. To encourage users to adopt the new transaction format and alleviate network congestion, SegWit prices data differently depending on where it is stored in the transaction.

Base transaction data (sender, receiver, amount) is heavy: each byte counts as four weight units. Witness data (the segregated cryptographic signature) is heavily discounted: each byte counts as only one weight unit.

To illustrate this, consider a worked numeric example. Assume a user creates a transaction requiring 100 bytes of base data and 100 bytes of signature data.

  • Under the legacy system, the entire 200 bytes are treated equally. The network calculates the weight by multiplying the total size by four: 200 bytes × 4 = 800 weight units.
  • Under the SegWit system, the data is separated. The 100 bytes of base data are multiplied by four (400 WU), and the 100 bytes of witness data are multiplied by one (100 WU). The total weight of the SegWit transaction is 500 weight units.

Because miners charge fees based on the amount of block space a transaction consumes, the SegWit transaction requires significantly lower fees to process, despite containing the exact same amount of raw information.

Native SegWit and Bech32 Addresses

The upgrade introduced a new address format to optimize how users interact with the network. While initial implementations wrapped SegWit transactions in legacy address formats (starting with a "3") to ensure immediate compatibility, developers eventually introduced Native SegWit addresses, governed by a standard called Bech32.

Bech32 addresses always begin with "bc1q". They are completely lowercase, eliminating the confusion between visually similar characters like the uppercase "O" and the number "0". More importantly, Bech32 incorporates an advanced error-detecting code. If a user mistypes a single character when entering an address, wallet software can automatically detect the error and prevent the funds from being sent into a cryptographic void.

These addresses maximize the efficiency of the witness discount, as they do not require the additional data overhead needed by backward-compatible wrapped addresses. Using Bech32 yields the lowest possible transaction fees on the base layer.

Common Misconceptions

There are several persistent misunderstandings regarding how the upgrade functions:

  • SegWit is often described as a 4-megabyte block size increase. This is mathematically possible only if a block contains absolutely nothing but witness data. In practice, standard transaction patterns result in an effective maximum block size of approximately 1.5 to 2 megabytes.
  • Many users believe SegWit forces transactions off-chain. SegWit itself is entirely an on-chain protocol upgrade. While it fixed the transaction malleability bug that made off-chain networks viable, SegWit transactions are permanently recorded on the base blockchain just like legacy transactions.
  • The upgrade is sometimes categorized as a hard fork. It was carefully engineered as a soft fork. Users who chose not to upgrade their software could still send, receive, and validate transactions without being partitioned onto a separate network.

How This Connects to the Market

SegWit restructured the economics of Bitcoin transaction processing. By introducing weight units and the witness discount, the upgrade directly altered how fees are calculated, allowing users to navigate The Bitcoin Mempool: How Unconfirmed Transactions Work more cost-effectively during periods of high demand.

From an institutional perspective, the malleability fix provided the cryptographic certainty required to build reliable layer-2 infrastructure. The Lightning Network, which settles instantaneous, low-fee transactions, relies entirely on the architectural foundations laid by SegWit. Furthermore, the upgrade established the technical precedent for subsequent protocol enhancements, including the Taproot upgrade, which further optimized signature aggregation and privacy.

Questions this story raises

What is transaction malleability?
Transaction malleability is a vulnerability where a third party can alter a transaction's cryptographic signature before confirmation, changing its transaction ID without altering the actual transfer of funds.
Did SegWit increase the Bitcoin block size?
Technically, SegWit replaced the absolute block size limit with a weight limit. While base data remains restricted to ensure backward compatibility, the inclusion of segregated witness data allows blocks to safely exceed the original one-megabyte limit.
What is a Bech32 address?
Bech32 is the address format created for Native SegWit transactions. These addresses start with 'bc1q', are all lowercase for readability, and include advanced error-checking to prevent typos.
Are SegWit transactions cheaper?
Yes. Because signature data is segregated and counted as only one weight unit per byte (compared to four for base data), SegWit transactions consume less block weight and incur lower miner fees.

References

  1. [1] Developer Guide: Block Chain — Bitcoin.org
  2. [2] BIP 173: Base32 address format for native v0-16 witness outputs — Bitcoin Developer Documentation
  3. [3] BIP 141: Segregated Witness (Consensus layer) — Bitcoin Developer Documentation

Evergreen explainer written by Basis Desk's system and checked by an independent model pass for factual errors and advice language. Figures, fees and rules change — the references above are where to verify current specifics. Market figures marked "at the time of writing" come from live exchange data. Report an error: corrections@basisdesk.news · corrections policy.

The Daily Brief, in your inbox at 07:00 ET

Five stories, the numbers that moved, what to watch. Three minutes. No hype, no advice, unsubscribe in one click.

Not financial advice. Basis Desk publishes information, not recommendations. Crypto assets are volatile and you can lose what you invest.