← Back to Glossary

Block Weight

Block weight is the unit Bitcoin has used to measure block capacity since the segwit upgrade of August 2017. Every block is limited to 4 million weight units. Bytes of ordinary transaction data count as 4 weight units each, while bytes of witness data, the signatures moved outside the legacy structure by segwit, count as 1 weight unit each.

Why it matters

The weight system is how segwit increased capacity without a hard fork. Old nodes still see blocks under 1 megabyte of legacy-counted data and accept them, while upgraded nodes count the discounted witness bytes and accept blocks carrying roughly double the transactions. The discount also created deliberate incentives: signature data burdens the network less than output data, because witnesses can eventually be pruned and do not grow the UTXO set, so pricing it at a quarter of the weight encourages formats that are cheaper for the network to sustain.

Fees follow weight. Wallets quote fee rates in satoshis per virtual byte, where one virtual byte equals 4 weight units, which is why a native segwit transaction costs meaningfully less than a legacy transaction moving the same coins.

How it works

A transaction's weight equals its non witness size times 4 plus its witness size times 1. A block is valid only if the sum across all transactions stays at or below 4,000,000 weight units, giving typical modern blocks between 1.5 and 2 megabytes of raw data, and up to almost 4 for witness heavy content.

Ready to convert your gold to Bitcoin?

Get Your Free Kit →