2

Assuming a transaction size is T Bytes, while maximum block size is B Bytes, such that T>B.

What happens for this transaction?

It will be divided into two smaller parts and will be stored in two separate blocks? Or it will not be confirmed at all? Or A dynamic block size could be used ?

P.S. Although, actually maximum block size is 1 MB and seems to be enough for every transaction; however, we would like to know the strategy of the Bitcoin in such a situation.

Note: Since in addressed answer is mentioned: "What limits transaction size is cost." the question does not seem to be the same, where my question is not what is the maximum size of a transaction, but is what happens if size of a transaction is larger than maximum block size.

Murch
  • 75,206
  • 34
  • 186
  • 622
Questioner
  • 1,151
  • 8
  • 23
  • @Rene Pickhardt , Since in addressed answer is mentioned: "What limits transaction size is cost." the question does not seem to be the same, where my question is not what is the maximum size of a transaction, but is what happens if size of a transaction is larger than maximum block size. Thanks – Questioner Mar 04 '19 at 12:19
  • 3
    I feel this is not enough substance to be an answer, but generally things don't "happen" with a block. Transactions are included in blocks, or not, and the result must satisfy the network's rules. If there is no way to include a transaction in a block in a way that satisfies the rules, by definition it can't be included. – Pieter Wuille Mar 04 '19 at 16:58
  • yeah I saw this which is the reason why I also referred to an answer from there. Also the rest of the community seems to agree with you. I wasn't sure but I guess that is why it is not one moderator deciding but a voting (: – Rene Pickhardt Mar 04 '19 at 17:43

2 Answers2

6

what happens if size of a transaction is larger than maximum block size?

Then the transaction can never be included in a block.

There is no mechanism for dividing it up into multiple blocks, or anything like that. Any block that includes it would be invalid, since the block would become too large for the network's rules.

This may be of interest: Block 364292 is 999.9kb, but it only has two transactions: the coinbase transaction, and a massive consolidation transaction with thousands of inputs. I believe that pre-segwit, thats about the largest transaction you could possibly include in a block.

chytrik
  • 18,170
  • 3
  • 19
  • 48
5

Nick Odell answers the original question:

The maximum transaction size is the size of the block. Source.

and

Transactions larger than 100 kilobytes (including witness at a 75% discount rate) are non-standard. Source 1. Source 2.

so the case that you are describing will not occur as transactions lager than the blocksize will be sorted out.

Rene Pickhardt
  • 11,825
  • 8
  • 36