4

I understand that the actual size limit of a transaction is determined by the block size, as we can see from this absolute unit. But transactions this large must be submitted directly to a mining pool because they will not propagate through the bitcoin network.

What limits prevent this transaction from being relayed? Is it configurable? What units are used (absolute size or weight units)? Is there an associated fee rate limit that also applies?

1 Answer 1

6

Bitcoin Core's standardness rules limit transactions to 100000 vbytes (or 400000 WU). Larger transactions are not relayed or added to mempools. Since they are consensus-valid, they are obviously acceptable if included in a block however.

The purpose of this rule is DoS protection against a few known (such as quadratic hashing) and possibly unknown ways to trigger excessive computation at validation/relay time. They also help block template building for mining, as it's easier to fill up a block with many small transactions as opposed to a few big ones (binpacking problem).

What limits prevent this transaction from being relayed?

Transactions size standardness limit.

Is it configurable?

Not in Bitcoin Core, no. Standardness limits are just a policy rule however; anyone can run any software, including software that doesn't have such a limit, or has it patched.

What units are used (absolute size or weight units)?

Weight units.

Is there an associated fee rate limit that also applies?

Independently, transactions whose feerate is below 1 satoshi per vbyte are not relayed either.

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.