Skip to main content

What Is a “Witness” in the Context of SegWit Transactions?

The "witness" is a field introduced by the Segregated Witness (SegWit) upgrade that stores the transaction's signature and public key data. SegWit separates this data from the main transaction data, reducing the transaction's size in the block and addressing transaction malleability.

The witness data is still required for validation but is stored in a separate structure, which effectively increases the block capacity.

What Is the Concept of ‘Transaction Malleability’ and How Does Hashing Mitigate It?
What Role Does Transaction Malleability Play in UTXO-based Replay Concerns?
What Is a ‘Ring Size’ and How Does It Affect Transaction Privacy?
How Does the Segregated Witness (SegWit) Upgrade Affect the UTXO Model and Merkle Tree Structure?