4

BIP141 specifies the following:

https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#block-size

Block size

Blocks are currently limited to 1,000,000 bytes (1MB) total size. We change this restriction as follows:

Block weight is defined as Base size * 3 + Total size. (rationale[3])

Base size is the block size in bytes with the original transaction serialization without any witness-related data, as seen by a non-upgraded node.

Total size is the block size in bytes with transactions serialized as described in BIP144, including base data and witness data.

The new rule is block weight ≤ 4,000,000

1

1 Answer 1

3

Effectively, the theoretical maximum size is 3999997B although in practice this limit cannot be reached. In Bitcoin Core v0.15.1 the default value for blockmaxweight in block creation is 3996000B.

Using the following formula with a limit of block weight = 4000000 (yes, decimal MB):

Block weight = Base size * 3 + (Total size = Base Size + Extra size)

The limits are 4000000 = 1000000B * 3 + (1000000B + 0B) through 4000000 = 1B * 3 + (1B + 3999996B)

In practice, the Base size cannot be as low as 1B, for a single transaction we would expect the Base size to be at least several hundred Bytes and the associated Extra size to then be far below it's theoretical limit, however the theoretical maximum block size using the weight calculation extend from 1MB through to just short of 4MB in size, allowing for a traditional 1MB block with no Extra size through to a larger block containing solely Segwit transactions. The practical maximum size for a block containing solely Segwit transactions can only be estimated.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.