Tuesday, May 28, 2024

What are Bitcoin’s transaction and script limits?


A transaction that follows the consensus guidelines is a sound transaction. Nevertheless, some further guidelines had been launched which are known as standardness guidelines.

Bitcoin nodes solely relay (propagate) customary transactions. Thus the one option to mine a sound however non-standard transaction is by arranging it with a miner.

Transaction measurement restrict

The utmost measurement for legacy (or non-Segwit) transactions is 1 MB, successfully the entire block. The standardness restrict, nonetheless, is 100 kBs. For Segwit transactions the utmost measurement restrict is 4 MBs (the load restrict). Once more, standardness guidelines cut back that to 400 kBs.

The minimal measurement for legacy transactions is 65 bytes.

Inputs/Outputs restrict

Successfully, as many inputs and outputs because the person desires, supplied that it suits within the transaction measurement restrict.

Naked scripts restrict

Naked scripts have a measurement restrict of 10k bytes by consensus. Nevertheless, standardness guidelines explicitly specify the form of locking scripts allowed and the scripts are a lot smaller (e.g. P2PKH is 25 bytes, P2SH is 23 bytes, and so on).

P2SH scripts limits

P2SH scripts have a measurement restrict of 10k bytes by consensus. Standardness guidelines solely enable for 520 bytes for the redeem script although, which is sufficient for a 15-of-15 multisig. The utmost unlocking script (scriptSig) measurement is 1650 bytes.

P2WSH (Segwit v0) and P2SH-P2WSH limits

P2WSH scripts have a measurement restrict of 10k bytes by consensus. Standardness guidelines solely enable for 3600 bytes for the script witness. As well as, solely 201 non-push opcodes are allowed per script and solely 520 bytes might be pushed per stack component.

P2TR (Segwit v1) limits

As P2WSH however the script witness is now restricted solely by the transaction measurement (4MBs by consensus and 400kBs by standardness).

OP_RETURN DATA restrict

The consensus guidelines haven’t any restrict to an OP_RETURN measurement, i.e. the scale of the transaction is the restrict. One can even have multiple OP_RETURN in a transaction. Nevertheless, standardness guidelines specify that just one OP_RETURN output is allowed per transaction with a most information measurement of 80 bytes.

*EDIT: Particular miners can even apply native coverage guidelines along with the consensus guidelines. Since these are customized configurable guidelines they don’t seem to be record right here however an inventory of potential coverage guidelines might be discovered at https://github.com/bitcoin/bitcoin/tree/grasp/doc/coverage

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles