Native SegWit address

Segregated Witness, or SegWit, is the name used for an implemented soft fork change in the transaction format of the Bitcoin to scale network.

astrolabe black pen drawn

Developer Pieter Wiulle first presented the idea at the Scaling Bitcoin conference in December 2015.

Many hailed it as a long-awaited solution to bitcoin's scaling problem. The maximum block size in the main protocol is 1MB, which restricts the number of transactions bitcoin can process to approximately 7 per second. This was going to limit bitcoin's potential growth, and prevent it from becoming a usable high-volume payment system.

While the upgrade does enable a greater number of transactions in bitcoin's blocks, SegWit's initial intention was to fix a bug in the bitcoin code called transaction malleability. This flaw allowed anyone to change small details that modified the transaction id (and the subsequent hash) but not the content. While not a critical problem for bitcoin, it prevented the development of more complex features such as second-layer protocols and smart contracts.

SegWit fixed transaction malleability by removing the signature information (otherwise known as the "witness" information) and storing it outside the base transaction block. With that, signatures and scripts can be changed without affecting the transaction id.

Slimming down

A side benefit that is taking on a much greater importance is that, without the signature information, the transactions weigh much less. This means that more can fit in a block, and bitcoin can process a greater throughput without changing the block size.

SegWit introduced a new concept called "block weight." This is a mashup of the block size with and without the signature data, and is capped at 4MB, while the block size limit for the base transactions remains at 1MB. This means that the SegWit upgrade is compatible with the previous protocol, and avoids the need for a hard fork.

So, SegWit does not increase the block size limit, but it does enable a greater number of transactions within the 1MB blocks. The 4MB cap includes the segregated witness data, which technically does not form part of the 1MB base transaction block.

Bitcoin SegWit address prefixes

Example use Leading symbol(s) Example
SegWit mainnet (P2WPKH address) bc1 bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4
SegWit Testnet (P2WPKH address) tb1 tb1qw508d6qejxtdg4y5r3zarvary0c5xw7kxpjzsx
SegWit mainnet (P2WSH address) bc1 bc1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3qccfmv3
SegWit Testnet (P2WSH address) tb1 tb1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3q0sl5k7