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.
Segregated Witness, or SegWit, is the name used for an implemented soft fork change in the transaction format of the Bitcoin to scale network.
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.
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.
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 |