user725: If the network is under heavy use and transactions are being recorded in these blocks faster than normal, is there a cap on the size of the block?
Perhaps the rule is 20 second slot time, or a full block?
If this is the case, wouldn't a flooded network lead to decreased epoch time because of shortened slots?

user727: Expanding on Andrew's excellent answer with some examples.
The lowest amount of transactions that could be in a block is maxBlockBodySize / maxTxSize, currently equal to 4.
It might be more practical to consider the minimum & average transaction sizes on the network. Using cardano-graphql to query these numbers for transactions in epochs >= 250 gives 2 months of history and a sample of 2.2m transactions.

Minimum real-world TX size: 190
Average real-world TX size: 613

Applying these numbers to the formula, we can calculate that at most 344 minimum size transactions would fit in a block, and on average 107 transactions can fit in a block.
Using this average and the current value for activeSlotsCoefficient, now we find how many transactions could be included in blocks per day:
107 tx/block * 0.05 blocks/slot * 86400 slots/day = 462,240 tx/day

user375: Both the block size and the transaction size are defined as protocol parameters. These can be changed at any time by IOG, or voted on once we have Voltaire. Blocks come on average every 20 seconds, but the closest blocks can be currently is every second.
maxBlockBodySize is 65536 bytes and maxTxSize is 16384 bytes. As the network becomes more useful and congested, these parameters can be changed to accommodate the additional traffic.
We can also modify the activeSlotsCoefficient which is currently 0.05. By modifying this we can make blocks appear more frequently on average instead of 20 seconds.
Cardano has a verify flexible protocol so it can adjust quite a bit on its own before we need to worry about implementing hydra for additional scalability.
{
  "txFeePerByte": 44,
  "minUTxOValue": 1000000,
  "stakePoolDeposit": 500000000,
  "decentralization": 0,
  "poolRetireMaxEpoch": 18,
  "extraPraosEntropy": null,
  "stakePoolTargetNum": 500,
  "maxBlockBodySize": 65536,
  "maxTxSize": 16384,
  "treasuryCut": 0.2,
  "minPoolCost": 340000000,
  "maxBlockHeaderSize": 1100,
  "protocolVersion": {
      "minor": 0,
      "major": 4
  },
  "txFeeFixed": 155381,
  "stakeAddressDeposit": 2000000,
  "monetaryExpansion": 3.0e-3,
  "poolPledgeInfluence": 0.3
}


725: <p>If the network is under heavy use and transactions are being recorded in these blocks faster than normal, is there a cap on the size of the block?</p>
<p>Perhaps the rule is 20 second slot time, or a full block?</p>
<p>If this is the case, wouldn't a flooded network lead to decreased epoch time because of shortened slots?</p>
 727: <p>Expanding on Andrew's excellent answer with some examples.</p>
<p>The lowest amount of transactions that could be in a block is <code>maxBlockBodySize / maxTxSize</code>, currently equal to <strong>4</strong>.</p>
<p>It might be more practical to consider the minimum &amp; average transaction sizes on the network. Using <a href="https://github.com/input-output-hk/cardano-graphql" rel="noreferrer">cardano-graphql</a> to query these numbers for transactions in epochs &gt;= 250 gives 2 months of history and a sample of 2.2m transactions.</p>
<ul>
<li>Minimum real-world TX size: <em>190</em></li>
<li>Average real-world TX size: <em>613</em></li>
</ul>
<p>Applying these numbers to the formula, we can calculate that at most <strong>344</strong> minimum size transactions would fit in a block, and on average <strong>107</strong> transactions can fit in a block.</p>
<p>Using this average and the current value for <em>activeSlotsCoefficient</em>, now we find how many transactions could be included in blocks per day:</p>
<p><code>107 tx/block * 0.05 blocks/slot * 86400 slots/day</code> = <strong>462,240 tx/day</strong></p>
 375: <p>Both the block size and the transaction size are defined as protocol parameters. These can be changed at any time by IOG, or voted on once we have Voltaire. Blocks come on average every 20 seconds, but the closest blocks can be currently is every second.</p>
<p><em>maxBlockBodySize</em> is 65536 bytes and <em>maxTxSize</em> is 16384 bytes. As the network becomes more useful and congested, these parameters can be changed to accommodate the additional traffic.</p>
<p>We can also modify the <em>activeSlotsCoefficient</em> which is currently 0.05. By modifying this we can make blocks appear more frequently on average instead of 20 seconds.</p>
<p>Cardano has a verify flexible protocol so it can adjust quite a bit on its own before we need to worry about implementing hydra for additional scalability.</p>
<pre><code>{
  &quot;txFeePerByte&quot;: 44,
  &quot;minUTxOValue&quot;: 1000000,
  &quot;stakePoolDeposit&quot;: 500000000,
  &quot;decentralization&quot;: 0,
  &quot;poolRetireMaxEpoch&quot;: 18,
  &quot;extraPraosEntropy&quot;: null,
  &quot;stakePoolTargetNum&quot;: 500,
  &quot;maxBlockBodySize&quot;: 65536,
  &quot;maxTxSize&quot;: 16384,
  &quot;treasuryCut&quot;: 0.2,
  &quot;minPoolCost&quot;: 340000000,
  &quot;maxBlockHeaderSize&quot;: 1100,
  &quot;protocolVersion&quot;: {
      &quot;minor&quot;: 0,
      &quot;major&quot;: 4
  },
  &quot;txFeeFixed&quot;: 155381,
  &quot;stakeAddressDeposit&quot;: 2000000,
  &quot;monetaryExpansion&quot;: 3.0e-3,
  &quot;poolPledgeInfluence&quot;: 0.3
}
</code></pre>
